Passer de SPIP à WordPress

[highlightdark]Mise à jour : Il existe un plugin WordPress pour migrer son site SPIP vers un WordPress ! FG SPIP to WordPress. Je ne l’ai pas testé mais les avis des utilisateurs sont très encourageants ![/highlightdark]

 

Mon site www.tueursenserie.org était installé sur un « antique » (mais solide) SPIP 1.9.

J’ai pris l’habitude d’utiliser WordPress pour mes autres sites, car j’aime sa facilité d’utilisation et ses nombreux plugins. Il était donc logique que je finisse par transférer mon site de SPIP vers WordPress.

Plus facile à dire qu’à faire ! Non seulement parce que les deux systèmes sont bien différents mais aussi parce que les quelques scripts que l’on trouve sur le net sont plutôt destinés à des SPIP moins anciens (actuellement, la version est la 3.0.17).

J’ai cependant fini par trouver mon bonheur en cherchant le plus basique et le plus efficace. Au lieu de passer par un plugin (buggué ou périmé) ou par un script PHP (idem), mieux vaut simplement lancer des requêtes SQL « en dur ».
Cela évite également les limites de taille et de poids de PHP (j’avais plus de 600 articles à transférer et une base de données de 13Mo au total).

Voilà mon petit mode d’emploi, au cas où vous chercheriez à faire la même chose. Je suis passé d’un SPIP 1.9 à un WordPress 4.0

  1. Installer WordPress en local, sur votre ordinateur. J’ai utilisé InstantWordpress, simple, pratique et efficace.
  2. Supprimer tous les articles, les rubriques, les pages, les tags, etc, installé automatiquement par WordPress. Le vider complétement.
  3. Récupérer votre base de données SPIP. Le plus simple et le plus sûr est de passer par le PhpMyAdmin de votre hébergement web, afin d’exporter un fichier sql, un dump ou un gz de votre base, qui contiendra toutes les tables.
    Note importante : vérifiez bien l’encodage de votre base, également appelé « charset ». Cela a une incidence sur l’affichage des « caractères accentués », c’est à dire les é à ï ô, etc, qui risquent de se transformer en « ? » ou en « &$~% »… Si votre base est en UTF8, tant mieux, exportez-là de même depuis phpMyAdmin. Si elle est en ISO ou en latin, mieux vaut la transformer en UTF8 avant de la réimporter dans le WordPress en local.
  4. En passant par le PhpMyAdmin de votre WordPress en local, installer les tables de cette base de données SPIP sur la base de données WordPress, grâce au fichier récupéré juste avant. Les tables SPIP et les tables WordPress doivent donc être sur la même base.
  5. Utiliser cette très jolie « contrib » SPIP, en respectant bien les consignes, c’est à dire en faisant chaque requête l’une après l’autre, et non pas tout en même temps (sinon, une erreur SQL apparaît). Les requêtes vont importer les rubriques, puis les articles.
    Selon la complexité de votre site et le(s) squelette(s) utilisé sur SPIP, il se peut que tout ne soit pas correctement récupéré sur WordPress et qu’il faille terminer le travail « à la main ». En ce qui me concerne, la partie « mettre à jour les urls ré écrites des catégories en se basant sur celles des rubriques spip » n’a pas fonctionné, mais il faut dire que la structure de mon site SPIP était assez particulière…
  6. On passe ensuite aux images, photos, documents, ce qui n’est pas une mince affaire, car SPIP et WordPress gèrent cela de manière complétement différente : WordPress créé des dossiers selon l’année et le mois de publication, alors que Spip place toutes les images dans un seul grand dossier média « IMG ». En ce qui me concerne, je devais de toute manière recréer toutes les images à la main, car mon thème WordPress en exige de plus grandes.
  7. Ne sont pas importés : les motcs-clés et les post_meta des images. Il faut donc les refaire à la main. Ou créer sa requête soi-même…
  8. Le WordPress est « rempli », le plus gros du travail est donc fait. Il reste à installer un thème et à peaufiner l’affichage, en réglant les rubriques, les tags et les pages.
  9. On est prêt à lancer son site mais… on se pose alors la question : « Mon site est référencé sur Google mais lorsque les gens vont cliquer sur un lien www.tueursenserie.org /spiparticle…, cela ne va plus fonctionner car le site sera à présent www.tueursenserie.org/wordpress… Damned ! Comment éviter les erreurs 404 ?« . Et là, la meilleure solution est simplement d’indiquer au serveur « quand tu cherches du spip et que tu ne trouves pas, tu vas sur du wordpress » (grâce au .htaccess).
    Mais si vous n’êtes pas très technique, le plugin Redirection peut vous sauver, même si cela vous demandera beaucoup de travail : il faudra alors indiquer pour chaque lien Spip le lien correspondant WordPress.

AVANT//

tueursenserie.org avant

APRES //

tueursenserieapres

Ça a été long et compliqué mais le résultat valait le coup !

Enregistrer

Enregistrer

Enregistrer

Enregistrer

Enregistrer

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *