Migration de données WordPress

Changer le nom de domaine d’un site WordPress est une opération sensible, mais vous pouvez en avoir besoin. Par exemple, lorsque vous créez un nouveau site sur un serveur de développement (comme http://dev.company.net) et que vous souhaitez le mettre en ligne. Ou encore pour un nom de domaine qui reflète mieux votre image.

La migration d’un site WordPress grâce à des requêtes SQL permet de changer le nom de domaine de votre site ou de le changer de répertoire. Elle permet également de passer d’une version de développement de votre site (en local ou non) vers une version en production et inversement.

Attention : bien que nous ayons testé ces requêtes SQL, il est recommandé de faire une sauvegarde complète de vos données avant toute manipulation.

Ces requêtes ont été testées avec succès de la version 3.0, jusqu’à la version 4.7 de WordPress.

WordPress stocke bien souvent en base de données des liens absolus (par exemple : http://www.ancien-domaine.com/page/) qui nécessitent d’être réécrits lors du passage à une nouvelle adresse URL. Bien qu’il existe plusieurs plugins permettant cette migration, il peut être aussi simple de réaliser directement les manipulations en SQL et tout aussi rapide.

Dans les requêtes ci-dessous, nous utilisons le préfixe wp_ devant les noms des tables. Ce préfixe a pu être changé, notamment pour des raisons de sécurité, sur votre site.

Quatre requêtes SQL pour changer le nom de domaine de votre site

Il suffit généralement de quatre requêtes SQL pour changer l’adresse de votre site.

Dans la table wp_options, les options home et siteurl contiennent l’adresse de votre site.

UPDATE wp_options
SET option_value = REPLACE(option_value, 'http://www.ancien-domaine.com', 'http://www.nouveau-domaine.com')
WHERE option_name IN ('home', 'siteurl');

Dans la table wp_posts, la colonne guid (Global Unique Identifier) est un identifiant unique de votre article ou page. Vos contenus dans la colonne post_content contiennent probablement des liens vers d’autres articles ou pages de votre site, ou intègrent des médias (images, documents) avec des URL absolues.

UPDATE wp_posts
SET guid = REPLACE (guid, 'http://www.ancien-domaine.com', 'http://www.nouveau-domaine.com');
UPDATE wp_posts
SET post_content = REPLACE (post_content, 'http://www.ancien-domaine.com', 'http://www.nouveau-domaine.com');

Pour finir, dans la table wp_postmeta, vous trouverez les méta-données à vérifier.

UPDATE wp_postmeta
SET meta_value = REPLACE (meta_value, 'http://www.ancien-domaine.com','http://www.nouveau-domaine.com');

Finaliser votre migration

Certains thèmes ou plugins inscrivent également l’adresse de votre site dans leurs options. Il est important de vérifier dans les différentes tables de votre site que toutes les occurrences ont été remplacées.

Parcourez également les différentes pages de votre site migré afin de vérifier son bon fonctionnement.

Un plugin pour vous aider

Si vous souhaitez réaliser votre migration grâce à un plugin, vous pouvez utiliser WP Super Backup.

WP SuperBackup

Cette liste de requêtes pour changer le nom de domaine de votre site n’est pas exhaustive. Elle répond aux besoins d’un site assez simple. N’hésitez pas à partager vos remarques dans les commentaires de cet article.

0 réponses

Laisser un commentaire

Participez-vous à la discussion?
N'hésitez pas à contribuer!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *