le MEMO du WEB développeur
••• Wordpress •••  Liste des Mémos, astuces et bonnes pratiques

Migration d'un site Wordpress : Perte des menus et des widgets

Si vous changez le nom de domaine d'un site Wordpress, un simple export de la base de données ne vous permettra pas de récupérer la configuration des menus, des widgets et d'éventuelles autres extensions que vous avez intégré.

Pourquoi je perds ces informations lors d'un export Wordpress ?

Ces données stockées en base de données sont  sérialisées. Sans rentrer dans les détails (ce dont d'ailleurs je serais incapable, mais vous pouvez toutefois allez faire un tour ici) l'important pour nous est qu'une chaîne enregistrée en donnée est précédée de sa longeur.

Exemple de donnée sérialisée : 

INSERT INTO `wp_options` (`option_id`, `blog_id`, `option_name`, `option_value`, `autoload`) VALUES (46, 0, 'recently_edited', 'a:3:{i:0;s:17:"http://monsite.fr";i:2;s:27:"http://monsite.fr/index.php";i:3;s:0:"";}', 'no')

Dans l'exemple ci dessous, observez la partie s:17:"http://monsite.fr", et notez que 17 représente la longeur de la chaîne "http://monsite.fr"

Cette exemple illustre le fait que si vous changier le nom de domaine de votre site de http://monsite.fr en http://monnouveausite.fr par exemple, vous allez non seulement devoir remplacer dans votre base de données le nom de votre ancien site par le nouveau, mais il faudra aussi impérativement revoir la taille de la nouvelle chaîne s:24:"http://monnouveausite.fr"

Comment changer le nom de domaine de mon site Wordpress sans perte d'information ?

J'utilise un script qui permet de faire ce travail : Remplacement du nouveau nom de domaine et gestion des données sérialisées. 

Télécharger le script "Search and replace tools"

Après avoir bien effectué une sauvegarde de votre base de données (étape essentielle !) chargez ce script à la racine de votre site Wordpress.

Appelez le script depuis votre navigateur http://monnouveausite.fr/searchreplacedb2.php  (l'auteur  conseille toutefois de changer le nom du script).

Suivez les instructions, on vous demandera de confirmer les données de connexion à la base de données de votre nouveau site.

On vous demandera ensuite l'URL à remplacer de votre ancien site, et celle du nouveau.

Le script procédera alors au scan de toutes les tables de votre base de données et effectuera les remplacements adéquates.

A la fin des opérations, supprimez le script.

C'est une opération des plus délicates, ne la pratiquez que si vous savez ce que vous faites et que vous comprenez les risques

Précieux !

 

 

publié le 09/10/2013 par Memo Web
Commenter le Mémo :

Limiter le nombre de brouillons enregistrés à la modification d'un post
Configurer le fichier WP-config en localhost
Liste des catégories Wordpress. Exclure certaines catégories
TaraLi : Thème Wordpress 2014. Gratuit, Sobre et Simple.
Récupérer l'URL de l'image à la une (featured image) d'un article ou d'une page WordPress
Déclarer un fichier présent dans un répertoire du thème enfant Wordpress
Comment laisser l'affichage de the_excerpt() si l'extrait est laissé vide dans l'administration de WordPress
Traduction Wordpress de texte affiché par un fichier javascript
Parcourir les catégories des articles de WordPress
Recadrer une miniature (thumbnail) WordPress
Ajoutez vos propres Mémos sur MEMO-WEB

Il suffit de vous créer un compte sur le site

Vous pourrez choisir un thème parmis l'une des catégories proposées par MEMO-WEB.

Rédigez votre Mémo.
Après validation par MEMO-WEB, il sera mis en ligne.
Ajouter vos Mémos