Migrer depuis Overblog vers WordPress
par Camélicot · Publié · Mis à jour
Cet article ne rentre dans aucun des thèmes de ce blog mais mérite quand même d’être publié, puisque nous avons nous-même franchi le pas de quitter Overblog pour passer sous WordPress.
Comme nous n’avons trouvé aucun article ou tuto à jour à travers le vaste monde de l’internet qui explique comment effectuer une telle migration (ceux trouvés n’ont pas fonctionné)… et puisque ce travail aura pris plusieurs semaines pour obtenir un transfert complet et réussi, il nous semble utile de partager notre expérience afin que d’autres puissent en faire autant. Je laisse maintenant le clavier à Jean-Baptiste qui s’est occupé de tout ça…
Pourquoi quitter Overblog ?
Il existe plusieurs bonnes raison de quitter Overblog… mais voici les plus importantes à nos yeux :
- la modification du thème est réservée aux comptes premium
- de moins en moins pratique à administrer, avec trop peu de possibilités à la fois techniques et esthétiques
- l’adresse « vegetaliens.over-blog.fr » n’était plus très représentative du contenu publié…
- Et surtout, la publicité qui parasite le contenu
Pourquoi aller sur WordPress ?
Et techniquement, ça se passe comment ?
Pour simplifier, j’écris à partir de là : WP pour WordPress et OVB pour OverBlog
En résumé, voici les étapes :
Première étape : récupérer la liste des vos abonnés
- Dans l’interface d’admin OVB, sur votre « Tableau de bord », à la section « Statistiques », cliquer sur « Abonnés newsletter » à droite de l’en-tête :

- Une fois arrivé sur la liste de vos abonnés, vous observerez qu’il faut un compte Premium pour pouvoir l’exporter… 😕il va donc falloir faire un copier-coller des adresses affichées (en faisant un clic de survol) que vous placerez dans un fichier qui aura l’extension ‘.csv’
Le format du fichier est simple : une ligne = une adresse email (et rien d’autre).
Ce qui malheureusement prend du temps, c’est que la liste est paginée donc il faut faire des copier-coller successifs… tout dépend du nombre d’abonnés ! - Sur votre WP, dans votre extension de newsletter (pour ma part j’utilise Mailpoet sur tous mes sites WP), il ne vous reste plus qu’à importer le fichier ainsi créé à l’étape précédente.
Deuxième étape : récupérer le contenu du blog
- Dans l’interface d’admin OVB, cliquez sur « Paramètres » dans le menu latéral de gauche
- Vous trouverez un peu plus bas une section « Exporter » avec un joli bouton, vous cliquez dessus et hop, une notification vous informe que la demande d’export a été prise en compte, tout simplement et sans compte Premium !

- En effet, quelques minutes plus tard (cela peut être long si le blog est très gros…), vous recevez un mail avec un lien pour télécharger une archive dans laquelle se trouve l’ensemble de tout votre blog : Pages, Articles et Commentaires !
Si vous lisez cet article par simple curiosité, je vous conseille de profiter de cette possibilité tant qu’elle existe pour sauvegarder votre site OVB
Troisième étape : préparer WP
- Installez l’extension d’import suivante : WP All Import ET NOTEZ QUE l’extension dans sa version gratuite ne vous permettra pas de récupérer les commentaires liés aux articles. Si vous voulez restaurer également les commentaires, il vous faudra donc utiliser la version Pro… WP All Import est simple et clair à utiliser, cependant, si vous ne savez pas comment le paramétrer, je vous propose mon fichier de configuration . Il s’agit d’une requête SQL à effectuer dans votre base de données WP, cela va créer un modèle d’importation qui inclue : Pages, Articles et Commentaires.
- Si comme nous, votre blog est ancien (16 ans) et que beaucoup d’articles contiennent des images pointant sur le net qui n’existent plus, il faut ajouter à la médiathèque WP une image par défaut qui sera utilisée par le script de transposition pour toutes les images injoignables.
Quatrième étape : préparer et exécuter le script
Le fichier XML d’export OVB n’est ni compatible avec l’outil d’import de WP (cet outil n’a pas fonctionné chez moi, même avec un export WP ! et d’après mes recherches sur ce sujet, il semble que cet outil fonctionne de façon aléatoire avec 50% de réussite…), ni compatible avec WP ALL Import qui fonctionne avec des contenus séparés ; il importe des pages OU des articles OU des commentaires OU…
C’est pourquoi j’ai dû écrire un script en PowerShell (qui fait quand même 250 lignes) qui va notamment (mais pas que) transformer l’export créé par OVB en plusieurs fichiers .XML utilisables dans WP All Import. Vous pouvez télécharger mon script à l’adresse de projet GitHub suivante : https://github.com/jibap/Overblog2Wordpress
Ce script doit être préparé avant d’être exécuté, voici comment :
- Puisqu’il est question d’ajouter des contenus, il va falloir les ajouter sans créer de conflits d’ID au niveau de la base de données. Il est donc nécessaire d’aller interroger la BDD pour connaître le dernier ID de contenu créé (attention a bien adapter cette requête avec votre préfixe de table, par défaut : « wp_ ») :
SELECT ID FROM `wp_posts` ORDER BY ID DESC LIMIT 1;
- Il faut ensuite éditer le script « overblog2wordpress.ps1 » (clic droit puis Ouvrir avec… Windows Powershell ISE ).
- ligne 2 : modifier le nom de fichier par celui de votre export OVB (pensez à mettre votre fichier d’export dans le même dossier que le script)
- ligne 9 : modifier la valeur de $id avec la valeur trouvée grâce à la requête SQL du point précédent
- ligne 19 : modifier la valeur de $placeholderIMG avec l’adresse exacte de votre image par défaut
- une librairie PowerShell est nécessaire à l’exécution du script, pour cela dans une console PowerShell :
Install-Module PSParseHTML -AllowClobber -Force
- Vous pouvez à présent exécuter le script en appuyant tout simplement sur la touche F5
- Suppression des attributs « class » : le style CSS OVB ne sera pas conservé évitant d’alourdir le code source et les conflits de style (removeClass)
- Par défaut, OVB créé un lien vers le fichier image sur toute image insérée dans un article, le script va supprimer ce lien (mais pas les liens qui pointent sur une autre adresse que le media) (removeLinks)
- Vérification des images obsolètes : le script va tenter de joindre chaque image trouvée et si celle-ci est injoignable, la remplace par l’image par défaut (checkURLs)
- Transposition des statuts compréhensibles par WP (publié, brouillon, ou nul)
- le HTML source est également minifié et nettoyé pour importer un code propre (cleanHTML)
Cinquième étape : importer les contenus dans WP
Dans WP, grâce à l’extension WP All Import, importez les articles, les pages et les commentaires (dans cet ordre !!!)
Je vous conseille de surveiller l’import en vérifiant dans le log affiché si les IDs de contenus créés correspondent bien :
Vous pouvez également vérifier en base de données si les « unique_key » correspondent aux « post_id » :
SELECT * FROM `wp_pmxi_posts`
Sixième étape : rapatrier les images
A ce stade, si tout s’est déroulé comme prévu, vous avez récupéré tous vos contenus ! Cependant, toutes les images affichées dans vos pages/articles proviennent toujours d’Overblog… Si comme moi vous souhaitez tout supprimer chez Overblog et vous réapproprier vos images, il va falloir les rapatrier en local, sur votre WP.
Pour cette opération, il existe de nombreuses extensions capables de le faire sur WP ; après plusieurs essais, j’ai choisi Cache Images
L’avantage de cette extension est qu’elle va simplement vous lister toutes les images trouvées par nom de domaine, il suffira donc de choisir tous les domaines correspondant à OVB :
Vous l’aurez compris, cela évite de s’approprier des images qui ne vous appartiennent pas !
Une fois le bouton « Cache from this domain » cliqué, il faut faire preuve de patience car cela peut-être assez long, puisque l’extension va se charger de :
- télécharger chaque image une à une
- l’insérer dans votre médiathèque WP
- aller modifier dans vos contenus l’adresse de l’image ainsi rapatriée…
Vous pouvez suivre l’avancement grâce à un petit compteur discret :
Septième étape (optionnelle) : récréer les « thumbnails »
Les contenus sous WP proposent de définir une « image de mise en avant« , une image qui illustrera votre contenu. Cette image appelée aussi thumbnail est primordiale sur un blog car elle va être utilisée dans de nombreux endroits (liste d’articles, catégories, articles suivant/précédents, suggestion…)
J’ai donc fait appel à une autre extension pour me mâcher le travail : XO Featured Image. Cette extension va tout simplement aller dans chaque article (ou page si vous l’activez) trouver la première image et l’enregistrer comme image de mise en avant. Alors oui, c’est vrai que la première image n’est pas toujours la meilleure mais c’est quand même mieux que rien, surtout quand on a plus de 1000 articles comme ce fut le cas pour nous…
Et voilà ! C'est terminé !
J’espère que cet article vous aura rendu service et vous aura permis de mener à bien votre migration depuis Overblog vers WordPress !
P.S : Le script est plutôt bien commenté donc si des ajustements sont nécessaires, cela devrait vous aider à les faire.
Voici les versions utilisées lors de ma migration :
- WP-ALL-IMPORT-PRO : 4.7.2
- CACHE-IMAGES : 3.1
- XO-FEATURED-IMAGE-TOOLS : 1.6.1
Bonus
Si comme nous, votre blog a évolué au fil des ans, et vous avez changé de pseudo/email à plusieurs reprises, il est possible sur WP de modifier tous vos contenus (attention aux préfixes de table encore une fois !) :
UPDATE `wp_comments` SET `comment_author_email` = 'bon-email@gmail.com' WHERE `wp_comments`.`comment_author_email` = 'ancien@yahoo.fr';
ou
UPDATE `wp_comments` SET `comment_author_email` = 'bon-email@gmail.com' WHERE `wp_comments`.`comment_author` = 'Ancien Pseudo';
Changement de pseudo :
UPDATE `wp_comments` SET `comment_author` = 'Camélicot' WHERE `wp_comments`.`comment_author` LIKE 'Petite Fée Coquelicot';
Modification de l’ID sur les commentaires pour mapper le bon utilisateur (vérifiez avant votre ID dans la table « wp_users ») :
UPDATE `wp_comments` SET `user_id` = 1 WHERE `wp_comments`.`comment_author` LIKE 'Camélicot';
Si vous souhaitez remettre la date de création à la place de la date de modification :
UPDATE `wp_posts` SET `post_modified_gmt` = `post_date_gmt`, `post_modified` = `post_date` WHERE `wp_posts`.`post_type` = 'post'
Quand j’ai voulu faire le ménage sur Overblog, une fois la migration effectuée, je me suis rendu compte qu’il n’existait pas de « Sélectionner tout » puis « Supprimer »…
Je vous partage donc mon astuce pour sélectionner l’ensemble des contenus listés sur OVB !
Il faut tout d’abord chercher la « class » correspondant aux coches de sélection, pour cela il faut inspectez le code au niveau de l’icone de sélection :
Puis repérer la classe correspondante (pour être sûr du nœud HTML, vérifier les autres icones de sélection) :
Ensuite dans l’onglet « Console« , coller le code suivant (sans oublier de modifier le nom de la classe trouvée précédemment) :
var divs = document.querySelectorAll('.wxQce');
for (i = 0; i < divs.length; ++i) {
divs[i].click();
};
Exécutez le code en appuyant sur la touche « Entrée », et oh miracle, toutes les coches sont cliquées d’un coup, il n’y a plus qu’à appuyer sur le bouton poubelle :












Quel travail !
Bravo et merci pour tous vos partages
Bonjour !
Merci, votre guide m’a été très utile pour faire la migration d’un autre blog OverBlog !
En revanche le PowerShell n’a pas fonctionné pour moi. N’étant pas experte, j’ai préféré le réécrire en Python. Dernièrement je l’ai revu et j’y ai même ajouté une interface… Je vais probablement ajouter aussi des installers pour finir dans simplifier l’usage dans les jours qui viennent.
Voici le lien, cela peut servir à d’autres !
https://github.com/aurechabnv/py-export-formatter-ob2wp
Ravi que mon article ait pu servir au moins une fois 😉, tant mieux si votre script permets de palier une incompatibilité ou obsolescence.
Très bel article .Wordpress est le top pour créer et gérer un blog