Migrer un site WordPress vers Laravel : méthode, pièges et SEO
24 Oct 2026 | Développement Web et Mobile
WordPress est un excellent outil pour démarrer, mais certains sites finissent par s'y sentir à l'étroit : dépendance à de nombreux plugins, performances difficiles à maîtriser, logique métier qui s'empile dans le thème, ou besoin de fonctionnalités sur mesure. Migrer vers Laravel permet de reprendre le contrôle sur le code, l'architecture et les performances. Mais une migration mal préparée peut coûter cher en référencement. Voici une méthode structurée pour réussir ce passage, sans perdre vos positions Google.
1. Faut-il vraiment migrer ?
Avant d'écrire la moindre ligne de code, posez-vous la question honnêtement. Une migration est pertinente si :
- le site repose sur beaucoup de plugins qui se chevauchent ou deviennent difficiles à mettre à jour ;
- vous avez des besoins métier spécifiques (réservations, espace client, API, workflows) que WordPress gère mal ;
- vous voulez une base de code testable, versionnée et déployable de façon reproductible ;
- l'équipe maîtrise déjà PHP et Laravel.
À l'inverse, pour un simple site vitrine ou un blog sans logique particulière, WordPress bien configuré reste souvent le choix le plus économique. Migrer n'est pas une fin en soi.
2. Auditer l'existant
La phase d'audit est la plus rentable de tout le projet. Dressez l'inventaire de ce que le site fait réellement :
- Les types de contenus : pages, articles, types de contenus personnalisés, taxonomies, champs personnalisés (ACF ou autres).
- Les URL : exportez la liste complète des URL indexées (sitemap, Search Console, crawl). C'est la base de votre plan de redirections.
- Les plugins : pour chacun, notez la fonctionnalité qu'il fournit et décidez si elle sera recréée, remplacée par un package Laravel ou abandonnée.
- Les maquettes : faites des captures de chaque gabarit de page. Conserver ces maquettes dans un dossier du projet (par exemple
/maquettes) évite de se demander plus tard à quoi ressemblait la page d'origine. - Les données SEO : titres, méta-descriptions, balises canoniques, données structurées et pages les plus visitées.
3. Rédiger un plan de migration
Placez à la racine du projet un fichier PLAN.md qui décrit les modèles à créer, les packages retenus, l'ordre des étapes et les critères de validation. Ce document sert de référence à toute l'équipe et peut aussi guider un assistant de code : avec des outils comme ceux présentés dans notre article sur Laravel Boost, un plan clair permet de générer plus vite les modèles, migrations et squelettes du back-office.
4. Modéliser les données côté Laravel
Ne reproduisez pas la structure de WordPress à l'identique. Sa table wp_posts mélange articles, pages, révisions et pièces jointes, et wp_postmeta stocke les champs personnalisés sous forme clé/valeur. Dans Laravel, créez au contraire des modèles explicites :
- un modèle et une table par concept métier (
Page,Article,Service, etc.) ; - des colonnes typées à la place des métadonnées génériques ;
- des relations Eloquent claires pour les catégories, tags et médias ;
- une colonne
slugunique que vous alimenterez avec les slugs d'origine.
Pensez aussi aux index et au chargement des relations dès cette étape : une bonne modélisation évite les problèmes décrits dans notre guide sur les requêtes lentes sous Laravel.
5. Choisir un back-office : l'exemple de Filament
WordPress offre un tableau de bord prêt à l'emploi ; il faut donc le remplacer. Deux options reviennent le plus souvent dans l'écosystème Laravel : Nova (payant) et Filament (open source). Pour un projet de migration, Filament présente plusieurs avantages : génération rapide de ressources CRUD, formulaires et tableaux déclaratifs, gestion des rôles, et une communauté très active. C'est le choix que j'ai retenu pour la migration de linstantrest.ma. Filament s'appuie sur Livewire : si vous hésitez sur l'approche front-end pour la partie publique, lisez notre comparatif Livewire ou Inertia.
Un conseil pratique : construisez d'abord les ressources Filament pour les contenus que l'équipe éditoriale modifie le plus souvent. C'est ce qui conditionne l'adoption de la nouvelle solution.
6. Importer les contenus
Deux approches principales s'offrent à vous :
- L'export WordPress (fichier WXR) : pratique pour les articles, pages et médias. Vous le parsez avec un script Artisan.
- La lecture directe de la base MySQL : en déclarant une seconde connexion dans
config/database.php, une commande Artisan lit les tables WordPress et alimente vos nouveaux modèles.
Dans les deux cas, écrivez une commande d'import idempotente : elle peut être relancée autant de fois que nécessaire sans créer de doublons (utilisez updateOrCreate sur une clé d'origine, par exemple l'ID WordPress). Cela vous permet de rejouer l'import juste avant la mise en production avec les dernières modifications. Pour un gros volume de médias, confiez leur copie à des jobs en file d'attente, comme expliqué dans notre article sur les files d'attente et les jobs idempotents.
Points d'attention lors de l'import :
- le HTML des contenus contient souvent des shortcodes WordPress (
[gallery],[contact-form]) à convertir ou supprimer ; - les URL des images pointent vers
/wp-content/uploads/: copiez les fichiers et réécrivez les chemins ; - l'encodage et les entités HTML peuvent produire des caractères corrompus, à vérifier sur un échantillon.
7. Préserver le SEO : le cœur de la migration
C'est ici que se joue la réussite du projet. Les moteurs de recherche ont indexé vos URL : si elles changent sans précaution, vous perdez votre trafic. Le détail des balises, du sitemap et des données structurées est traité dans notre guide du SEO technique d'un site Laravel.
Conserver les URL autant que possible
Reprenez la même structure d'URL et les mêmes slugs. Si le site utilisait /nom-de-la-page/, configurez vos routes Laravel pour répondre exactement à ce chemin.
Mettre en place des redirections 301
Pour chaque URL qui change, créez une redirection permanente. Dans Laravel, vous pouvez définir un tableau de correspondances (ancienne URL vers nouvelle URL) chargé par un middleware, ou stocker les redirections en base pour que l'équipe les gère depuis Filament. Évitez les chaînes de redirections : l'ancienne URL doit pointer directement vers la destination finale.
Reprendre les balises et les métadonnées
- titres et méta-descriptions de chaque page (souvent gérés par Yoast ou Rank Math : exportez-les avant la migration) ;
- balise canonique correcte sur chaque page ;
- balises Open Graph et données structurées ;
- fichier
robots.txtet sitemap XML régénérés.
Surveiller après le lancement
Soumettez le nouveau sitemap dans la Search Console et surveillez pendant plusieurs semaines les erreurs 404, la couverture de l'index et l'évolution des impressions. Une baisse temporaire est normale ; une chute durable signale un problème de redirections ou de contenu manquant.
8. Recréer les fonctionnalités des plugins
Chaque plugin utilisé doit trouver un équivalent. Quelques correspondances courantes :
- Formulaires de contact : un contrôleur, une
FormRequestde validation et une notification par e-mail ; - Cache et performance : le cache applicatif de Laravel, le cache HTTP et un CDN (voir notre guide sur les Core Web Vitals sur Laravel) ;
- Sécurité : la protection CSRF, la limitation de débit et les bonnes pratiques décrites dans notre checklist de sécurité Laravel ;
- Sitemap et SEO : un package dédié ou une génération planifiée via le scheduler.
9. Tester avant de basculer
Avant la mise en production, comparez l'ancien et le nouveau site :
- parcourez la liste des URL de l'audit et vérifiez que chacune répond en 200 ou redirige en 301 ;
- comparez visuellement les pages clés avec vos maquettes ;
- testez les formulaires, la recherche et tous les parcours critiques ;
- mesurez les performances (temps de réponse, Core Web Vitals) pour confirmer le gain attendu.
10. Planifier la bascule
Choisissez un créneau de faible trafic. Gelez les modifications côté WordPress, relancez l'import final, déployez, puis changez le DNS ou la configuration du serveur web. Pour automatiser le déploiement avec retour arrière rapide, consultez notre guide sur le déploiement de Laravel sur un VPS avec GitHub Actions. Gardez l'ancien site accessible sur un sous-domaine ou une sauvegarde pendant quelques semaines pour pouvoir comparer ou revenir en arrière si nécessaire.
Erreurs fréquentes à éviter
- changer la structure des URL sans plan de redirection ;
- oublier les pages de pagination, les catégories et les anciennes URL d'images ;
- migrer sans export préalable des métadonnées SEO ;
- sous-estimer le temps passé sur le contenu : l'import est rapide, le nettoyage ne l'est pas ;
- lancer la mise en production un vendredi ou la veille d'une période de forte affluence.
Conclusion
Migrer de WordPress vers Laravel est un vrai chantier, mais bien préparé, il apporte une base de code maîtrisée, de meilleures performances et une grande liberté fonctionnelle. La clé tient en trois mots : audit, redirections, vérification. Si vous gardez vos URL, importez vos données de façon rejouable et surveillez la Search Console après le lancement, votre référencement traversera la migration sans dommage.
Commentaires (0)
Aucun commentaire pour le moment.
Laissez un commentaire