WordPress a eu la bonne idée d’écrire le chemin absolu des images (et plus) dans sa base de donnée.
Ce qui pose un gros problème lorsqu’on change de nom de domaine pour les raisons suivantes:
- nouveau nom du site
- changement de domaine ou sous-domaine
- passage d’un domaine de test à un domaine de prod
- etc.
Alors comment on fait pour se sortir de là ?
On récupère le dump de la BDD, on fait des replace et on ré-importe.
Vous trouverez les 4 requêtes sql à passer (ouf, pas si lourd finalement) dans les liens suivants:
# Changer l'URL du site UPDATE wp_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'; # Ou plus généralement UPDATE wp_options SET option_value = replace(option_value, 'http://www.ancien-site.com', 'http://www.nouveau-site.com'); # Changer l'URL des GUID UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.ancien-site.fr', 'http://www.nouveau-site.fr'); # Changer l'URL des médias dans les articles et pages UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.ancien-site.fr', 'http://www.nouveau-site.fr'); # Changer l'URL des données meta UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://www.ancien-site.com','http://www.nouveau-site.com');
J’ai testé, ça marche ! 🙂