{{tag>webadmin wordpress url migration web}} ====== Changer l'URL d'un site wordpress ====== Lors d'une migration ou d'un changement de nom de domaine, les URLs du site Wordpress doivent être mises à jour. Deux principales étapes: * Modifier les variables stockant l'adresse du site et la racine du CMS dans les paramètres généraux. * Mettre à jour les liens précédemment créés dans les différentes pages et mentionnant l'ancienne URL. L'outil en ligne de commande **wp-cli** permet de facilement répondre à cette problématique Après modification des variables, certains éléments sont mis à jour (menus, widgets, certains liens générés par les plugin) mais pas tous. ===== Installer l'outil wp-cli ===== Les détails de l'installation du binaire sont décrits dans la documentation Télécharger le fichier phar, cd /tmp wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar # Tester l’exécution du fichier php wp-cli.phar --info # Installer le binaire localement mv wp-cli.phar /usr/local/bin/wp chmod +x /usr/local/bin/wp # installer l'autocompletion bash cd ~ wget https://raw.githubusercontent.com/wp-cli/wp-cli/v1.5.1/utils/wp-completion.bash Une fois le binaire disponible sur le système, on l'utilise depuis la racine applicative du CMS: cd /var/www/html wp cache flush ===== Mise à jour des enregistrements ===== La commnande **search-replace** permet de mettre à jour facilement les liens créés dans les différentes publications. La colonne **guid** de la table **wp_posts** contient des URLs qu'il est important de **ne jamais modifier** même lors d'une migration. Vérifier bien la présence du modificateur **%%--skip-columns=guid%%**. wp search-replace 'dev-intranet.dmz.mairie-tournefeuille.fr' 'extranet.mairie-tournefeuille.fr' --skip-columns=guid --dry-run Une fois la commande vérifiée, retirer l'option **%%--dry-run%%** pour l’exécuter. ===== Références ===== * https://wordpress.org/support/article/changing-the-site-url/ * https://wp-cli.org/