Skip to content

Categories:

Migrer de Gandi Blog à Wordpress sans taper une ligne de code

Ce blog était propulsé depuis quelque temps par DotClear, dans sa version proposée par Gandi Blog. L’avantage principal était la simplicité, l’administration transparente du système, et également il faut bien l’avouer le petit goût de gratuit…

image-11

Mais les limitations étaient également significative,  impossibilité d’intégrer des plugins, et la plus génante réellement visible à la fin l’impossibilité d’avoir accès à la base de données pour exporter le contenu.

Voici donc comment je suis passé de DotClear/Gandi Blog à un Wordpress 2.7.1 hébérgé chez Dreamhost. L’installation a été faite avec la fonctionnalité One-Click Install proposée par Dreamhost.

Les principaux problèmes à résoudre étaient :

  • Reprise des données (Posts/Commentaires/Images si possible)
  • Gestion des liens cassés (mapping des urls vers le nouveau CMS)
  • Redirection du flux RSS

Les principales fonctionnalités qui motivaient la migration:

  • Mise en place d’un lifestream
  • Un template optimisé iPhone
  • Mise en place de Facebook Connect

Reprise des données

La première étape consiste à exporter le contenu depuis Gandi Blog, le seul format disponible est un format dit “texte plat” qui inclut les posts, commentaires, et auteurs.

image-10

Pour l’intégration dans wordpress, j’ai utilisé le plugin Dotclear Flat Import, qui n’est pas intégré en standard. L’import s’est passé sans aucun problème, les commentaires sont restés correctement attachés aux bons posts, et les auteurs des commentaires ont également été repris.

La deuxième partie de la reprise des contenus concernait les images. Pour cela j’ai exporté l’ensemble de la médiathèque de dotclear

image-12

puis j’ai décompressé le contenu dans un repertoire statique nommé “public” à la racine du site wordpress. Cela permet de conserver les images avec ce type d’url : http://www.annebicque.com/public/Image_46.png

Gestion des liens cassés

Les anciennes URL étaient sous la forme /post/année/mois/jour/slug (titre court) alors que sous wordpress je voulais raccourcir en enlevant le prefix “post”.

Pour ne pas perdre le référencement des anciens contenus, j’ai utilisé le plugin “Redirection“, dans lequel j’ai paramétré la rêgle suivante :

image-13

J’ai également paramétré les permalink pour que les nouvelles urls soient selon le modèle /année/mois/jour/slug :

image-14

Redirection des flux RSS

Les anciens flux RSS proposé par gandi étaient à l’adresse /feed/rss2 ou /feed/atom alors que Wordpress propose en standard /feed. J’ai donc paramétré deux rêgles dans le plugin Redirection pour faire des redirects 302

image-16

(en fait, j’ai ensuite commencé à utiliser FeedBurner)

Mise en place du template graphique

Le choix du thème graphique était simple, je voulais utiliser le Framework Carrington développé par Alex King. Je ne l’ai pas customisé pour l’instant, n’ayant aucun talent en design graphique.

Mise en place d’un lifestream

Facebook a popularisé ce concept, l’agrégation en un seul endroit de l’ensemble des activités online de son réseau social. Je voulais pouvoir agréger mes activités en dehors de Facebook qui est un réseau fermé. Le plugin WP-Lifestream fait ça parfaitement.

Il permet de configurer des flux de tout type (Twitter, Facebook, delicious, etc…) et permet de configurer la restitution assez finement. Pour ma part, j’ai commencé par agréger Twitter, Delicious, Flickr, iTunes (mais celui ci ne fonctionne pas encore).

La configuration des différentes sources de données est super simple, et l’intégration dans une page se fait encore plus simplement avec la directive [ lifestream ]. Le résultat est visible dans la page Lifestream.

Ce plugin permet également d’intégrer des bouts de lifestream dans des widgets standards, ce que j’ai fait en colonne de droite.

Le plugin permet également de poster chaque jour un résumé des activités dans un post standard du blog. Seul regret, quel les entrées ne soient pas classées dans l’ordre inverse chronologique.

Template Optimité iPhone

Afin d’avoir une restitution optimale sur iPhone, j’ai utilisé l’excellent plugin WPTouch, qui produit des résultats bluffants

img_0006img_0007img_0008

Intégration de Facebook Connect

Pour l’instant, j’ai rien fait de ce coté là, il semblerait que je sois obligé de rentrer dans le code de Carrington pour intégrer du code….

Plugin complémentaires utilisés

Akismet : Anti Spam de référence

All in One SEO : Optimisation de META tags

Google Analyticator : Intégration de Google Analytics

Google XML Sitemap : Génération de sitemap

Wordpress.com Stats : Intégration des outils de statistiques proposés par Wordpress.com

FeedBurner FeedSmith : Utilisation de Feedburner pour les flux RSS

Conclusion

au final, je n’ai pas tapé une seule ligne de code PHP pour mettre en place ce blog, le résultat n’est surement pas parfait, mais globalement tout a été plus simple que prévu. La seule incertitude pour l’instant concerne l’intégration de FeedBurner (j’ai peur d’avoir créer une boucle infinie qui empeche la mise à jour de FeedBurner).

Posted in General.

One Response

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Patrick Antoine said

    Merci pour ce billet très instructif. J’ai pu avancer dans mes essais de migration.
    J’ai néanmoins encore des difficultés pour les images car flatimport a conservé les images modifiés de gandiblog avec des ‘.’ et des ‘_s’ ou ‘_m’.
    Comment as-tu fait pour corriger ce problème ?

Some HTML is OK

(required)

(required, but never shared)

or, reply to this post via trackback.