Corriger les url des images après une migration WordPress

Aujourd’hui une petite requête SQL fort utile lors d’une migration d’un site WordPress d’un hébergeur à l’autre ou bien lors de la mise en ligne du serveur de développement au serveur final de production.

Une migration WordPress consiste d’abord à transférer les fichiers de notre site via FTP puis réimporter la base de données vers son nouvel emplacement. Ensuite, on connecte les fichiers avec la base via le fichier wp-config.php dans lequel on rentre les informations de connexion à la nouvelle base. Pour terminer, on doit également changer dans la nouvelle base de données, via phpmyadmin, l’url du nouveau site (table wp_options).

Si tout va bien, le site est normalement fonctionnel à ce moment là. Cependant, il arrive assez régulièrement, d’après mon expérience, que les liens vers les images soient cassés et que les images ne s’affichent plus, bien qu’elles soient présentes sur le serveur.

Il faut donc à ce moment là corriger toutes les urls des images pour qu’elles correspondent au nouveau serveur. C’est ici que la requête suivante entre en action, à éxécuter dans le panneau SQL de phpmyadmin :

UPDATE wp_posts SET post_content=(REPLACE (post_content, ‘<old url>’,'<new url>’));

Remplacez bien <new url> et <old url> par vos url respectives.

La requête demande de mettre à jour dans la base le contenu des articles et pages en remplaçant l’ancienne url (<old url>) par la nouvelle (<new url>).

Par exemple, une image dont l’ancienne url est http://www.monsite.fr/wp-content/uploads/mon-image.jpeg deviendra http://www.nouveausite.com/wp-content/uploads/mon-image.jpeg et l’image s’affichera sans problème.

Voilà, c’est un petit truc utile pour régler un des multiples problèmes pouvant survenir lors d’une migration WordPress.

Archives