Comment migrer un GROS site Wordpress ?

SEO Pour créer, rédiger et optimiser le SEO de vos pages web --> Contactez-nous


Si vous voulez migrer ou réinstallez un site Wordpress, nous vous conseillons la solution Backupbuddy (cf Comment migrer facilement ou réinstaller un site Wordpress ) mais si le site est GROS avec une GROSSE base de données (plusieurs centaines de MO ou de Go) alors BackupBuddy va lamentablement foirer et il faudra faire autrement .. Comment ? Ben justement, voici comment migrer un gros site Wordpress ?

 

On part de l'hypothèse qu'on veut simplement migrer le site dont on garde le nom (un changement de NDD se gère à part et à la limite ensuite ou avec un plugin pour faire la transition) donc on suppose qu'on a migré le NDD sur le nouvel hébergeur ou qu'on a changé les DNS à partir du service qui gère le nom de domaine.

On se retrouve alors avec notre site wordpress sans nom chez l'ancien hébergeur et un gros vide chez le nouveau.

1) Par FTP, on va envoyer tous les fichiers présents chez l'ancien hébergeur (donc tout le tas de fichier wp-trucs, htaccess, etc.. et les 3 dossiers wp-content, wp-include, wp-admin + éventuellement d'autres trucs ) chez le nouvel hébergeur.

2) Il va falloir ensuite s'occuper de la base de données pour la migrer chez le nouvel hébergeur et nous sommes donc dans le cas où la base de données est énOrme..

21) On commence par créer une base de données vide chez le nouvel hébergeur (DB2).

22) On doit ensuite relier DB2 aux fichiers importés en 1 (pour que ces fichiers sachent où chercher leurs infos maintenant qu'ils sont ailleurs). Pour ça, on va éditer le fichier wp-config.php (éditer, ça veut dire qu'on le récupère sur son ordi et qu'on l'ouvre avec un éditeur texte tout simple comme notepad ou un soft spécifique pour ce type de fichiers comme l'excellent et simple hapedit).

Dans wp-config.php, on va trouver facilement le texte suivant

define('DB_NAME', 'toto');

/** MySQL database username */
define('DB_USER', 'titi');

/** MySQL database password */
define('DB_PASSWORD', 'tutu');

/** MySQL hostname */
define('DB_HOST', 'tete');

toto, titi, tutu et tete sont les caractéristiques de DB1 -base de données de l'ancien hébergeur puisque le wp-config.php a été récupéré chez l'ancien hébergeur. Avec ces 4 trucs, les fichiers étaient reliés à DB1. Il va falloir les relier à DB2.

Quand DB2 a été créée, on a choisi le nom de la base, le nom de l'utilisateur de la base, le mot de passe et le "host" a été fourni OU tout a été décidé par l'hébergeur après qu'on ait cliqué sur "créer une base de données" DONC on a reçu un mail avec ces infos.

Ces infos sont simplement à mettre dans wp-config.php à la place de titi, tutu, toto et tete (attention à bien garder les ' autour).

On sauvegarde la nouvelle version de wp-config.php et on remplace, par ftp, l'ancien wp-config.php par celui qu'on vient de changer.

23) Chez l'ancien hébergeur, on peut, via phpmyadmin qui est toujours disponible dans l'interface de gestion de l'ancien hébergeur, EXPORTER la base de données bien pleine DB1 (comme ça ou zippée sur son ordi) et ensuite, ouvrir avec phpmyadmin chez le NOUVEL hébergeur la base DN2, pour faire IMPORTER enindiquant l'export de DB1 qu'on a sur son ordi ..

Si tt fonctionne comme ça, tutto va bene MAIS ça marche rarement car les hébergeurs acceptent rarement d'énOrmes bases en import.

Par exemple, notre ami du moment OVH limite les bases importées à 16 Mo (zippées ..).

Il va donc falloir ruser.

1er cas: votre DB1 est énorme mais vous n'avez pas besoin de tout. Avec phpmyadmin, chez l'ancien hébergeur, vous pouvez nettoyer votre base de pas mal de trucs (vider des tables de Wordpress).. Votre table a maigri ? Elle Passe ? Tant mieux..

2ème cas: non, on ne peut pas lifter DB1; ce sont bien les notes, les commentaires etc.. qui pèsent lourd..

Il va falloir passer par un script qui va s'occuper de faire rentrer l'obèse DB1 chez le nouvel hébergeur.

Le script souvent utilisé est BigDump à télécharger gratuitement sur http://www.ozerov.de/bigdump/

Le fichier bigdump.php doit être configuré. Vous l'ouvrez avec un éditeur de texte ou autre et vous cherchez la zone suivante:

// Database configuration

$db_server   = '  ';
$db_name     = ' ';
$db_username = ' ';
$db_password = ' ';

Entre les ', indiquez le caractéristiques de DB2 (les mêmes que celles avec lesquelles vous avez remplacé titi et ses amis dans wp-config.php).

Ensuite, mettez le bigdump.php, via ftp, chez le nouvel hébergeur, là où vous avez mis tous les autres fichiers en 1 .

Attention car maintenant se joue le point délicat de l'opération ;-)

Il va falloir exporter DB1 mais après l'avoir préparée sinon ça va foirer.

2 éléments essentiels: drop et insertions complètes (2 choses pas évidentes à configurer quand on est un débutant ou candide de phpmyadmin).

A titre d'exemple, chez 1and1 voici comment ça se présente, drop est facile à trouver mais pour insertions, c'est un peu + compliqué (il faut cocher ce qui est entouré alors que par défaut c'est le truc pas entouré qui est coché):

1and1 export

DB1 est à exporter non zippée (ce qui peut prendre un certain temps).

Ensuite par ftp, on place la base chez le nouvel hébergeur (ce qui peut prendre un certain temps) et on lance sur un navigateur l'url site.com/bigdump.php (où site.com est le nom du site).

Apparaît alors cet écran, mais avec plein de nombres dans la colonne To Go et - de 100% dans "Done" puisque CE screenshot montre une opération FINIE et que l'écran que vous aurez montrera l'opération en train de se réaliser.

Bigdump

Si l'affaire plante en cours de réalisation, c'est soit qu'il y a un pb avec drop ou insertions, soit que votre base a un problème de contenu dans une table.

Vous aurez alors les "coordonnées" de l'enregistrement qui fait tout planter.

Récupérer l' ID de l'enregistrement et la table dont il s'agit (en général c'est un post), ouvrez db1 et cette table chez l'ancien hébergeur avec phpmyadmin et vous savez quoi ? Supprimez l'enregistrement ..

Réexportez DB1 comme il faut, réinstallez la par ftp chez le nouvel hébergeur et relancer site.com/bigdump.php.

Une fois l'opération ok, DB1 se sera glissée dans DB2 et vous aurez normalement votre site comme avant, mais chez le nouvel hébergeur.

(N'oubliez pas de supprimer l'export de la base et bigdump.php sur l'espace ftp, comme le recommande bigdump..).

Commentaires sur: Comment migrer un GROS site Wordpress ?

Poster un commentaire sur: Comment migrer un GROS site Wordpress ?







« Comment écrire sur le web pour avoir de l'audience ? | Accueil | Le tout gratuit va-t-il exploser les sites payants de partage »


Développement it et web, rédaction contenu web,  SEO, scrapping, growth hacking

Besoin de SEO, de développement, de rédaction de contenu web ? Besoin d'un blog, de Wordpress, de Prestashop ou autres nouvelles "choses web" ? Envie de travailler dans ces domaines ? --> Contactez-nous