On le sait, WordPress propulse une grosse partie du web.1
WordPress is used by 61.8% of all the websites whose content management system we know. This is 43.5% of all websites
Le rĂ©cent craquage de Matt Mullenweg, son cofondateur, a Ă©tĂ© lâoccasion pour moi de tester autre chose aprĂšs avoir installĂ©, dĂ©ployĂ©, mis Ă jour des centaines de WordPress (le 1er doit dater de 2008 đŽđ»). Bref il Ă©tait temps.
Entendu nous, cela reste un outil robuste, trÚs versatile et encore bien adapté à plein de projets.
Ce qui mâintĂ©ressait est de voir comment les frameworks JS ont Ă©voluĂ©, sous lâaspect SEO et maintenance. Comme Googlebot a toujours Ă©tĂ© mauvais et/ou lent pour interprĂ©ter le JS, ces frameworks ont longtemps Ă©tĂ© boudĂ©s par les SEO.
Mes premiers projets nécessitait une étape de pré-rendering du HTML via des services externes (ce qui ajoutait des coûts ou de la complexité); ou les premiÚres versions ne le permettait simplement pas et on se retrouvait avec un site web qui ne ranke pas dans Google (et accessoirement des clients pas contents).
Ce qui est cool, câest que maintenant les solutions existent.
SSR et SSG
DerriĂšre ces 2 acronymes se trouvent ce qui nous a manquĂ© aux dĂ©buts dâAngular, React et Vue.js pour ne citer que les plus connus.
SSR (Server-Side Rendering) : le framework va gĂ©nĂ©rer les pages HTML dynamiquement sur le serveur Ă chaque requĂȘte utilisateur, en rĂ©cupĂ©rant les donnĂ©es nĂ©cessaires et en construisant la page avant de lâenvoyer au navigateur. Nickel cĂŽtĂ© SEO car le HTML gĂ©nĂ©rĂ© est envoyĂ©, donc tout est lisible pour les robots des moteurs. LâinconvĂ©nient est que câest un peu plus lourd (et passe la charge Ă votre serveur)
SSG (Static Site Generation) : ici le framework va directement gĂ©nĂ©rer toutes les pages HTML au moment dâune Ă©tape de build, et crĂ©er un rĂ©pertoire de fichiers statiques (1 par page). Cela permet un site ultra rapide, un hĂ©bergement simplifiĂ©, au prix dâune flexibilitĂ© moindre puisquâil faut lancer cette commande de build Ă chaque mise Ă jour. Si le contenu bouge peu, cela reste idĂ©al.
Tous les principaux framework proposent lâune ou lâautre de ces solutions (voire les 2).
Les principaux noms Ă connaĂźtre :
- NextJS (basé sur React)
- NuxtJs (basé sur Vue)
- Astro (qui motorise ce blog)
- Svelte
- Angular
- Gatsby
Pour les sites de contenu pur, jâai une prĂ©fĂ©rence pour le SSG car cela reste imbattable en termes de performances, et permet une surface dâattaque bien plus rĂ©duite (on nâexpose que du HTML, pas de failles PHP ou dâinjection SQL Ă craindre).
Pour du ecommerce, Ă©videmment ce nâest pas la mĂȘme histoire, entre les stocks, les paniers persistants, comptes clients, ⊠mais une approche hybride est possible.
Et les CMS headless dans tout ça ?
On a parlĂ© des frameworks front qui sâoccupent de rendre les contenus, mais pas de leur gestion Ă proprement parler.
Câest lĂ quâinterviennent les CMS headless comme Contentfull, Prismic ou Strapi. Ce sera lâobjet de mon prochain test
Ă lâinverse des CMS monolithiques comme WordPress ou Drupal, ou en SaaS (de wix Ă webflow), le choix du CMS headless nâaura pas dâimpact direct cĂŽtĂ© SEO, puisque câest le framework front qui gĂšre le rendu HTML.