Migrer WordPress

Si vous avez installé WordPress dans un répertoire, vous vous êtes peut-être un jour posé la question suivante : “et si je transférais tout à la racine du domaine ?”.

Si c’est le cas, sachez que cette migration ne prend que quelques minutes. 20 minutes environ sont nécessaires et les anciens liens seront redirigés automatiquement vers les nouveaux, sans risque d’erreur 404.

Le codex a bien une page qui explique comment migrer WordPress mais il y a beaucoup plus simple et moins risqué : je vous propose donc 5 étapes et non 12.

Etape 1 : sauvegarde des fichiers et de la base de données

Commencez par faire une sauvegarde de tous vos fichiers et de votre base de données. Si jamais quelque chose tournait mal, vous pourriez toujours revenir à la situation précédente. Je vous conseille même de copier votre base de données vers une nouvelle base de données si vous en avez la possibilité.

Etape 2 : mise à jour de la nouvelle adresse dans la base de données

Sur cette nouvelle base de données, remplacez :

http://www.votresite.com/votreblog

par :

http://www.votresite.com

Notez l’absence de slash final (/). J’ai exporté ma base au format .sql, effectué le changements d’URL avec Notepad++ puis réimporté la base de données. Selon la taille de votre blog, cela peut représenter quelques milliers de remplacements (environ 4 000 pour SkyMinds.Net). On considère que la base de données est désormais prête.

A lire :  Serveur dédié : mise en place du protocole DANE

Etape 3 : édition du fichier de configuration WordPress

Nous allons maintenant nous occuper du fichier de configuration WordPress. Editez wp-config.php et mettez à jour les paramètres de connexion à la nouvelle base de donnée. Ensuite, si ces lignes n’existent pas, ajoutez-les :

define('WP_SITEURL', 'http://www.votresite.com'); 
define('WP_HOME', 'http://www.votresite.com'); 

Ajouter ces deux lignes directement dans le fichier de configuration nous évite d’avoir à changer ces valeurs depuis l’interface d’administration, ce qui amène souvent à des erreurs. C’est plus simple et cela met à jour la base de données automatiquement. Ces deux nouvelles options ont été ajoutées dans WordPress 2.2.

Etape 4 : copie des fichiers à la racine du domaine

Copiez ou déplacez tous les fichiers de votre installation WordPress vers la racine de votre domaine. Assurez-vous d’avoir déplacé les fichiers qui s’y trouvaient au préalable afin de ne perdre aucun fichier (comme le .htaccess précédent par exemple). Le déplacement des fichiers via FTP ne prend que quelques secondes.

Note : jetez un coup d’oeil au site – si vous apercevez des signes cabalistiques en lieu et place des accents ou caractères spéciaux, éditez wp-config.php et commentez la ligne DB-CHARSET comme ceci :

//define('DB_CHARSET', 'utf8');

Etape 5 : mise à jour des permalinks

Il vous reste maintenant à mettre à jour vos permalinks car ils reflètent encore votre ancienne installation. Allez dans Réglages > Permaliens (Settings > Permalinks dans la version anglophone) dans l’administration de WordPress et choisissez une structure identique à celle que vous aviez précédemment. Cela aura pour avantage de rendre la redirection de l’ancien blog plus aisée.

Pour rediriger tous vos anciens liens, il suffit d’éditer le fichier .htaccess à la racine de votre domaine et de placer le code suivant au début du ficher :

 # Redirection du blog vers la racine (par Matt - www.skyminds.net)
RewriteEngine On
# On redirige tous les liens
Redirect permanent /votreblog/ http://www.votresite.com/

Pour ceux qui sont préoccupés par leur référencement, sachez que Google a réindexé tout notre contenu en moins de deux jours grâce à cette redirection. Plutôt pratique et complètement transparent pour l’utilisateur !

A lire :  Le pouvoir des flux RSS

Voilà, tous vos liens sont désormais redirigés silencieusement vers leur nouvel emplacement et les flux RSS ne subissent aucune interruption. Il ne vous reste plus qu’à vous assurer qu’il n’existe aucune référence à votre ancienne URL : regardez du côté des fichiers de votre thème ou dans les plugins ‘faits maison’. Les oublis éventuels pourront être tracés via les fichiers logs du serveur.

Bonne migration !

Si vous avez trouvé une faute d’orthographe, veuillez nous en informer en sélectionnant le texte en question et en appuyant sur Ctrl + Entrée.

Vous souhaitez réaliser un nouveau projet WordPress ou WooCommerce, ou ajouter de nouvelles fonctionnalités? Ou améliorer les performances de votre site?

Parlons de votre projet »

Articles en rapport:

20 Comments

  1. Avatar

    Salut, merci pour le tuto.

    J’ai un problème avec la table wp_commentmeta lorsque j’importe ma base de données modifiée :
    Error #1062 – Duplicate entry ‘1216’ for key ‘PIMARY’

    Sais-tu comment régler ça ?

    Merci :)

    Bonne journée

  2. Avatar

    Salut, Super tuto merci. J’ai déjà utilisé pour plusieurs migrations et jusqu’à aujourd’hui aucun soucis !

    Seul hic aujourd’hui justement… J’ai réalisé la migration comme d’habitude, le site fonctionne correctement mais je n’arrive plus à me connecter à l’admin ! J’essaye donc de changer mon mot de passe , toujours rien.

    En fait j’ai l’impression qu’il fait une boucle. Il se connecte et reviens sur la page d’admin… Impossible de se reconnecter.

    Tu vois d’où ça peut venir ?

    Merci d’avance. Bonne journée.

    • Avatar

      Pour info j’ai trouver la solution.
      Si jamais ça vous arrive comme moi, il suffit juste, tout en haut de votre wp-config.php de rajouter cette ligne

      @define(‘ADMIN_COOKIE_PATH’, ‘/’);

      Et ça marche parfaitement !

      Bonne migration.

      • Matt
        Matt

        Merci pour l’astuce Drag!

        J’allais te demander si tu avais touché à la configuration des cookies mais je ne connaissais pas cette variable. Cela en aidera plus d’un(e), merci :)

  3. Avatar

    Merci ! ca marche. Une dernière question.
    J’ai un site expiré. J’ai racheté le ndd. Je sais qu’il y avait pleins de pages qui recevaient du trafic. Au lieu de tout refaire à zero, je veux faire une redirection de l’ensemble des anciennes pages du site vers la home du nouveau site.
    Comment est ce possible ?
    Est ce que je dois faire une redirection de ce genre:

    Redirect 301 / http://www.example.com/

    ?

    Merci

    • Matt

      Salut,

      Il faut rediriger vers une page directe, celle de l’index, comme ceci :

      Redirect 301 / 

      sinon, cela renverra vers des pages inexistantes (selon l’ancienne structure).

  4. Avatar

    non ce que je veux faire c’est deplacer le blog qui est a la racine dans le repertoire blog et a la racine faire une page de presentation mais rien a voir avec le blog

    • Matt

      Ah, je vois. Essaie ceci :

      RewriteCond %{REQUEST_URI} !^index.(.*)?$
      RewriteCond {REQUEST_FILENAME} !-d
      RewriteRule ^/(.*)$ http://%{SERVER_NAME}/folder/$1 [L,R]
  5. Avatar

    Bonjour Matt,

    Je veux migrer mon site aaaa .fr dans un répertoire aaaa .fr/blog .

    Je dois donc faire la meme manipulation que toi mais au niveau du htacess comment ca se passe ?

    • Matt

      Salut Alex,

      Tu peux faire comme ça :

      Redirect 301 / 

      Cela réécrira toutes les requêtes de la racine vers le dossier /folder/

  6. Avatar

    Super clair merci; j’ai une question en option : j’ai un sous dossier de mon domaine principal ; donc je comprends la manip et j’adore l’info sur le wp-config (qui a sauvé mon site qui avait changé de répertoire). mais… je souhaite atteindre directement http://luc-uyttersprot.fr pour toutes les pages. Sans écraser le contenu de 1formane.com qui a son propre wordpresset son index.

    • Matt

      Bonjour Sylvie,

      Vous voulez que toutes les pages du site soient redirigées sur http://luc-uyttersprot.fr ? Cela dépend de votre hébergement :

      – si vous pouvez héberger plusieurs sites et noms de domaine : créez l’espace pour http://luc-uyttersprot.fr, copiez tous les fichiers qui se trouvaient dans – ensuite, sous éditez le fichier .htaccess et ajoutez cette ligne en tête du fichier :

      RedirectPermanent / http://luc-uyttersprot.fr/

      – si votre hébergement ne permet d’héberger qu’un seul site, il vous faudra prendre un nouvel hébergement pour luc-uyttersprot.fr et répéter la procédure ci-dessus dans le nouvel espace.

  7. Avatar

    Bonjour,

    Merci pour votre aide. Tout a fonctionné, il y a juste la dernière étape que me bloque. Je ne vois pas qu’est ce que vous voulez dire par : “Allez dans Administration > Options > Permalinks et choisissez une structure identique à celle que vous aviez précédemment”

    A quel endroit exactement je peux trouver cela ? Si c’est dans l’administration wordpress je ne le vois pas… Merci de m’éclairer :-)

    Bon weekend !

    • Matt

      Bonjour,

      Cela a changé depuis – cela se trouve maintenant sous Réglages > Permaliens (Settings > Permalinks dans la version anglophone) dans l’administration de WordPress.

    • Matt

      Bonjour,

      Tout à fait, c’est la même chose lorsque l’on change de domaine.

Écrire un commentaire

Spelling error report

The following text will be sent to our editors: