{{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/