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 :

Appeler un shortCode Wordpress depuis un fichier PHP
Export d'articles scoopit vers WordPress : Lien vers l'article d'origine
Rajouter des commentaires d'aide à la saisie dans l'administration de Wordpress
Wordpress Warning: Cannot modify header information - headers already sent by ...
Taraza - Free Wordpress Theme 2014 - Customized Home Page
Ne pas afficher les commentaires sur les pages d'un siteWordpress
Comment laisser l'affichage de the_excerpt() si l'extrait est laissé vide dans l'administration de WordPress
Une liste d'articles au hasard dans Wordpress
Limiter le nombre de brouillons enregistrés à la modification d'un post
Bug Barre d'administration Wordpress et position absolue d'un élement
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