WordPress : Modifications à effectuer en cas de migration vers une nouvelle adresse web

Lors d’une migration d’un site WordPress d’une url vers une nouvelle, il y a certains changements à effectuer côté base de données et serveur, ainsi il faudrait changer toutes les adresses enregistrées en base pour les faire rediriger vers le nouveau site. Cette manipulation est également fonctionnelle quand on va mettre son site en production après avoir l’avoir tester en localhost.

Il faut ajouter un fichier .htaccess à la racine de l’ancien site qui fera pointer toutes les url entrantes vers la nouvelle adresse

RewriteEngine on 
RewriteRule ^(.*)$ http://www.nouveau-site.com/\ [R=301,L]

Une fois l’ancienne base de données importée dans le nouveau site, il suffit d’exécuter les commandes suivantes en prenant soin d’indiquer les bonnes adresses web à la place de ancien-site et nouveau-site

# Changer l'URL du site
UPDATE fz_options
SET option_value = replace(option_value, 'http://www.ancien-site.com', 'http://www.nouveau-site.com')
WHERE option_name = 'home'
OR option_name = 'siteurl';

# Changer l'URL des GUID
UPDATE fz_posts
SET guid = REPLACE (guid, 'http://www.ancien-site.com', 'http://www.nouveau-site.com');

# Changer l'URL des GUID
UPDATE fz_posts
SET guid = REPLACE (guid, 'http://www.ancien-site.com', 'http://www.nouveau-site.com');

# Changer l'URL des médias dans les articles et pages
UPDATE fz_posts
SET post_content = REPLACE (post_content, 'http://www.ancien-site.com', 'http://www.nouveau-site.com');

UPDATE fz_posts
SET post_excerpt = REPLACE (post_excerpt, 'http://www.ancien-site.com', 'http://www.nouveau-site.com');

# Changer l'URL des données meta
UPDATE fz_postmeta
SET meta_value = REPLACE (meta_value, 'http://www.ancien-site.com', 'http://www.nouveau-site.com');

# Changer l'URL des options
UPDATE fz_options
SET option_value = REPLACE (option_value, 'http://www.ancien-site.com', 'http://www.nouveau-site.com');