Comment effectuer une migration WordPress ?
Il existe plusieurs façons d'effectuer une migration WordPress. Vous pouvez par exemple effectuer la migration :
- à l'aide d'un plugin
- manuellement
- en utilisant le script Search-Replace-DB (tutoriel ici)
Nous allons ici effectuer une migration manuelle d'un site en production vers un site local et inversement. La procédure sera également là-même pour un changement de nom de domaine et d’URL avec des sites en production.
Migration manuelle d'un site en production vers un site local
En suivant les étapes ci-dessous, la migration sera rapide et sans erreur.
1/ Transfert des fichiers des fichiers du site à migrer et export de la base de données
Commencer par mettre en maintenance votre ancien site et effectuer une sauvegarde de vos fichiers et de votre base de données.
Effectuer le transfert de votre site en production (fichiers et dossiers) vers votre site local en utilisant un logiciel de transfert de fichier comme Filezilla par exemple.
Pour travailler sur votre site en local, vous pouvez utiliser WampServer (voir ici l'installation de WampServer).
Créer un dossier dans le www de Wamp où vous allez transférer vos fichiers (par exemple monsite.com).
Exportez votre base de données au format sql.
2/ Import de la base de données sur le nouveau site
Ouvrez phpMyAdmin sur WampServer et créer une nouvelle base de données du même nom que celle que vous avez migrée. Importez la base de données que vous aviez précédemment exportée en interclassement utf8_general_ci.
3/ Modification de la table wp_options
Allez dans la table wp_options (wp_ a probablement été modifié par votre préfixe) et modifiez les deux premières lignes siteurl et home en cliquant sur éditer.
Si votre site en production s'appelait :
https://monsite.com
Modifiez par :
http://localhost/monsite.com
4/ Modification du fichier wp-config
Dans le dossier monsite.com où vous avez transféré votre site, ouvrez le fichier wp-config.
Remplacez les données suivantes par celles de votre nouvelle base de données.
5/ Modification du fichier .htaccess
Sur un site en production un fichier .htaccess de base ressemble à ceci :
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Sur votre site local, supprimez ces lignes et collez ceci en modifiant monsite.com par le nom de votre dossier contenant votre site :
# BEGIN WordPress
RewriteEngine On
RewriteBase /localhost/monsite.com/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /monsite.com/index.php [L]
# END WordPress
Vous en avez terminé, vous pouvez maintenant vérifier votre site en local sur votre navigateur.
La procédure est la même d'un site local vers un site en production. Pensez à modifier (une fois vos fichiers transférés et votre base de données importée) la table wp_options et le fichier .htaccess en faisant la procédure inverse de ce qui vient d'être fait.