Accueil > Tuto > Changer de nom de domaine sous Wordpress

Changer de nom de domaine sous Wordpress

Ça n’aura pas échapper aux plus observateurs, j’ai changer mon nom de domaine en début de semaine dernière. Pour ceux que ça intéresse, j’avais envie d’un peu plus de crédibilité auprès de vous cher lecteurs mais également auprès des potentiels futurs annonceurs. Sans compter qu’avec mon ancien nom de domaine (en .fr.cr) je ne pouvais pas choisir la région ciblée par mon blog via Google Webmaster Tool, il me mettais d’office au costa rica… Moyen pour le référencement non? du moins en France :p Donc un peu plus de visibilité également.

Enfin bref, si j’écris ce billet c’est parce que j’ai reçu quelques demandes de conseils à ce propos. Je vais donc essayer de vous expliquer mon parcours le mieux possible.

Le commencement

La première étape étant d’acheter vôtre nom de domaine (NDD), pour ce faire il suffit simplement d’aller chez un registar (fournisseur de NDD), dans mon cas OVH, et de prendre le NDD qui vous plait avec l’extension qui vous plait. Une fois enregistrer, payer, laisser l’afnic faire son cinéma dans le cas d’un .fr, il faut entrer les serveurs DNS fournis par vôtre hébergeur (si différent du registar). Pour le reste, c’est vôtre hébergeur qui ferra tout le boulot. Une fois terminer les choses sérieuses peuvent commencer.

Préparation du blog

Ici il s’agit simplement de renseigner l’URL du nouveau NDD dans vôtre admin Wordpress. Connectez vous à l’admin, cliquez sur “Réglages” et remplissez les champs “Adresse web de Wordpress” et “Adresse web du blog” par vôtre nouveau NDD.

(Je l’ai fait par sécurité, mais je pense que les requêtes SQL le font aussi…)

Modification de la base de données

Pour ce qui est de la base de données (BDD) il faut simplement remplacer les anciennes URL stocker un peu partout par les nouvelles. Pour cela il suffit de ce connecter à vôtre BDD (souvent via PHP My Admin) et d’entrer les requêtes SQL qui vont suivre.

On commence par les URL stocker dans la table wp-options (correspondant à la partie admin):

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

On continue avec les URL de vos billets dans la table wp-posts:

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

Et on finis avec les URL contenu dans vos billets toujours dans la table wp-posts:

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

Voila pour la base de donnée, il n’y a rien de très compliquer mais il faut le savoir ^^

Création ou modification du .htaccess

Il faut maintenant “prévenir” Google du changement de NDD sous peine de perdre son référencement. En gros il faut lui dire que tout les liens de http://www.ancien-site.com sont maintenant à l’adresse http://www.nouveau-site.com et qu’il faut donc rediriger le trafic.

Tant qu’a faire on va rediriger le sous-domaine www ainsi que l’url en index.php, je ne sais pas si c’est encore obligatoire, mais ça ne coûte rien ^^. Voici un exemple de .htaccess avec toutes ses données (les commentaires sont après les #):

Options +FollowSymLinks
DirectoryIndex index.php

RewriteEngine On
RewriteBase /

# Redirection 301 (permanente) de l’ancien nom de domaine
RewriteCond %{HTTP_HOST} ^(www\.)?ancien-site\.com
RewriteRule (.*) http://www.nouveau-site.com/$1 [R=301,L]

# Redirection 301 du sous domaine www
RewriteCond %{HTTP_HOST} www.nouveau-site.com
RewriteRule (.*) http://nouveau-site.com$1 [L,R=301]

# Redirection 301 du index.php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://nouveau-site.com$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Ajoutez ceci en plus du contenu initial du .htaccess crée par Wordpress.

Vous pouvez vérifier en tapant http://sugi.fr.cr, http://www.sugi.fr ou encore http://sugi.fr/index.php, tout serra rediriger vers http://sugi.fr ^^

Google webmaster tool et sitemap

Eh non, on en a pas encore finis avec l’ami Google, il faut maintenant re-inscrire votre blog dans leur outil pour webmaster et leur envoyer un sitemap re-compiler. Pour ce faire on repart dans l’admin, direction l’onglet “Réglage”, puis “XML-sitemap”. Une fois dedans cliquez sur “reconstruire le sitemap manuellement”. Le sitemap contiens maintenant l’URL modifié de vos pages et billets. Il ne vous reste plus qu’a l’envoyer sur Google webmaster tool à vôtre nouveau nom de domaine, Google fera le reste =)

Backlink & co

La dernière étapes consistera à contacter toutes les personnes qui ont fait un ou plusieurs backlink vers vous ainsi que toutes celles qui ont un lien vers vous dans leur blogroll. Demandez leur gentillement de changer vos liens ^^

Au passage un grand merci à tous ceux qui ont répondus favorablement à ma demande =)

Conclusion

Faites attention en recopiant les requêtes SQL, une erreur est vite arriver.

Ensuite, le changement de NDD prend du temps coté Google, en effet il faut compter plusieurs semaines voir plusieurs mois dans certains cas (en fonction du nombres de page a indexé) pour retourner à la normal. Ne vous attendez pas a retrouver vôtre PR ou vôtre alexa rank du jour au lendemain.

Voila, un petit tuto qui ce veux sans prétention, n’ayant pas trouver de vrai tuto au moment ou j’en avait besoin, j’ai piocher les infos un peu partout et vous ai décrit mon parcourt tel quel. Il ce peux qu’il y ai des erreurs, des truc mal optimisés etc. Si c’est le cas n’hésitez pas à donner vôtre avis.

Bon courage!

Sugi

Fichier SQL contenant les requêtes en cas d’erreur avec le copié/collé.

Articles relatifs: Vous avez aimer cet article?
Abonnez-vous au flux RSS ou par mail afin de recevoir les news du blog chaque jours!

Tuto , , ,

  1. 06/05/2009 à 22:10 | #1

    Excellent tuto sugi , je le met de coté au cas ou ! ça peut toujours servir ;)

    D’ailleurs tu as effectivement raison pour les rank car en changeant de NDD pour curul-hot j’ai perdu mon page rank de 3 et suis retourné a 0 , sniff !
    Je n’ai plus qu’attendre la prochaine mise a jour des page rank .

  2. 06/05/2009 à 22:26 | #2

    @curul
    Merci c’est gentil ^^

    Pour le PR oui il faut le temps que Google prenne en compte les redirections etc… Mais ça va revenir :p

    J’ai perdu un PR3 aussi, et un alexa rank inférieur à 900k T_T

  3. 07/05/2009 à 15:14 | #3

    S’est vrai qui est mieux de changer les url sur les autres sites, car google dois mettre un malus si tu passe toujours par une redirection 301.

    Mais il devrai modifier très rapidement l’url et te redonner une partie de ton PR.

    Et merci pour la commande replace en sql , je ne la connaissais pas…

  4. 07/05/2009 à 20:32 | #4

    @Matthieu
    Je pensais pas réellement au malus en faisant ça, plutôt de recevoir plusieurs lien vers le nouveau NDD assez rapidement pour que Google vois que le blog est actif et donc ce dépêche de me remettre mon PR…

    De rien pour la requête SQL, j’ai appris sur le tas ^^

  5. 07/05/2009 à 23:39 | #5

    En faisant une redirection 403, les lecteurs sont rediriger automatiquement , s’est le point le plus important , il a rien de pire qu’avoir un lien mort …

  6. 08/05/2009 à 08:42 | #6

    @Matthieu
    C’est des redirections 301 que j’ai fait, 403 c’est une erreur non?

    Mais ouais comme tu le dit le plus important c’est que les visiteurs ne tombent pas sur un lien mort, c’est la moindre des choses…

  7. 08/05/2009 à 13:58 | #7

    oui , s’est vrai , je me suis trompé, j’ai trouvé un récapitulatif:

    * 400 : échec de l’analyse HTTP
    * 401 : mauvais pseudo/mdp dans le .htaccess
    * 402 : le client doit reformuler sa demande avec les bonnes données de paiement.
    * 403 : requête interdite
    * 404 : page non trouvée
    * 405 : méthode non autorisée
    * 500 : erreur interne au serveur ou serveur saturé
    * 501 : le serveur ne supporte pas le service demandé
    * 502 : mauvaise passerelle
    * 503 : service indisponible
    * 504 : trop de temps à la réponse
    * 505 : version HTTP non supportée

    source : http://www.siteduzero.com/tutoriel-3-34383-page-d-erreur-perso.html

  8. Pixelboss
    01/06/2009 à 13:19 | #8

    Bonjour,

    Pardon pour ce postage multiple en anglais. Je n’ai pas beaucoup dormi cette semaine. Donc voilà mon problème, en français : J’ai essayé ta méthode mais pour chaque requête sql, phpmyadmin me répond “Nombre d’enregistrements affectés : 0 (Traitement en 0.0023 sec.)” et aucun changement d’url n’est effectué, ni dans le champ guid ni dans les posts… ? Pourtant j’ai scrupuleusement respecté tes instructions. Je suis sur WP271. Si tu peux m’aider, ce serait génial, parce que je devais déjà déménager le site pour vendredi dernier…

  9. 01/06/2009 à 18:06 | #9

    @Pixelboss
    Salut Pixel, pas de problème pour le postage multiple ça arrive :p

    Les requête sont bonne, sur et certain, après c’est peu être au niveau du copié/coller qu’il y a un problème, pas venant de toi mais plutôt de la balise quote de WP.

    Enfin bref tu peu regarder à la fin de l’article pour télécharger un fichier texte avec les même requêtes, ça devrais mieux fonctionner.

    Tiens moi au courant

  10. 09/06/2009 à 19:25 | #10

    Bonjour,

    Merci pour ce tuto !

    Cependant, j’ai un problème avec les requêtes SQL de PhpMyAdmin : quand j’essaye de les rentrer, j’ai un message d’erreur, notamment concernant la ponctuation. Je ne sais pas, de plus, ce que je dois faire des champs présents à côté de la balise (option_id, blog_id, etc.), ni de la phrase : “SELECT * FROM `wp_options` WHERE 1″…

    Ce serait très sympa de me dire comment faire exactement pour les rentrer exactement (partie “Modification de la base de données”).

    Merci !

  11. 09/06/2009 à 19:53 | #11

    Problème résolu : en fait, c’était à cause des quotes (‘). Je faisais copier/coller depuis le texte de cette page ; il suffisait juste de retaper manuellement les quotes !

    That’s all good now!

  12. 09/06/2009 à 20:10 | #12

    @Pierre
    Oui c’est ce que j’explique dans le commentaire précédent, j’ai mis à disposition un fichier sql avec les 3 requêtes, de cette façon plus de problèmes de copier/coller normalement.

    Content que tu t’en soit sortis =)

    Repasse quand tu veux!

  13. 09/07/2009 à 18:33 | #13

    Bonjour Suji, Merci pour ce post qui m’a beaucoup aidé. Tout fonctionne à merveille, exception faite des “Custum field” /” Ou “Champs personnalisés”. Si j’ai un champs nommé “thumbnail” qui a pour valeur “http://www.ancien-site.com/image.jpg”, il faudrait une requête SQL pour le modifier.

    Je suis déjà ravi de ces 3 requêtes. Un grand merci.

  14. 09/07/2009 à 18:45 | #14

    Voici la requête : UPDATE wp_postmeta SET meta_value = replace(meta_value, ‘http://www.ancien-site.com’, ‘http://www.nouveau-site.com’);

  15. 12/07/2009 à 17:19 | #15

    @Designs Genius
    Content que tu t’en soit sortie aussi bien que moi et que ce modeste billet ai pu t’aider. Et merci pour la petite précision ^^

  1. 08/09/2009 à 01:16 | #1