Histoire d'une migration

Histoire d'une migration

Lorsque Didier m'a confié le développement de son outil CMS, il y avait un paramètre dont je devais absolument tenir compte : les redirections des URL. Certains sites sont en ligne depuis quelques années et indexés sur de nombreuses requêtes.

Migrer 24 sites avec un script sur mesure

Basé à l'origine sur le CMS Xoops, chaque site tournait sans URL rewriting. Rien d'affolant en soi puisque cela n'impactait pas le trafic en lui-même et n'empêchait aucunement les sites de ranker. Le cahier des charges précisait toutefois d'embellir les URL. Le challenge était de migrer correctement 24 sites en causant un minimum de dégâts. Car vous le savez sans doute, certaines migrations sont catastrophiques lorsqu'elles sont mal préparées.

Après avoir codé un script plus ou moins de base que je modifiais légèrement selon la migration à effectuer, certains sites utilisaient des modules spécifiques et d'autres pas, je devais partir de la base de données de Xoops, importer toutes les informations dans les nouvelles tables et créer les URL rewritées à la volée. Jusque là, toujours aucun souci à signaler.

Ne m'occupant pas des migrations personnellement (j'ai créé un script d'installation pour le CMS), j'ai recherché la meilleure solution pour les redirections. Étant donné la variété des modules, plus certains qui devaient être regroupées au sein d'un seul, notamment les dossiers, cela me semblait compliqué d'insérer des règles dans le htaccess. Sans parler évidemment des structures des CMS qui sont totalement différentes.

Migration du site Parent-Solo

Gestion des redirections en PHP

Je me suis dit que le moins compliqué était de gérer les redirections dans un fichier PHP. Et vu le nombre de cas auxquels j'ai été confronté, je n'ai pas eu tort de me projeter sur ce système. Je pense que je me serais nettement plus arraché les cheveux en passant par le htaccess et ses règles parfois complexes. :)

Chaque module était géré indépendamment au sein d'une page. J'ai conservé le nom de la page (ex : module.php) dans son dossier d'origine dans laquelle j'ai scripté la redirection. J'y ai indiqué un code 301 dans l'entête HTTP et j'ai récupéré l'URL rewritée enregistrée en BDD. De cette manière, je renvoi l'ancienne URL (avec un GET de l'ID différent selon le module) vers la nouvelle URL sans de tracas.

Quelques chiffres

Pour parler chiffres concrètement, voici les premières informations que Didier m'a fourni :

  • 20% de hausse de trafic sur l'ensemble des sites
  • Un site qui faisait 950 VU/jour est passé à 1200 VU/jour juste après la migration (trafic stable)
  • Un site a perdu 30% de trafic lié à GG Images mais cela concernait des visiteurs non qualifiés (à analyser tout de même ^^) mais aussi du à la période de l'année qui n'est pas favorable pour cette thématique.

Voilà ! Un boulot qui s'est étalé sur quasiment 10 mois entre la signature du devis et la migration du dernier site (je vous rassure, je n'ai pas travaillé uniquement sur ce dossier). En tout cas, j'ai pris un énorme plaisir devant la variété des challenges techniques qui m'ont été proposés. Parce que la migration, finalement, était sans doute le point le plus facile à coder malgré tout ce que j'ai pu lire de négatif sur le sujet.

Je suis tout même content qu'il touche à sa fin pour attaquer de nouveaux projets en 2015. J'en profite pour vous souhaiter de bonnes fêtes de fins d'année et beaucoup de travail pour la suivante.

Catégorie Référencement - Écrit par le 15/12/2014 - Article lu 860 fois - 3 commentaires

3 réflexions sur ce billet

Plaisir partagé, et moi aussi pas mécontent d'en avoir (presque) fini avec ces migrations et xoops !!!

Concernant la baisse, je peux t'assurer que "maquillage fée" ou "maquillage libellule", ça te fait de la visite, mais ça ne m'achète pas de spectacle :-))))))))))

Joli,

Bon après les gains de trafic je les mets sur le fait que ton CMS est hyper léger et que les templates ont du être amélioré (par rapport aux anciens). La façon de migrer intervient surtout sur la non-perte de trafic / rankings

Quand j'étais au Texas, j'avais mis en place un système de migration plus ou moins identique mais c'était plus parce que le CMS inhouse de ma boite n'était pas foutu de gérer les 301 correctement. Du coup on passait par un fichier .asp qui faisait appel à une table de conformité OLD/NEW URLs.

Effectivement ça marche plutôt bien dans l'absolu et ça permet de ne pas se prendre trop le teston avec le fichier htaccess, voir pour les plus nuls de ne pas compromettre ce fichier htaccess.

Tiens ça fait plaisir en tout cas de trouver quelqu'un qui est parti sur les mêmes bases que moi pour cette soluce. Ça me fait me sentir presque intelligent !

@++

Écrit par Hervé
Le 15/12/2014 à 22h45

@ Didier : allez plus qu'une migration à faire. :)

@ Le Juge : Dans ce cas de figure, gérer les redirections par htaccess aurait été un véritable casse-tête. Pas besoin d'être intelligent, juste faire preuve de bon sens. Si ça te fait plaisir, c'est déjà ça. ;)

Les commentaires de ce billet sont fermés

Haut de page