Logo Ya-graphic : Création de boutique en ligne et référencement Google
Nous sommes à votre service pour vous proposer le meilleur service de référencement Google et de création de site e-commerce. Depuis 2008 nous apportons satisfaction à nos clients, qu'ils soient de France ou d'ailleurs.
3 av Adrien Mazet, Rés La Carraire, bât c - n°36, Miramas, FR
(+33) 06.52.64.70.04
contact@ya-graphic.com
Suivez YA-GRAPHIC

Migration WordPress : comment migrer son blog ?

Migration WordPress : comment migrer son blog ?

L’ancienne URL de mon blog était http://NEWS.ya-graphic.com. « NEWS » était le sous-domaine que j’avais mis en place pour rédiger des articles d’actualités, d’où son nom.

L’ancienne URL de mon site statique – il n’existe plus aujourd’hui – était http://WWW.ya-graphic.com. Ce site était à l’abandon, rarement mis à jour. Une migration WordPress a été nécessaire pour fusionner mon blog et mon site. J’ai donc migré le blog http://NEWS.ya-graphic.com vers http://WWW.ya-graphic.com. J’ai mis les sous domaines en évidence pour que vous compreniez qu’il s’agit d’une migration entre sous domaines. Cette solution de migration est aussi valable :

  • entre deux blogs de domaines différents,
  • entre un blog en sous domaine et un blog en répertoire,
  • entre un blog en domaine et un blog en répertoire,
  • etc.

Cette migration de blog WordPress est une méthode parmi d’autres, voici celle que je vous propose.

1. Migration WordPress

Pour commencer, ne vous précipitez pas. Partir sans penser à tout et ne rien anticiper, c’est risqué. Il faut d’abord prévoir toutes les manœuvres qui seront mises en place afin d’éviter les dégâts. Si c’est votre première fois, vous n’éviterez pas les problèmes. Si votre blog attire un trafic important vous pouvez consulter un spécialiste, c’est plus sûr.

2. Sauvegarde fichiers et dossiers du blog

D’abord et avant toute chose, faites une sauvegarde de tout le contenu de votre blog WordPress. Vous avez un logiciel FTP – FTP Expert ou FileZilla par exemples -, téléchargez tous les fichiers, les dossiers et sous dossiers WordPress et placez-les dans un dossier spécial que vous aurez préalablement créé sur le bureau de votre ordinateur. Le dossier le plus important de votre blog, le coeur de votre blog WordPress, c’est le dossier wp-content, n’oubliez pas, téléchargez-le. Après la copie intégrale de vos fichiers et dossiers, assurez-vous qu’il ne manque aucun fichier. Le logiciel FTP a peut-être négligé des fichiers. Faites la manipulation deux fois si nécessaire.

3. Sauvegarde base de données Mysql

N’oubliez surtout pas de faire une sauvegarde de votre base de données. Ce serait dommage de migrer un blog sans la totalité de son contenu. Pour faire cette sauvegarde, vous avez deux possibilités : soit vous vous rendez sur l’interface phpMyAdmin et vous faites un export de votre base de données, soit vous installez une extension WordPress pour faire une sauvegarde depuis votre blog.

Exporter votre base de donnée

Exporter votre base de donnée

4. Page de maintenance temporaire

Pendant votre travail de migration, installez une page temporaire sur la page d’accueil de votre ancien blog et sur le site destinataire avec un message de type : « Le site est en cours de maintenance » ou bien « des travaux sont en cours, veuillez nous excuser pour ce désagrément ». La page temporaire vous permettra d’éviter que des pages d’erreur s’affichent pendant que les utilisateurs visitent votre blog – ou votre site web si c’est un site statique.

5. Transfert des fichiers et dossiers

Comment feriez-vous pour migrer mon blog ? La première idée serait de transférer la totalité du contenu de mon ancien blog (« Mon Blog ») vers la racine du site « www ». Ce n’était pas ma démarche et il est préférable de ne pas la choisir.

L’erreur que j’ai commise a été de changer immédiatement – sans avoir désactivé les extensions – l’ancienne URL http://news.ya-graphic.com par la nouvelle https://www.ya-graphic.com dans les Options générales du panneau d’administration de WordPress. L’idée paraissait pourtant facile et je me suis laissé tenter. C’est une solution de migration que j’éviterai si une autre occasion de migration se présente car mon blog était resté inaccessible via le login. Cette option de redirection a créé un gros problème de résolution DNS. C’est donc une option que je déconseille.

Options générales de WordPress

La racine de mon ancien site statique a été vidée de tout son ancien contenu, seuls le répertoire de mon ancien blog « news », une page index – en guise de message de maintenance, c’est facultatif – et d’autres répertoires étaient restés en place. J’avais au préalable copié les fichiers et dossiers – pages html, images jpg – de l’ancien site statique www.ya-graphic.com.

Dans la racine « www », j’ai re-installé le pack WordPress version française – procédure habituelle d’installation -. J’y ai placé mon ancien fichier wp-config.php – celui que j’ai sauvegardé, avec biensûr les mêmes identifiants de ma base de données. Ensuite j’ai re-placé mon ancien thème. N’oubliez pas placer aussi le dossier wp-content que vous aviez sauvegardé sur votre ordinateur. Wp-content contient toutes vos images, extensions, votre thème, etc. En bref vous reconstruisez tout votre blog en mettant à jour toutes les modifications antérieures.

Le transfert de votre blog devrait être réalisé.

6. Modifications d’URLs

Votre blog a été migré. Il faut maintenant modifier toutes ses URLs dans la base de données. Allez dans phpMyadmin pour faire une mise à jour des URLs de vos articles publiés – ou au brouillon. Voici la première commande à entrer dans MySQL, attention soyez vigilants :

UPDATE wp_options SET option_value = replace(option_value, ‘http://www.mon-ancien-blog.com’, ‘http://www.mon-nouveau-blog.com’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;

Ce code remplace les références à – ancienne URL – par la nouvelle adresse de mon blog dans la table wp_options.

Ensuite il faut changer l’URL relative des billets dans la table wp_posts :

UPDATE wp_posts SET guid = replace(guid, ‘http://www.mon-ancien-blog.com’, ‘http://www.mon-nouveau-blog.com ‘);

Et pour terminer, il faut effectuer un rechercher/remplacer dans vos contenus pour vous assurer qu’aucun lien en URL absolue ne traîne avec l’ancienne adresse.

UPDATE wp_posts SET post_content = replace(post_content, ‘http://www.ancien-site.com’, ‘http://www.nouveau-site.com’);

Mise à jour url wordpress MySQL

7. Redirection permanente (301)

Vérifiez que votre site est accessible depuis votre nouvelle URL. Dans les résultats naturels de votre moteur de recherche favori vos anciennes URLs sont toujours affichées, c’est normal. Si quelqu’un clique sur un de vos liens, l’URL de votre blog risque de mener le visiteur vers une page d’erreur. Pour éviter cela il faut créer une redirection des anciennes URLs de vos articles vers les nouvelles URLs. Ainsi vous éviterez de perdre votre trafic – nombre de visites – et surtout votre classement dans les résultats de recherche.

Vous devez mettre en place une redirection permanente appelée aussi « redirection 301 ». OVH propose gratuitement un service de redirections permanentes, « redirections 302 », ne les utilisez pas car les robots des moteurs de recherche ne les apprécient guère. OVH ne vous dit pas que ce sont des redirections 302, mais on peut le savoir en faisant une analyse des en-têtes HTTP du blog. Vous pouvez télécharger une petite extension pour le navigateur Firefox afin d’identifier vos redirections : HttpFox. Cette extension surveille et analyse toutes les entrées et sorties du trafic HTTP entre votre navigateur et les serveurs web.

Pour réaliser une redirection 301, dans le répertoire du sous domaine vous devez placer un fichier .htaccess. Un fichier .htaccess est un simple fichier texte que vous renommez par « .htaccess » – sans extension de fichier, n’oubliez pas le « . » devant « htaccess ». Ces fichiers peuvent aussi servir à configurer vos pages d’erreur 404 ou à empêcher l’affichage du contenu d’un dossier. Voici ce que vous y noterez :

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mon-ancien-blog.com
RewriteRule ^(.*) http://www.mon-nouveau-blog/$1  [QSA,L,R=301]
Redirection 301 des anciens liens du site www.ya-graphic.com

Pour faire la redirection des pages, voici le code à ajouter à votre fichier .htaccess :

RewriteRule ^ ancienne-page\.html$ [R=301,L]

IMPORTANT: La redirection 301 du fichier .htaccess ne fonctionne que pour sites hébergés dans des serveurs Linux ayant le module Apache Mod-Rewrite activé.

[divide style=”2″]

Si vous avez besoin d’aide dans votre travail de migration de blog WordPress, n’hésitez pas à laisser un message sur la page contact du blog, une réponse vous sera envoyée dans les meilleurs délais.

Yassine A.

Professionnel du SEO et du Webmarketing depuis plus de 10 ans. J'apporte PLUS de visibilité et PLUS de ventes aux entreprises, agences, startups et micro-entrepreneurs que j'accompagne. Certifié Google. Mes spécialités sont le référencement naturel (SEO) et la création de site E-commerce.

Commentaires : 23

  • Antoine
    25 mars 2009 15 h 03 min

    Dis-donc tu as mis plusieurs jours à relancer ton blog? J’ai cru qu’il était down définitivement. Rassuré de le voir de retour en tout cas 😉

  • Antoine
    26 mars 2009 14 h 40 min

    C’est bizarre, je suis également chez 1and1 mais moi il me renouvelle automatiquement mes ndd (sans que je lui demande d’ailleurs…).

  • Sab
    28 octobre 2010 2 h 44 min

    Bonsoir

    Je n’arrive pas à aller au bout de ma mise à jour de dotclear vers wordpress.

    De mon côté Dotclear était à la racine. J’ai installé WordPress dans un répertoire blog

    Mes anciens url :
    http://www.monsite.com/index.php/2009/10/07/551-titre

    Mes nouveaux url :

    Comment faire la redirection en supprimant le nom du répertoire dans l’adresse ?

    Merci par avance !

  • Harold
    31 août 2011 19 h 27 min

    Bonjour,

    Je n’y connais pas grand chose en dev mais j’ai suivi l’ensemble de vos étapes et je bloque à l’étape 6.
    J’ai un msg d’erreur de syntaxe.

    “Il semble qu’il y ait une erreur dans votre requête SQL. Le message ci-bas peut vous aider à en trouver la cause.

    ERROR: Ponctuation invalide @ 65
    STR: ://
    SQL: UPDATE wp_options SET option_value = replace(option_value, ‘http://localhost:8888/wordpress’, ‘http://letsbuzzit.com’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’

    requête SQL:

    UPDATE wp_options SET option_value = replace(option_value, ‘http://localhost:8888/wordpress’, ‘http://letsbuzzit.com’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’

    MySQL a répondu:Documentation
    #1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘://localhost:8888/wordpress’, ‘http://letsbuzzit.com’) WHERE option_name =’ at line 1 ”

    Avez vous une idée d’où l’erreur peut provenir??

      • Harold
        31 août 2011 20 h 07 min

        Oui c’est bien ça

  • Harold
    1 septembre 2011 15 h 20 min

    Pour ceux qui rencontreront le même problème que moi:

    J’ai résolu le prob avec l’aide d’un ami… Problème avec les guillemets [‘]. Il faut des backquotes [`].

  • vanessa
    6 décembre 2011 15 h 14 min

    Bonjour,
    Les modifications de redirection fonctionnent cependant mes liens renvoient tous vers ce message
    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, postmaster@www.grandbornand-location.fr and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.

    Pouvez vous m’aider, svp.

    Merci beaucoup.

      • vanessa
        6 décembre 2011 15 h 21 min

        oui, tout à fait.

  • vanessa
    6 décembre 2011 15 h 47 min

    apparemment c’est un pb au niveau de .htaccess
    :-s

  • vanessa
    6 décembre 2011 16 h 06 min

    Quand je modifie le .htaccess le message change.

    Si je met seulement dans le .htaccess :
    SetEnv PHP_VER 5
    DirectoryIndex index.php
    Cela me mets : The requested URL /appartement/ was not found on this server.

    En revanche si je laisse
    SetEnv PHP_VER 5
    DirectoryIndex index.php

    # BEGIN WordPress

    RewriteEngine On
    RewriteBase /gblocations/
    RewriteRule ^index.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /gblocations/index.php [L]

    # END WordPress
    La j’ai le message erreur 500.

    C’est certainement un pb de rewrite mais j’en suis pas sur.

  • vanessa
    6 décembre 2011 16 h 09 min

    Ca remarche je ne comprends pas pourquoi mais merci de votre aide.

  • Stephanie
    17 janvier 2012 1 h 53 min

    Merci pour cet article, qui m’a aidée à mettre en ligne mon portfolio sans (trop de) problèmes 🙂

  • rems
    7 juin 2012 17 h 39 min

    Merci pour les infos, ca m’a bien aidé, surtout les commandes sql pour ré écrire les url!!

  • Guillaume
    3 novembre 2012 4 h 14 min

    Bonjour,
    J’ai bien suivi votre procédure sauf que je duplique mon blog pour faire une copie de l’original (à la racine de mon hébergement (répertoire www/)) sur un sous-domaine.
    Cependant, la procédure bloque à son terme, quand je souhaite accéder à la page wp-admin de mon sous-domaine (blog dupliqué). J’entre mon identifiant et mot de passe et rien se se passe quand je valide, je retombe sur la page de connexion.

    Avez-vous une idée?

  • Steeve89
    16 janvier 2013 10 h 27 min

    Il manque au tutoriel la partie concernant le dossier upload de wp-content.
    Faut pas oublié qu’un blog contient des images.
    Ce dossier est également à importer.

    Cordialement Steeve

      • Steeve89
        16 janvier 2013 13 h 37 min

        Oui en effet tu n’a pas tord 😉
        Tant qu’on y est on peut également prendre tout le dossier du blog et modifier le fichier wp-config.php 😉 puis passer sur les modufs sur la base de données.
        Bref les solutions sont nombreuses 😉

  • Jean64
    2 février 2013 15 h 39 min

    Bonjour, je viens de finir un site pour un client que j’héberge dans un sous-dossier de mon site pro (chez OVH).
    Mon client a acheté une adresse (www.dejavu-biarritz.com également chez OVH) pour son site. Etant encore un peu débutant j’ai opté pour une simple redirection web pour faire pointer son nom de domaine vers le site que j’héberge.
    la page d’accueil s’affiche très bien mais lorsque l’on veut naviguer à travers le menu on tombe à chaque fois sur une erreur 500.
    J’ai appelé OVH qui m’a juste dit de me débrouiller (sympa).
    Je ne sais donc pas ou je dois corriger le script….
    Avez-vous une idée ?

Ce n'est pas possible de commenter pour le moment.