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 :
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
Laisser un commentaire