Opter pour un site WordPress headless plutôt que pour une architecture de site traditionnelle change considérablement la donne en matière de référencement. Cette approche sépare la partie frontend du site de sa partie backend, ce qui accroit la flexibilité et la rapidité. Mais elle pose également de nouveaux défis en matière de SEO.

En effet, la visibilité de votre site et la manière dont les internautes vous trouvent grâce aux moteurs de recherche dépendent de vos tactiques de référencement. C’est pourquoi nous abordons aujourd’hui quelques stratégies de SEO avancées conçues spécialement pour les sites WordPress headless.

Nous allons nous assurer que les moteurs de recherche peuvent correctement explorer votre site, modifier les balises méta, et plus encore. Que vous codiez le site ou que vous élaboriez des stratégies de marketing, vous obtiendrez des conseils pratiques pour affiner vos compétences en matière de SEO.

Nous allons nous y mettre.

Comment rendre les sites WordPress headless explorables

Rendre les sites WordPress headless explorables présente des défis uniques que les sites traditionnels ne rencontrent pas. Le principal obstacle vient du fait que le contenu des sites headless est rendu côté client en utilisant JavaScript, ce qui a historiquement posé des difficultés aux robots des moteurs de recherche en termes d’exploration et d’indexation.

Toutefois, des techniques modernes telles que le rendu dynamique et le rendu côté serveur ont considérablement facilité la résolution de ces problèmes.

Rendu dynamique

Le rendu dynamique sert de pont entre les contenus à forte teneur en JavaScript et les robots d’indexation des moteurs de recherche. Il consiste à présenter aux moteurs de recherche un instantané HTML statique et pré-rendu du contenu de votre site, tandis que les utilisateurs continuent de découvrir la version dynamique et interactive.

Les robots d’indexation peuvent ainsi indexer le contenu de votre site sans avoir à exécuter de JavaScript, ce qui améliore immédiatement sa visibilité et ses performances en matière de référencement.

Pour mettre en œuvre le rendu dynamique dans un environnement WordPress headless, vous utiliserez typiquement une solution comme prerender.io ou construirez votre propre mécanisme de rendu côté serveur, éventuellement avec Node.js.

Prerender
Prerender

Voici une décomposition conceptuelle :

1. Détection des agents utilisateurs

Vous devez faire la différence entre les requêtes faites par les utilisateurs (navigateurs) et celles faites par les robots d’indexation (comme Googlebot). Pour cela, vous pouvez vérifier l’agent utilisateur dans les en-têtes HTTP des requêtes entrantes.

2. Servir du contenu statique aux robots

Lorsqu’un robot d’exploration est détecté, votre serveur redirige la requête vers une version HTML statique pré-rendue de la page demandée, au lieu de servir le contenu habituel, lourd en JavaScript. Pour ce faire, vous pouvez soit utiliser un service de pré-rendu, soit disposer d’une configuration de pré-rendu sur votre serveur qui génère des pages HTML statiques de votre contenu à la volée ou à partir d’un cache.

3. Comment le mettre en place avec WordPress

Des services comme prerender.io proposent un middleware qui peut être intégré à votre serveur. Ce middleware intercepte les requêtes entrantes, vérifie si elles proviennent de robots d’exploration, et si c’est le cas, sert une page pré-rendue à partir du cache de prerender.io ou déclenche le rendu d’une nouvelle page si elle n’est pas en cache.

Si vous construisez une solution personnalisée, vous utiliserez typiquement Puppeteer dans un environnement Node.js pour pré-rendre les pages. Lorsque votre API WordPress délivre du contenu à votre serveur Node.js, il vérifie l’agent utilisateur. S’il s’agit d’un robot d’exploration, Puppeteer rend la page, enregistre le HTML statique et sert cette version.

Ce processus peut être optimisé en mettant en cache les pages statiques afin d’éviter de les rendre à chaque requête d’un robot d’exploration.

Rendu côté serveur

Le rendu côté serveur, quant à lui, consiste à rendre le contenu de la page sur le serveur avant qu’il n’atteigne le client. Cela signifie que lorsqu’un robot de moteur de recherche demande une page, il reçoit une page HTML entièrement rendue, ce qui la rend immédiatement indexable.

Vous pouvez mettre en œuvre le rendu côté serveur en utilisant divers frameworks et bibliothèques JavaScript, tels que React et Node.js, pour rendre le contenu directement sur le serveur. Cette approche permet non seulement de rendre le contenu plus accessible aux moteurs de recherche, mais aussi d’améliorer l’expérience globale de l’utilisateur en accélérant le temps de chargement des pages.

Pour le rendu côté serveur, l’utilisation de frameworks comme Next.js en combinaison avec l’API REST de WordPress ou GraphQL peut rationaliser le processus.

Une configuration typique peut impliquer la récupération de données avec GraphQL et le rendu des pages sur le serveur en utilisant Next.js, ce qui permet de pré-remplir le contenu avant qu’il ne soit servi.

Configuration des URL canoniques

Configurer des URL canoniques pour un site WordPress headless est un autre moyen de maintenir l’intégrité du SEO, en particulier lorsque le contenu est servi par un frontend découplé comme Gatsby ou Next.js.

Les URL canoniques permettent d’éviter les problèmes de contenu dupliqué en signalant aux moteurs de recherche quelle version d’une page de contenu est la version principale ou « canonique ». Ceci est nécessaire dans un environnement headless où le contenu peut être accessible par plusieurs routes ou points de terminaison.

Pourquoi les URL canoniques sont importantes

Dans un environnement WordPress headless, le risque de duplication du contenu augmente en raison de la séparation entre le frontend et le backend de WordPress. Les URL canoniques atténuent ce risque en guidant les moteurs de recherche pour qu’ils indexent l’URL préférée. Cela garantit que la valeur SEO est consolidée sur la page canonique plutôt que d’être diluée dans plusieurs versions du même contenu.

Prendre le temps de définir des URL canoniques permet également de clarifier quelle version du contenu doit être classée dans les résultats de recherche.

Comment mettre en place des URL canoniques

La mise en place d’URL canoniques dans un environnement WordPress headless peut être gérée efficacement avec l’aide de l’extension Yoast SEO, ainsi que WPGraphQL, pour connecter les données Yoast SEO à votre installation headless.

Voici un aperçu de haut niveau d’un processus que le développeur web Andrew Kepson explique en détail et qui implique deux extensions populaires :

  • Utilisez l’extension Yoast SEO pour faciliter la gestion des URL canoniques directement dans l’interface d’administration de WordPress. En spécifiant l’URL canonique pour chaque élément de contenu, vous pouvez contrôler l’URL préférée directement à partir de WordPress.
  • L’extension WPGraphQL crée un point de terminaison GraphQL pour votre site WordPress, permettant à l’application frontend (construite avec des frameworks comme Gatsby ou Next.js) d’interroger le contenu de WordPress, y compris les données SEO fournies par Yoast.
  • Ensuite, utilisez le module WPGraphQL Yoast SEO pour servir de pont entre Yoast SEO et WPGraphQL et pour connecter les champs SEO du premier (y compris les URL canoniques) au schéma du second. Cela permet à votre frontend headless d’interroger et d’utiliser les URL canoniques définies dans Yoast, en s’assurant que les balises canoniques correctes sont rendues dans l’en-tête de vos pages.
Utilisez l'extension WPGraphQL pour configurer les URL canoniques dans un environnement headless.
Utilisez l’extension WPGraphQL pour configurer les URL canoniques dans un environnement headless.

Pour la mise en œuvre pratique, une fois que Yoast et les modules WPGraphQL nécessaires sont installés et activés, vous pouvez gérer les données SEO de votre site directement à partir de WordPress.

Lorsque vous configurez votre application frontend, vous interrogez ces données SEO, y compris les URL canoniques, via WPGraphQL et les rendez de manière appropriée dans l’en-tête de vos pages. Cela garantit que les moteurs de recherche reconnaissent et indexent correctement vos URL canoniques, même dans une architecture découplée.

Optimiser les balises méta dans un environnement WordPress headless

L’optimisation des balises méta dans un environnement WordPress headless, en particulier lorsque vous utilisez une technologie frontend comme React, est essentielle pour améliorer les performances SEO de votre site. Les balises méta jouent un rôle important dans la façon dont les moteurs de recherche comprennent et affichent vos pages web dans les résultats de recherche. Elles aident à définir le titre, la description, les mots-clés et d’autres informations importantes sur vos pages que les moteurs de recherche utilisent pour indexer et classer le contenu de manière efficace.

Les balises méta sont importantes, bien sûr, car elles servent de résumé concis du contenu d’une page web, influençant l’affichage de votre site dans les résultats des moteurs de recherche et le taux de clics. La balise titre, par exemple, est affichée comme titre cliquable dans les résultats de recherche et peut faire une énorme différence en matière de référencement et d’engagement des utilisateurs.

De même, les méta-descriptions fournissent un bref aperçu du contenu de la page sous le titre dans les résultats de recherche, ce qui encourage les utilisateurs à cliquer sur votre site.

Utiliser React Helmet pour les balises méta

React Helmet est un composant React réutilisable qui gère les modifications de l’en-tête du document, ce qui vous permet de modifier facilement les balises méta, les titres de page et d’autres éléments de l’en-tête de manière dynamique. Il est particulièrement utile pour les sites WordPress headless

Pour commencer à utiliser React Helmet, vous devez l’installer dans votre projet en utilisant npm ou yarn :

npm install react-helmet

# or

yarn add react-helmet

Après l’installation, vous pouvez importer React Helmet dans vos composants et l’utiliser pour configurer diverses balises méta. Par exemple, pour définir les titres des pages et les méta-descriptions, vous pouvez faire quelque chose comme :

import { Helmet } from 'react-helmet';

function MyPage() {

return (

<>

<Helmet>

<title>My Page Title</title>

<meta name="description" content="A concise description of my web page." />

</Helmet>

{/* Rest of your component */}

</>

);

}

React Helmet prend également en charge les données dynamiques, ce qui vous permet de définir des balises méta en fonction des accessoires ou de l’état de votre application React. Cette flexibilité est essentielle pour adapter les métadonnées SEO à des pages et des types de contenu spécifiques de manière dynamique.

Parmi les autres éléments d’en-tête importants que vous pouvez gérer figurent les données structurées (à l’aide de JSON-LD pour les rich snippets), les balises Open Graph pour le partage des réseaux sociaux, et même les éléments permettant d’améliorer l’accessibilité

Optimiser le balisage schema

L’optimisation du balisage schema est un autre facteur important pour améliorer le SEO de votre site WordPress, que ce soit dans une configuration traditionnelle ou dans un environnement headless.

Le balisage schema, un type de micro-données, enrichit les résultats de votre site dans les moteurs de recherche en activant des extraits enrichis (rich snippets) – qui comprennent des informations détaillées telles que des évaluations par étoiles, des prix pour les produits, et plus encore – directement dans les résultats de recherche. Cela peut améliorer considérablement la visibilité et le taux de clics.

Dans une configuration WordPress traditionnelle, le balisage schema est souvent géré par des extensions SEO comme Yoast SEO, qui simplifie l’ajout et la personnalisation des types de schéma directement dans le tableau de bord de WordPress. Ces extensions génèrent automatiquement les extraits de code nécessaires en fonction du contenu de vos pages ou de vos articles. Il est donc très facile d’ajouter des types de schéma sans toucher à une seule ligne de code.

Mais dans un environnement WordPress headless, la gestion du balisage schema devient un peu plus pratique. Vous travaillez essentiellement avec une application frontend distincte (comme un site construit avec React), ce qui signifie que vous devez intégrer manuellement le balisage schema dans votre contenu au fur et à mesure que vous développez votre site. Cela pourrait impliquer d’injecter dynamiquement le balisage schema dans votre HTML à l’aide de JavaScript ou de tirer parti d’outils de référencement frontend.

Pour les sites WordPress headless, vous pouvez utiliser des outils comme React Helmet pour gérer l’en-tête de vos pages web, y compris l’ajout de balises schema. Comme nous l’avons déjà établi, React Helmet vous permet de définir dynamiquement des balises méta, des titres et, ce qui est crucial, des données structurées au format JSON-LD directement dans vos composants React.

Voici une approche simplifiée de la gestion du balisage schema dans les environnements headless :

1. Utiliser des bibliothèques côté client

Une bibliothèque côté client comme React Helmet peut être super utile ici pour insérer manuellement le balisage schema dans vos pages. Cela implique de créer des extraits de données structurées JSON-LD et de les inclure dans l’en-tête de vos pages à l’aide de React Helmet.

2. Créer des scripts

Pour créer manuellement des scripts JSON-LD, commencez par définir la structure de votre contenu dans un format JSON que Google et les autres moteurs de recherche peuvent comprendre. Cela implique de spécifier des types tels que Article, Personne ou Évènement et leurs propriétés conformément aux directives Schema.org.

3. Utiliser les outils disponibles

Vous pouvez ensuite intégrer ces scripts dans le code HTML de vos pages, généralement dans l’en-tête, en utilisant des techniques de rendu côté serveur. Des outils tels que Structured Data Markup Helper de Google peuvent vous aider à générer la syntaxe JSON-LD correcte.

Aide au balisage des données structurées de Google
Aide au balisage des données structurées de Google

Pensez à l’optimisation de la recherche vocale

L’optimisation pour la recherche vocale dans le contexte d’une installation WordPress headless implique une approche stratégique qui combine les meilleures pratiques SEO avec les nuances techniques de l’architecture headless. Voici comment vous pouvez optimiser efficacement la recherche vocale dans un environnement WordPress headless, en veillant à ce que votre contenu soit bien classé pour les recherches vocales.

1. Laissez les données structurées faire le travail pour vous

Nous avons déjà longuement parlé du « comment », mais la mise en œuvre de données structurées (schema markup) est nécessaire pour optimiser correctement un site headless.

Les données structurées aident les moteurs de recherche à comprendre le contexte et le contenu de votre site, ce qui leur permet d’afficher plus facilement vos informations en réponse à des requêtes vocales. Dans une configuration headless, vous devrez peut-être insérer manuellement le balisage de schéma dans vos composants React (comme nous l’avons déjà évoqué), Vue ou Angular, en fonction de ce que vous utilisez pour votre frontend.

Angular
Angular

2. Concentrez-vous sur le contenu conversationnel et les mots-clés

Étant donné qu’elles sont prononcées, les requêtes de recherche vocale ont tendance à imiter les modèles de discours et à utiliser des formulations conversationnelles. En outre, elles sont généralement plus longues que les recherches textuelles. Lorsque vous créez du contenu sur votre site, essayez d’utiliser un langage naturel qui correspond à la façon dont les gens parlent. Cela signifie que vous devez mettre l’accent sur les mots clés à longue traine et les requêtes basées sur des questions, qui sont courantes dans les recherches vocales.

3. Améliorez le référencement local pour les recherches « près de chez moi »

La plupart du temps, lorsque les gens utilisent la recherche vocale, c’est pour trouver quelque chose de local, comme des entreprises ou des services à proximité. Pour optimiser votre site WordPress headless pour ces recherches, assurez-vous que le contenu de votre site inclut des mots-clés et des phrases locales. Veillez à mettre à jour votre fiche Google My Business et à intégrer des données structurées locales afin d’améliorer la visibilité de votre site pour les recherches vocales locales.

4. Créez des pages et des sections FAQ

Les utilisateurs de la recherche vocale cherchent souvent des réponses rapides à des questions spécifiques. La création de pages ou de sections FAQ contenant des réponses concises aux questions les plus courantes vous permet de répondre à ces personnes là où elles se trouvent.

Envisagez de créer des sections FAQ dynamiques qui extraient le contenu de WordPress via des API et l’affichent sur le frontend dans un format facilement accessible. En structurant ces FAQ avec des titres et des données structurées appropriés, vous pouvez améliorer leur visibilité dans les résultats de la recherche vocale.

5. Exploitez pleinement les extraits enrichis et les extraits mis en avant

Essayez de structurer votre contenu de manière à ce qu’il soit éligible aux extraits enrichis et aux extraits mis en avant, qui sont affichés en évidence dans les résultats de recherche.

Cela implique de structurer clairement votre contenu et d’utiliser le balisage schema pour mettre en évidence les informations clés. Dans un environnement WordPress headless, assurez-vous que votre API de contenu fournit un contenu structuré d’une manière que les applications frontend peuvent utiliser pour générer des formats adaptés aux extraits.

Créez des taxonomies bien pensées

Créer des taxonomies bien pensées dans un environnement WordPress headless consiste à organiser votre contenu d’une manière structurée et intuitive qui profite à la fois aux visiteurs du site et aux moteurs de recherche.

Pour créer des taxonomies efficaces qui fonctionnent pour les sites headless, vous pouvez :

  • Comprendre votre public et votre contenu : Commencez par analyser votre contenu pour identifier les thèmes principaux et comprendre ce que votre public recherche. Ces informations vous aideront à créer des catégories et des balises pertinentes.
  • Développer des catégories : Les catégories doivent représenter les grands thèmes abordés sur votre site. Elles fournissent une structure hiérarchique pour organiser le contenu en thèmes principaux. Veillez à ce que les catégories soient distinctes et couvrent l’ensemble de votre contenu sans trop de chevauchements.
  • Utiliser des étiquettes pour les détails : Les étiquettes offrent un niveau de détail granulaire, vous permettant de marquer des aspects spécifiques de votre contenu. Elles peuvent aider les internautes et les moteurs de recherche à trouver du contenu sur des sujets plus spécifiques au sein de vos catégories plus larges.
  • Simplifier et optimisez la navigation : Votre taxonomie doit améliorer la navigation sur le site, en permettant aux utilisateurs de trouver plus facilement le contenu. Incorporez des mots-clés favorables au référencement dans vos catégories et vos étiquettes afin d’améliorer la visibilité de votre site.
  • Maintenir la clarté et évitez les doublons : Veillez à ce que chaque catégorie et chaque étiquette soit unique afin d’éviter d’embrouiller les utilisateurs et de diluer les efforts de SEO. Des audits réguliers peuvent vous aider à affiner votre taxonomie, en fusionnant ou en supprimant les catégories ou les étiquettes redondantes.
  • Intégrer les taxonomies dans le headless : Dans un site WordPress headless, assurez-vous que votre taxonomie est correctement implémentée afin que les catégories et les étiquettes soient accessibles via votre API et puissent être utilisées dynamiquement par l’application frontend.
  • Réviser et mettre à jour régulièrement : Au fur et à mesure que votre site grandit, révisez périodiquement votre taxonomie pour vous assurer qu’elle reflète toujours correctement votre contenu.

Il est parfois utile de conceptualiser ce à quoi cela pourrait ressembler dans la vie réelle. Voici un petit exemple : Imaginez un blog de cuisine qui présente une variété de recettes. Voici à quoi pourrait ressembler une taxonomie bien organisée :

  • Catégories : Thèmes généraux qui représentent les principaux piliers du contenu du blog, tels que la cuisine (italienne, mexicaine, japonaise), le type de repas (petit-déjeuner, déjeuner, diner, collations) et les régimes spéciaux (végétalien, sans gluten, Keto).
  • Étiquettes : Des descripteurs plus spécifiques qui peuvent recouper plusieurs catégories, comme « Repas rapides » (pour les recettes de moins de 30 minutes), « Vacances » (pour les recettes de Noël et de Thanksgiving), ou des étiquettes basées sur des ingrédients comme « Poulet », « Pâtes » ou « Avocat »

Cette structure permet aux visiteurs de naviguer rapidement vers le type de recettes qui les intéresse, qu’ils soient à la recherche d’une idée de petit-déjeuner rapide, d’un dessert végétalien ou d’un plat italien traditionnel. Elle aide également les moteurs de recherche à comprendre le contenu du blog, ce qui améliore la visibilité du site dans les résultats de recherche pour ces sujets spécifiques.

Indicateurs de performance à surveiller

Lorsque vous gérez un site web propulsé par un CMS headless, il n’est pas nécessaire de se plonger dans les mesures de performance. Vous travaillez avec une configuration qui sépare l’affichage frontend de la gestion du contenu backend, ce qui laisse de nombreuses possibilités de ralentissement. Il est donc essentiel de comprendre les performances de votre site.

Vous devrez prêter attention aux mesures de performance traditionnelles telles que les Core Web Vitals et le temps de chargement du site pour garantir les meilleures performances possibles en matière de SEO.

Core Web Vitals

Lorsque l’on parle de performances d’un site, il serait dommage de ne pas mentionner les Core Web Vitals (ou signaux web essentiels). Il s’agit de la manière dont Google quantifie l’expérience utilisateur sur votre site, en se concentrant sur trois domaines principaux. Voici un bref récapitulatif de ce qu’ils impliquent :

  • Largest Contentful Paint (LCP) : Ce critère mesure la rapidité de chargement du contenu principal d’une page. Plus c’est rapide, mieux c’est, car cela signifie que les internautes accèdent à votre contenu sans se tourner les pouces dans l’attente.
  • First Input Delay (FID) : Il s’agit ici de réactivité. Une fois votre page chargée, à quelle vitesse peut-elle répondre aux interactions de l’utilisateur ? Si les visiteurs se retrouvent à cliquer sans réaction immédiate, la frustration peut s’installer.
  • Cumulative Layout Shift (CLS) : Avez-vous déjà vu un texte ou un bouton bouger au moment où vous alliez cliquer dessus ? C’est ce que mesure le CLS. La stabilité est essentielle ici. Les utilisateurs ne doivent pas avoir l’impression de cliquer sur une cible en mouvement.

L’amélioration de ces mesures peut conduire à une meilleure expérience utilisateur, que Google récompense par un meilleur classement dans les moteurs de recherche.

Minification du JavaScript et chargement asynchrone

La minification du JavaScript et l’utilisation du chargement asynchrone des scripts peuvent réduire le temps de chargement de votre site. En réduisant le code à l’essentiel et en permettant aux scripts de s’exécuter simultanément sans bloquer le chargement de la page, vous rationalisez essentiellement les opérations du backend pour garantir de meilleures performances sur l’interface publique.

Prendre le temps de perfectionner les mesures de performance dans un environnement CMS headless ne consiste pas seulement à cocher des cases pour Google. Il s’agit de créer une expérience transparente et attrayante pour les visiteurs de votre site tout en veillant à ce que les moteurs de recherche puissent trouver et favoriser votre contenu. C’est un exercice d’équilibre entre l’optimisation technique et la conception centrée sur l’utilisateur, et le fait de bien faire les choses peut permettre à votre site de se démarquer – tout en continuant à profiter de la flexibilité qu’offre le headless.

Résumé

Optimiser le SEO sur un WordPress headless n’est pas aussi difficile qu’il n’y parait. Ici, nous avons expliqué l’essentiel, en vous montrant comment rendre votre site non seulement visible, mais aussi attrayant pour les moteurs de recherche et les personnes réelles.

Nous avons abordé un peu de tout, de la facilité d’exploration de votre site par les moteurs de recherche à l’optimisation des balises méta, en passant par l’intégration de la recherche vocale dans votre site. Et si vous souhaitez vraiment booster les performances de votre site WordPress headless, l’hébergement de sites statiques pourrait bien être la prochaine étape à franchir.

Jeremy Holcombe Kinsta

Content & Marketing Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems ;).