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.
Étape 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é.
Étape 2 : mise à jour de la nouvelle adresse dans la base de données
Sur cette nouvelle base de données, remplacez :
https://example.com/blog
Code language: JavaScript (javascript)
Par :
https://example.com
Code language: JavaScript (javascript)
Notez l’absence de slash final (/). J’ai exporté ma base au format .sql, effectué les changements d’URL 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). On considère que la base de données est désormais prête.
Étape 3 : édition du fichier de configuration WordPress
Nous allons maintenant nous occuper du fichier de configuration WordPress. Éditez 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', 'https://example.com');
define('WP_HOME', 'https://example.com');
Code language: JavaScript (javascript)
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.
Étape 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’œil 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');
Code language: JSON / JSON with Comments (json)
Étape 5 : mise à jour des permaliens
Il vous reste maintenant à mettre à jour vos permalinks car ils reflètent encore votre ancienne installation.
Allez dans Réglages > Permaliens (Settings > Permalinks) 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 /blog/ https://example.com/
Code language: PHP (php)
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 !
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 ‘maison’.
Les oublis éventuels pourront être tracés via les fichiers logs du serveur.
Bonne migration !
Rencontrez-vous des défis avec votre site WordPress ou WooCommerce? Laissez-moi les résoudre pour vous.
Très bien expliqué !
Merci, content de pouvoir aider !
Bonjour,
Tout à fait, c’est la même chose lorsque l’on change de domaine.
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 !
Bonjour,
Cela a changé depuis – cela se trouve maintenant sous Réglages > Permaliens (Settings > Permalinks dans la version anglophone) dans l’administration de WordPress.
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 ?
Salut Alex,
Tu peux faire comme ça :
Cela réécrira toutes les requêtes de la racine vers le dossier
/folder/
Okay merci, mais je vais quand même pouvoir avoir une page sur l’index (la racine) sans qu’elle soit redirigé vers le repertoire ?
Ah non, cela redirige toutes les requêtes vers le répertoire.
Du coup, tu veux plutôt cela : Giving WordPress Its Own Directory.
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
Ah, je vois. Essaie ceci :
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:
?
Merci
Salut,
Il faut rediriger vers une page directe, celle de l’index, comme ceci :
sinon, cela renverra vers des pages inexistantes (selon l’ancienne structure).
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.
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.
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 :)
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