Accueil » Conseils & tutoriels sites internet » Tutoriels Wordpress » Migrer un WordPress en trois requêtes SQL

Migrer un WordPress en trois requêtes SQL

Posté dans : Tutoriels Wordpress 0

Migrer un WordPress est une étape importante pour mettre en ligne ou rapatrier un site depuis un serveur distant. Je ne m’attarderai pas ici sur les étapes de migration qui ont été précisées ici   WordPress : migrer son site, mais il se trouve que depuis la sortie de PHP7, et lorsque vous devez migrer un WordPress volumineux (j’entends pas là des milliers d’entrées), le script DBSR se retrouve très lourd, inadapté, voire ne fonctionne pas du tout.

Afin de pallier à ce souci, voici donc une requête SQL qui effectue une sorte de “Rechercher-Remplacer” dans la base de données. Il faudra donc vous connecter à votre base de données afin d’exécuter ceci.

Comme de bien entendu, avant chaque manipulation une sauvegarde est requise (systématiquement !)

 

Modifier les URL d’un site WordPress simple

 

Pensez à remplacer les URL par les vôtres, cela vous permettra donc d’être beaucoup plus rapide pour vos migrations (DBSR est tout de même lourd à utiliser pour MySQL). Les préfixes des tables ici sont ceux par défaut, si vous les avez personnalisés veillez à corriger la requête.

Le code

UPDATE wp_options SET option_value = REPLACE(option_value, 'https://www.MonAncienneURL.tld', 'https://www.MaNouvelleURL.tld') WHERE INSTR(option_value, 'https://www.MonAncienneURL.tld') > 0;

UPDATE wp_posts SET guid = REPLACE(guid, 'https://www.MonAncienneURL.tld', 'https://www.MaNouvelleURL.tld') WHERE INSTR(guid, 'https://www.MonAncienneURL.tld') > 0;

UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://www.MonAncienneURL.tld', 'https://www.MaNouvelleURL.tld') WHERE INSTR(post_content, 'https://www.MonAncienneURL.tld') > 0;

L’image

En image, sur votre base de données, cela donne ceci :

SQL migrer wordpress

 

Exécutez la commande, vous avez corrigé toutes vos URL !

 

Modifier les URL d’un site WordPress multisites

 

Dans le cadre d’un multisite, les requêtes vont uniquement varier selon le site impacté. WordPress, dans les multisites, a des tables dont le préfixe est incrémenté de l’identifiant du blog, à savoir comme ceci :

  • Blog 1 a pour table de contenu wp_1_posts
  • Blog 2 a pour table de contenu wp_2_posts

Requête SQL du premier blog

UPDATE wp_1_options SET option_value = REPLACE(option_value, 'https://www.MonAncienneURL.tld', 'https://www.MaNouvelleURL.tld') WHERE INSTR(option_value, 'https://www.MonAncienneURL.tld') > 0;

UPDATE wp_1_posts SET guid = REPLACE(guid, 'https://www.MonAncienneURL.tld', 'https://www.MaNouvelleURL.tld') WHERE INSTR(guid, 'https://www.MonAncienneURL.tld') > 0;

UPDATE wp_1_posts SET post_content = REPLACE(post_content, 'https://www.MonAncienneURL.tld', 'https://www.MaNouvelleURL.tld') WHERE INSTR(post_content, 'https://www.MonAncienneURL.tld') > 0;

Requête SQL du second blog

UPDATE wp_2_options SET option_value = REPLACE(option_value, 'https://www.MonAncienneURL.tld', 'https://www.MaNouvelleURL.tld') WHERE INSTR(option_value, 'https://www.MonAncienneURL.tld') > 0;

UPDATE wp_2_posts SET guid = REPLACE(guid, 'https://www.MonAncienneURL.tld', 'https://www.MaNouvelleURL.tld') WHERE INSTR(guid, 'https://www.MonAncienneURL.tld') > 0;

UPDATE wp_2_posts SET post_content = REPLACE(post_content, 'https://www.MonAncienneURL.tld', 'https://www.MaNouvelleURL.tld') WHERE INSTR(post_content, 'https://www.MonAncienneURL.tld') > 0;

Pas difficile n’est-ce pas ? 😉

Notez que la requête SQL effectue un “rechercher-remplacer” qui poura vous être utile dans le temps, sur d’autres sujets !

Imprimer Imprimer
Suivre Cyssoo:

Développeur - formateur

Je cherche à display errors le monde, vous auriez pas la doc' ? Follow me on Twitter !

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.