Un cabinet d’expertise comptable avait lancé son site en Next.js sur WPGraphQL en 2022, convaincu par les temps de chargement et l’autonomie promise côté front. Deux ans plus tard, le même client nous a demandé de tout ramener sur un thème WordPress classique construit avec l’éditeur de site. Pas pour des raisons de performance : le site découplé restait rapide. Les raisons étaient ailleurs, et méritent d’être racontées sans détour plutôt que de prétendre que le headless était la mauvaise décision initiale.
Ce retour d’expérience ne rejoue pas le calcul théorique du coût du headless, déjà traité séparément : il décrit ce qui, concrètement, a rendu ce projet précis intenable dans la durée pour ce client précis.
Le vrai problème : l’autonomie éditoriale perdue
Le cabinet comptait deux personnes en interne capables d’écrire des articles, mais aucune capable de toucher au code front. Chaque nouvelle mise en page (une page de service avec une structure différente des autres) nécessitait un développeur, un déploiement, une revue de code. Avec l’éditeur de site apparu depuis dans WordPress, ces mêmes personnes auraient pu composer une nouvelle page directement depuis l’administration, sans ticket ni délai de développement.
Deux dépôts, deux calendriers de déploiement
Le front Next.js et le WordPress vivaient dans deux dépôts de code séparés, avec deux pipelines de déploiement distincts. Une simple évolution de champ (ajouter une information sur une page service) demandait de coordonner une modification côté WordPress et une adaptation côté front, souvent livrées à des moments différents, ce qui créait des fenêtres où le contenu et son rendu étaient temporairement désynchronisés.

Le calcul qui a fait basculer la décision
| Aspect | Situation headless | Situation thème classique |
|---|---|---|
| Autonomie éditoriale sur la mise en page | Faible, dépendante d’un développeur | Élevée, via l’éditeur de site |
| Temps de chargement perçu | Très bon | Bon, suffisant pour ce trafic |
| Coût de maintenance de deux bases de code | Élevé pour une équipe interne réduite | Nul, un seul projet |
Le trafic du site ne justifiait tout simplement pas l’écart de performance entre les deux approches : quelques centaines de visiteurs par jour, essentiellement des recherches de contact et d’horaires. Le vrai coût pesait entièrement du côté de l’autonomie perdue et de la complexité de maintenance à double niveau.
Ce qu’on a proposé avant d’en arriver là
Le retour à un thème classique n’a pas été la première option envisagée. On a d’abord proposé de former une personne du cabinet à un outil de gestion de contenu simplifié côté front, sans succès : le temps d’apprentissage restait disproportionné par rapport au volume de mises à jour réel, quelques pages par trimestre tout au plus. La seconde option, garder le headless mais réduire drastiquement la fréquence des changements de mise en page, aurait figé le site plus que le client ne le souhaitait. C’est cet échec des solutions intermédiaires qui a fini par convaincre tout le monde de la bascule complète.
Comment la migration s’est déroulée
- Reconstruction des gabarits en blocs natifs et modèles de l’éditeur de site, en s’appuyant sur les mêmes contenus déjà en base.
- Suppression progressive des champs personnalisés devenus inutiles, remplacés par des blocs natifs équivalents.
- Redirection puis désactivation propre de l’ancien front Next.js, une fois le nouveau thème validé en production.
Le headless n’était pas un mauvais choix en 2022, il correspondait à une ambition du moment. Il est simplement devenu disproportionné une fois l’ambition recentrée sur l’essentiel : un site rapide à faire vivre par deux personnes sans compétence technique.
Notre verdict
Cette migration inverse n’est pas un aveu d’échec, c’est un ajustement à un besoin réel qui avait changé. Le headless reste pertinent pour des projets à forte ambition front ou à trafic massif ; il devient un fardeau quand l’équipe qui doit faire vivre le contenu au quotidien n’a ni le temps ni les compétences pour suivre deux bases de code séparées.