Migrer un blog sous WordPress

Logo WordPress

Vous hébergez un blog avec WordPress et souhaitez le déménager sur un autre domaine ? La première étape est aussi simple que la copie de fichiers. Ensuite, il faut copier la base de données. Enfin, il reste une dernière étape spécifique à WordPress. Il faudra en effet mettre à jour certaines données de la base de données.

La particularité de WordPress est de stocker beaucoup d’informations d’URL en base. Il faudra mettre à jour ces données et c’est assez facile si on connait les bonnes instructions et ce qu’il faut changer. Ceci va me permettre de revenir sur ces instructions.

Pré-requis

Faire ces modifications nécessitera d’exécuter quelques requêtes SQL. Il est donc nécessaire pour cet article de savoir comment les exécuter et globalement ce qu’est SQL, je ne rentrerai en effet pas dans ces détails.

Les modifications à apporter

Pour commencer, l’URL du site est stocké en base (certains outils utilisent un fichier de configuration). Il est indispensable de mettre à jour cette donnée. L’instruction SQL est la suivante.

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

Ensuite, c’est au tour des GUID (Global Unique IDentifier). Il s’agit des URLs de référence pour les articles. Ils sont utilisés par les lecteurs de flux RSS ou Atom. L’absence de cette mise à jour n’empêchera pas le bon fonctionnement de WordPress mais risquera de nuire à la visibilité du blog.

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

Enfin, il reste les liens dans les articles. WordPress gère les liens internes de manière absolue (complet, nom de domaine inclus). Ils doivent donc être mis à jour pour qu’ils pointent au bon endroit.

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

Une fois ces trois instructions exécutées, votre blog est fonctionnel sur son nouveau domaine.

Principe

Un petit mot sur le principe. Il s’agit évidemment de faire une mise à jour sur les différentes tables par l’instruction UPDATE. Mais ces instructions font appel à la fonction moins connue qu’est replace(). Replace prend trois arguments : la chaîne d’entré, le texte à remplacer et le texte de remplacement. Replace retournera donc la chaine d’entée modifiée. Cette modification est réalisée au niveau de la base. Dans le cas présent, elle permet en une action de mettre à jour une donnée en la modifiant.

Il est évidemment possible d’utiliser la fonction replace() lors d’un INSERT et même lors d’un SELECT (extraction de données). C’est donc une fonction qui peut être utilisée pour faire une réelle abstraction entre le stockage des données et leur manipulation. Pensez-y plutôt que de toujours déporter la transformation de données au niveau métier.

À propos de... Darko Stankovski

iT guy, photographe et papa 3.0, je vous fais partager mon expérience et découvertes dans ces domaines. Vous pouvez me suivre sur les liens ci-dessous.

Vous aimerez aussi...

Laisser un commentaire

En naviguant sur Dad 3.0, vous acceptez l’utilisation de cookies pour une navigation optimale et nous permettre de réaliser des statistiques de visites. Plus d'informations

Le blog Dad 3.0 utilise les cookies pour vous permettre une navigation optimale et nous permettre de réaliser des statistiques de visite. Dad 3.0 affichant des publicités, celles-si utilisent également des cookies pour un ciblage publicitaire. En continuant la navigation sur Dad 3.0, vous acceptez le dépôt et la lecture de cookies.

Fermer