Changer le nom de domaine d’un site wordpress hébergé sur un mutualisé OVH

Ce blog a déménagé très récemment du domaine http://vincent.recipon.fr à http://www.vrdigitalworld.com. Ce transfert a pris quelques longues soirées, du fait de petits problèmes pour lesquels je ne trouvais pas la réponse sur le web, même si il s’agissait finalement de problèmes simples.  Ces difficultés sont en partie liées aux particularités de l’offre serveur mutualisé OVH.
La méthode que j’ai employée est un peu empirique et peut clairement être améliorée, mais elle fonctionne et répond aux problématiques que j’ai rencontrées.

Cette article va décrire les étapes qui ont permis de transférer le site, et je l’espère permettre à certains d’éviter les même problèmes. A noter que j’ai décidé de ne pas utiliser l’option multisite à présent disponible dans wordpress. Je souhaitais garder une copie non modifiée du site source jusqu’à la fin de la procédure.

Les pages web de référence

Voici les pages qui m’ont aider à effectuer ce changement de nom de domaine :

Les spécificités de l’offre serveur mutualisé OVH

Cette offre impose quelques contraintes techniques :

  • un seul répertoire www pour stocker ses sites.
    Si vous souhaitez héberger plusieurs sites il vous faut l’installer dans des sous répertoires différents ( www/site1, www/site2).
    Cela implique de ne pas utiliser la fonction d’installation simplifiée wordpress  proposée par OVH mais de réaliser l’installation de façon classique
  • Une seule base de donnée pour tous les sites
    En général on utilise une base de donnée différente par site, en l’occurence ce n’est pas possible. Chaque site wordpress doit donc avoir des tables qui se différencient par leur préfixe. Oubliez donc le préfixe par défaut (« wp_ ») lors de l’installation de votre site wordpress mais choisissez un préfixe différenciant pour chaque installation.

Les étapes à réaliser

Le transfert de nom de domaine doit se faire en prenant le moins possible de risques. Pas question donc de toucher au site original. Nous allons le dupliquer pour l’utiliser avec le nouveau nom de domaine et travailler avec cette copie. Voici les étapes du transfert :

  1. Acheter un nouveau nom de domaine
  2. Dupliquer le répertoire du site originel wordpress vers un nouveau répertoire
  3. Configurer le DNS OVH avec votre nouveau nom de domaine
  4. Dupliquer les tables mySQL du site originel
  5. Changer les paramètres de base du nouveau site
  6. Accéder au site de votre nouveau domaine
  7. Changer tous les liens dans les articles et commentaires
  8. Vérifier l’ensemble du site et s’assurer que tout fonctionne
  9. Configurer l’indexation de votre nouveau site
  10. Faire un renvoi depuis votre ancien domaine vers le nouveau

Description des étapes

1. Acheter un nouveau nom de domaine

S’agissant de sortir de l’argent, les choses sont forcément simples. Je n’épiloguerai donc pas.Cette achat se fait ches OVH depuis votre interface de gestion OVH.
A noter que si votre hébergement est chez OVH, la configuration sera plus facile si votre domaine est également acheté chez OVH.

2. Dupliquer le répertoire et les fichiers wordpress

Domain_www&sousrepsNous allons dupliquer complètement le site web originel et commencerons par la copie des fichiers. Ceux si sont accessibles par ftp dans un repertoire sous www, chaque site ayant un sous-répertoire dédié.

Si votre site est malheureusement installé dans le répertoire www il va falloir le déplacer dans un sous-répertoire. Cette dernière procédure est la même que celle-décrite ici sans la dernière partie (le changement de nom de domaine)

Avant de réaliser la copie de fichier, je vous incite fortement à réaliser une copie de sauvegarde des fichiers sur votre ordinateur personnel (en utilisant par exemple Filezilla).
La solution de copie sur le serveur OVH la plus rapide est l’utilisation de l’outil en ligne de gestion de fichier d’OVH : FTP Explorer. La copie se se déroulera sur les serveurs et sera donc plus rapide que de transférer les fichiers en passant par votre ordinateur personnel. Cette outil est accessible depuis votre interface de gestion.
Domain_ftpexplorer

Pensez à choisir un nom de répertoire sans équivoque par rapport au nom de domaine, il faut éviter toute erreur qui vous entraînerait à modifier l’ancien site à la place du nouveau.

3. Configurer le DNS OVH avec votre nouveau nom de domaine

Il va falloir très rapidement pouvoir accéder à l’installation du nouveau site web pour continuer la configuration. Nous allons donc dès à présent, faire pointer le nouveau nom de domaine vers le répertoire contenant la nouvelle copie. Cela se fait également dans l’interface de Gestion OVH :

Domain_domainrep

4. Dupliquer les tables mySQL du site originel

C’est à partir de cette étape que les choses deviennent plus compliquées. Il vous faut avoir accès à votre base de donnée par l’outil phpmyadmin accessible à travers l’interface de gestion.

Domain_phpmyadmin

N’ayant qu’une seule base de donnée, il faut dupliquer les tables en changeant leur préfixe. Malheureusement qui dit changement de préfixe , dit modification d’un certains nombre de paramètres de configuration contenus dans ces tables. Pour résoudre ce problème et éviter des modifications manuelles, nous allons utiliser le site originel (l’exception qui confirme la règle) avec l’extension « Change DB prefix« . Cette extension permet de changer le préfixe des tables à la volée.

Installer donc cette extension dans l’ancien domaine puis modifiez le préfixe des tables avec le préfixe que vous souhaiteriez avoir pour le site du nouveau domaine. Le nom actuel du préfixe est pré-remplie dans l’extension et n’a donc pas besoin d’être modifié, seul le nouveau préfixe doit être indiqué :

Domain_changedbsetting

Grâce au travail de cette extension les tables ont à présent le préfixe voulu, et les valeurs de configuration ont été modifiées en même temps. Nous pouvons donc copier ces tables pour les réutiliser dans un deuxième temps pour le nouveau site. Nous repartons donc dans phpmyadmin pour réaliser ces copies.
Chaque table va devoir être copiée individuellement. Ne pas utiliser la fonction de copie permettant de copier en une seule fois plusieurs tables. Cette fonction ne copie en effet pas l’intégralité de la configuration de la table (les options d’auto-incrément et l’index automatique ne sont pas copiés).

Domain_notcopier

Chaque table devra individuellement être copiée avec la fonction de copie unitaire disponible dans l’onglet « Plus ». Il faut alors cocher impérativement l’option de copie de l’auto-increment. Le nom de destination de la table doit avoir un nouveau préfixe temporaire par exemple backup_ .

Domain_copieunitRéalisez cette copie pour l’ensemble des tables utilisées par le site WordPress d’origine. Vous devriez en avoir au moins 11, certaines extensions pouvant créer des tables supplémentaires.

Vous avez à présent au moins 11 tables avec un préfixe « backup_ ». Repartir dans le site web d’origine et réutiliser l’extension « Change DB Prefix » pour remettre le préfixe initial utilisé pour ce site. L’extension « Change DB Prefix » ne servira plus, vous pouvez la désactiver ou la désinstaller.

Reste maintenant à changer le préfixe des 11 (ou plus) tables « backup_ » en y remettant le préfixe voulu. De même que la fonction copie, il va falloir faire cette démarche table par table en utilisant cette fois la fonction « Déplacer ». Le nom du préfixe à choisir correspond au nom définitif à utiliser pour le site du nouveau domaine.

Domain_deplacertable

5. Changer les paramètres de base du nouveau site

La première modification permet de pointer sur les tables avec le nouveau préfixe qui ont été créées . Ce paramètre est défini dans le fichier wp-config.php situé dans le répertoire d’installation de votre nouveau site. Editer ce fichier avec l’utilitaire net2ftp que nous avons utilisé à l’étape  2.
Le paramètre à changer se nomme $table_prefix. Sa valeur doit correspondre au préfixe des tables que nous venons de créer pour le nouvelle installation wordpress

Domain_wp-config

 

Domain_export_paramLes autres paramètres importants sont quand à eux situées dans la table xyz_options, xyz étant le préfixe des nouvelles tables. Pour modifier les donnée dans cette table, je vous propose de l’exporter en fichier sql. Nous éditerons alors ce fichier avec un éditeur de texte puis le réimporterons. L’export utilise la fonction d’export (!) mais son paramétrage doit être réalisé correctement pour ne pas perdre de donnée ou modifier la structure de la table. L’export doit seulement extraire les données et utiliser une fonction « REPLACE« . Pour l’ensemble du paramétrage de la fonction export , se référer à la capture d’écran à droite.

Une fois le fichier d’export téléchargé sur l’ordinateur local, le modifier avec une éditeur de texte ( je conseille notepad++ pour windows). Les deux paramètre essentiels à changer sont : siteurl et home qui doivent être modifies pour refléter le nom du nouveau domaine. Cependant d’autres paramètres intègrent le nom de domaine. Effectuer donc un rechercher-remplacer de l’ancien nom de domaine vers le nouveau comme ci-dessous :

Domain_notepadreplace

De la même façon, certains paramètres peuvent contenir l’arborescence du répertoire contenant des fichiers, il s’agit également de remplacer ces noms pour refléter le changement de répertoire. Effectuer donc également un rechercher-remplacer de /www/ancien_répertoire/ par /www/nouveau_répertoire/

Une fois les modifications réalisées, sauvegardez ce fichier et réimportez le dans la base SQL. Aucune configuration particulière n’est demandée à l’import.

6. Accéder au site de votre nouveau domaine

BigsmileyLes modifications essentielles ont à présent été réalisées et vous devriez pouvoir accéder à votre nouveau site sur votre nouveau domaine. Testez votre espace administration pour vérifier également son bon fonctionnement.

 

7. Changer tous les liens dans les articles et commentaires

Tous les articles et commentaires ont été transférés. Heureusement … et malheureusement car tous ces éléments intègrent des liens qui pointent vers votre ancien nom de domaine. Le but est ici de remplacer l’ancien nom de domaine par le nouveau nom de domaine dans ces liens.

La procédure est identique à celle décrite dans l’étape 5  :

  • export des tables du nouveau site contenant les informations des articles et des commentaires. Le paramétrage de l’export est identique à l’étape 5
  • edition de ces fichiers .sql avec un éditeur de texte
  • Rechercher-remplacer toutes les anciens noms de domaine par le nouveau nom de domaine
  • Sauvegarder le fichier et le réimporter

Les tables qui sont à éditer sont les suivants (xyz étant le préfixe des tables du nouveau domaine):

  • xyz_postmeta
  • xyz_posts
  • xyz_commentmeta
  • xyz_comments

8. Vérifier l’ensemble du site et s’assurer que tout fonctionne

Nous avons fait tout ce qu’il est possible pour copier et changer de nom de domaine sans rien casser. La réalité est que certains paramètres ou configuration pourraient souffrir du transfert, en particulier au niveau des extensions. Certaines de ces extensions supportent en effet mal les modifications manuelles qui devront être refaite. L’ancien site est toujours pleinement actif, il s’agit donc de réaliser une recopie des paramètres qui auraient été mal transférés.

L’ensemble du nouveau site est donc à revérifier en particulier au niveau des fonctions et extensions particulières que vous auriez installées.
Dans mon cas la reconfiguration du Thème Hueman ainsi qu’une partie de la configuration de Contact Form 7 a dûe être refaite.

9. Configurer l’indexation de votre nouveau site

Cette procédure n’est pas spécifique au transfert vers un nouveau nom de domaine, je ne rentrerai pas dans les détails. N’oubliez pas cependant d’indiquer à Google et Bing/Yahoo que votre nouveau nom de domaine est actif et doit être référencé par leurs moteurs respectifs.
Cela se passe ici :

10. Faire un renvoi depuis votre ancien domaine vers le nouveau

Il y a deux aspects à prendre en compte à cette étape : transférer tout le trafic arrivant sur votre ancien nom de domaine vers le nouveau, mais aussi réaliser le transfert de l’indexation des moteurs de recherche vers le nouveau domaine.

Pour que le transfert de domaine se réalise correctement sans perdre son référencement, il est indispensable de garder son ancien nom de domaine actif pendant environ 6 mois et mettre en place une redirection 301.
La redirection 301 se fait simplement en éditant le fichier .htaccess qui est dans le répertoire racine des fichiers de votre ancien nom de domaine. Il est possible d’utiliser net2ftp comme précédemment pour éditer ce fichier.

Domain_rewritecondLes lignes suivantes sont à rajouter dans ce fichier juste après la ligne RewriteEngine On :

RewriteBase /
RewriteCond %{HTTP_HOST} !vrdigitalworld.com$ [NC]
RewriteRule ^(.*)$ http://www.vrdigitalworld.com/$1 [L,R=301]

Une fois le fichier sauvegardé, vous devriez être redirigé automatiquement vers le nouveau domaine en allant sur l’ancien.

Il est alors possible de retourner dans les outils Google et Bing présenté au chapitre 9 et d’utiliser l’option permettant de transférer l’indexation d’un nom de domaine vers un autre. De cette façon le référencement déjà réalisé sur votre ancien domaine sera transféré  vers votre nouveau.

 

 

Vincent Recipon

Propriétaire de ce blog. Owner of this blog.

Vous aimerez aussi...

11 réponses

  1. Darknote dit :

    Bonjour,
    Désolé, jamais reçu de notification, pour répondre à votre question, quand je suis arrivé sur votre site, le site était comme « cassé » pas de mise en page, un thème incorrect déstructuré .
    J’ai dû vider le cache de mon navigateur, pour retrouver votre site avec une apparence correcte.
    Un souci que j’ai déjà lu sur le forum de WordPress-fr.net avec le plugin WP Super Cache.

  2. Melanie dit :

    Bonjour,

    Je viens d’effectuer un changement de nom de domaine d’un site wordpress hébergé sur OVH avec nom de domaine acheté sur OVH.
    Je redoutais le processus, mais en gros ça s’est fait sans accros en une trentaine de minutes même pas, notamment grâce au technicien d’OVH qui m’a expliqué avant comment faire.

    Voici comment j’ai procédé :
    >> Sauvegarder site et BDD en offline (sur l’ordinateur) avant toute manipulation, par mesure de sécurité
    Par exemple via le plugin wordpress udraftplus

    >> Dans OVH
    Commander le nouveau NDD sur OVH (pour que ce soit plus simple)
    Espace client OVH
    Onglet Hébergement
    Sélectionner l’ancien NDD
    Onglet Multisite
    Bouton à droite « Ajouter un domaine… »
    Rechercher le nouveau NDD (attendre un peu qu’il apparaisse après achat du NDD)

    Laisser comme c’est A PART :
    Dans Dossier racine ./ mettre www
    (peut-être cocher également SSL ?)

    Valider
    Prise en compte en 1 à 24 heures

    >> Dans le back office WordPress
    Réglages
    Onglet Général
    Changer les 2 URL en mettant le nouveau NDD
    Attention, inscrire l’URL en mettant le http:// ou https:// et sans mettre de / à la fin ( ex. : http://www.monsite.fr ou http://monsite.fr)

    En espérant que ça vous aidera

    • Merci beaucoup d’avoir préparé cette explication et de la partager avec tout le monde !

    • Nael Loic dit :

      Bonjour,
      J’ai suivi les explications jusque là, mais je ne comprends pas ce qu’on doit faire sur le dossier racine. Pourriez-vous le détailler svp? Le dossier racine est bien Filezilla?

  3. Er.V dit :

    Bonjour,
    Je vois que vous utilisez Hueman 3.1.7 et non 3.2.9, a-t-il un souci avec la dernière version, ne faut-il pas l’installer ?
    Vous utilisez aussi le plugin Better WordPress Minify, plus de mise à jour depuis 1 an, n’est-ce pas dangereux? N’a-t-il pas de risque d’avoir des failles de sécurité ?
    Et aussi le plugin qtranslate qui n’est plus présent sur wordpress.org
    N’est-ce pas mieux d’utiliser un plugin comme WP Fastest Cache qui minifie en même temps son site (html+CSS)?
    Merci

    • Bonjour,
      J’ai toujours quelques appréhension à mettre à jour des éléments essentiels du site, il m’est arrivé d’avoir quelques mauvaises surprises.
      J’ai également un problème de temps, et ne gère ces mises à jour qu’à intervalle assez long.
      Pour les détails :
      – Hueman 3.2.9 : non je n’ai pas essayé, je vais prévoir une mise à jour
      – Better wordpress minify : j’avoue que l’extension s’est installée avec le thème, depuis je n’ai pas suivi. A voir pour changer effectivement
      – qtranslate : je ne l’utilise plus, il a été remplacé par qTranslate-X
      – WP Fastest cache : je ne connais pas cette extension, je vais regarder. Que vaut t’elle par rapport à « DB Cache Reloaded Fix » ?

      Merci pour ces informations !

  4. Noaneo dit :

    Bonjour,
    Pourquoi faire une copie de votre site pour un changement de nom de domaine ?
    Il faut juste modifier dans la base de données avec le script search&replace, l’ancien nom de domaine par le nouveau de domaine.
    Puis Vérifier dans le tableau de bord dans Réglages, que le nouveau nom de domaine est mis.

    ou
    http://quick-tutoriel.com/changer-nom-domaine-blog-wordpress-en-30-secondes/

    Merci

    • Bonjour,
      Pour ce genre de modification dans lequel on modifie en manuel des fichiers de configuration, on n’est pas à l’abri de mauvaise manipulation. Par ailleurs ce qui fonctionne pour un site peut s’avérer non fonctionnel pour un autre, par exemple du fait que les différentes extensions ne sont pas les même.
      Il me semble donc dangereux de ne pas travailler sur une copie du site web. C’est d’ailleurs un mode de fonctionnement communément admis dans l’informatique : on sépare le serveur / site web de production (celui utilisé sur le web) du serveur / site web de développement utilisé pour modifier et tester les modifications avant mise en production.

  5. darknote dit :

    Bonjour,
    désolé quand je suis arrivé sur le site, la sidebar était tout en bas, l’article prenait tout la largeur, j’ai actualisé 2 foix, F5+Maj mais pareil, du coup, j’ai posté mon commentaire et puis après le rechargement le site apparait normalement, je ne comprends pas pourquoi j’ai eu ce souci..
    Là c’est bon.

  6. darknote dit :

    Bonsoir,
    Vous devez avoir un souci avec votre plugin cache, la page ne s’affiche pas correctement, le thème est cassé.
    je préfère le plugin zencache, si j’avais de l’argent je prendrais le plugin wp rocket

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.