Le schéma Article (ou BlogPosting) est celui que tu utilises sur chaque article de blog. La plupart des sites le mettent en place avec 4-5 champs de base et s’arrêtent là. En réalité, 8 propriétés supplémentaires peuvent doubler ton impact. Voici lesquelles, et comment les implémenter.
Les champs de base (que tout le monde fait)
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Titre de l'article",
"datePublished": "2026-04-11",
"author": {
"@type": "Person",
"name": "Auteur"
},
"publisher": {
"@type": "Organization",
"name": "Pulsari"
}
}
C’est suffisant pour passer le Rich Results Test de Google. Mais c’est juste le minimum syndical.
Les 8 propriétés qui changent tout
1. dateModified
"datePublished": "2026-04-11",
"dateModified": "2026-04-15"
Le champ le plus important après author. Il indique quand ton article a été mis à jour pour la dernière fois. Les LLM privilégient les contenus frais. Un article sans dateModified est supposé obsolète.
Règle : change dateModified à chaque update (même mineur). Ne le laisse pas égal à datePublished si tu as édité.
2. mainEntityOfPage
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://getpulsari.com/blog/article-slug"
}
Déclare que cet article est l’élément principal de la page, pas une ressource secondaire. Aide les IA à prioriser ce contenu sur une page qui peut avoir du secondaire.
3. wordCount
"wordCount": 1250
Déclare la longueur de l’article. Les IA utilisent ce nombre pour juger la profondeur du contenu (articles longs = plus de confiance sur les sujets complexes).
4. articleBody
"articleBody": "Le contenu complet de l'article en texte brut..."
Le texte de l’article en plein text, sans HTML. Les LLM peuvent le lire directement sans parser ton HTML. Utile si ton HTML est complexe ou généré par JS.
Attention : ne duplique pas si ton article est déjà en clair dans le HTML. Ne sert que si ton HTML est compliqué.
5. about
"about": [
{
"@type": "Thing",
"name": "Generative Engine Optimization"
},
{
"@type": "Thing",
"name": "Audit de visibilite IA"
}
]
Liste des entités principales dont parle l’article. Les IA utilisent ce champ pour décider “cet article est pertinent pour ma question”.
Tu peux aussi utiliser des entités Wikipedia pour plus de précision :
"about": [
{
"@type": "Thing",
"name": "Search engine optimization",
"sameAs": "https://en.wikipedia.org/wiki/Search_engine_optimization"
}
]
6. keywords
"keywords": "geo, seo, visibilite ia, chatgpt"
Liste de mots-clés séparés par des virgules. Semblable au <meta keywords> classique mais structuré. Les IA les utilisent comme hint pour le contenu.
7. image
"image": {
"@type": "ImageObject",
"url": "https://getpulsari.com/images/article-hero.jpg",
"width": 1200,
"height": 630,
"caption": "Illustration du GEO"
}
Utilise un objet ImageObject complet avec width, height et caption. Les IA peuvent utiliser ta caption comme contexte pour les images dans leurs réponses multimodales.
8. inLanguage
"inLanguage": "fr-FR"
Déclare explicitement la langue de l’article. Important quand ton site a des articles multilingues ou quand tu veux être sûr que les IA servent ton contenu aux utilisateurs francophones.
Un schéma Article complet
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"@id": "https://getpulsari.com/blog/article-slug#article",
"headline": "GEO vs SEO : quelles différences et pourquoi c'est urgent en 2026",
"description": "Le SEO classique vacille, le GEO prend le relais. Découvre les différences concrètes.",
"inLanguage": "fr-FR",
"keywords": "geo, seo, différence geo seo, generative engine optimization, visibilité ia",
"wordCount": 1250,
"datePublished": "2026-04-11",
"dateModified": "2026-04-11",
"author": {
"@type": "Person",
"name": "Claire Aubert",
"url": "https://getpulsari.com/team/claire-aubert"
},
"publisher": {
"@type": "Organization",
"name": "Pulsari",
"@id": "https://getpulsari.com#organization",
"logo": {
"@type": "ImageObject",
"url": "https://getpulsari.com/logo.svg"
}
},
"image": {
"@type": "ImageObject",
"url": "https://getpulsari.com/images/geo-vs-seo-hero.jpg",
"width": 1200,
"height": 630
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://getpulsari.com/blog/geo-vs-seo"
},
"about": [
{
"@type": "Thing",
"name": "Generative Engine Optimization"
},
{
"@type": "Thing",
"name": "Search engine optimization"
}
]
}
C’est 20 minutes de travail par article, mais l’impact est très réel.
L’automatisation
Tu ne vas pas écrire ce JSON à la main pour chaque article. Automatise via ton CMS :
WordPress
Plugin Rank Math : génère automatiquement les champs de base + permet d’ajouter manuellement les champs avancés par article.
Plugin Yoast SEO Premium : idem.
Astro
Plugin @astrojs/seo + composant custom BlogPostingSchema.astro qui lit les frontmatters des articles.
---
const { post } = Astro.props;
const schema = {
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": post.data.title,
"datePublished": post.data.date.toISOString(),
"dateModified": (post.data.dateModified || post.data.date).toISOString(),
"author": {
"@type": "Person",
"name": post.data.author
},
// ...
};
---
<script type="application/ld+json" set:html={JSON.stringify(schema)} />
Next.js
Package next-seo ou composant custom.
Tester tes schémas
Après déploiement, teste chaque nouvel article :
- Google Rich Results Test : colle l’URL, vérifie les erreurs
- Schema.org Validator : plus strict, recommandé après correction des erreurs Google
- Observation live : demande à Perplexity “parle-moi de [sujet de ton article]”. Si Perplexity cite ton site, ton schéma est bien lu.
Questions fréquentes
Pourquoi la propriété dateModified est-elle cruciale pour le référencement de mes articles de blog ?
La propriété dateModified est cruciale car elle indique aux moteurs de recherche et aux modèles de langage la fraîcheur de votre contenu. Un article sans cette date mise à jour est souvent perçu comme obsolète, ce qui peut nuire à son classement. La mettre à jour à chaque modification signale un contenu pertinent et actuel, favorisant ainsi une meilleure visibilité.
Quelles sont les principales distinctions entre un schéma Article basique et un schéma optimisé pour un article de blog ?
La principale distinction réside dans le nombre et la richesse des propriétés utilisées pour décrire l’article. Un schéma basique inclut seulement le titre, la date de publication, l’auteur et l’éditeur, suffisant pour passer le test de Google. Un schéma optimisé ajoute huit propriétés supplémentaires comme dateModified et mainEntityOfPage, fournissant ainsi une compréhension plus profonde aux moteurs de recherche et aux IA.
Comment dois-je implémenter correctement la propriété dateModified pour mes publications de blog ?
Pour implémenter correctement la propriété dateModified, vous devez la mettre à jour à chaque fois que le contenu de votre article est modifié, même pour des ajustements mineurs. Il est impératif que cette date ne reste pas identique à datePublished si des éditions ont eu lieu, afin de signaler aux moteurs de recherche que l’information est récente et pertinente.
Quels sont les avantages concrets d’ajouter plus que les propriétés Schema de base à mes articles de blog ?
Les avantages concrets d’ajouter des propriétés Schema avancées résident dans l’amélioration significative de la visibilité et de l’impact de vos articles. Cela aide les moteurs de recherche et les grands modèles linguistiques à mieux comprendre la pertinence, la fraîcheur et le contexte de votre contenu, ce qui peut se traduire par de meilleurs classements, des résultats enrichis plus attractifs et une meilleure indexation.
En résumé
Un schéma Article complet, avec les 8 propriétés supplémentaires, transforme un article “juste valide” en article “facilement citable par les IA”. Le travail supplémentaire est minime (5 minutes par article avec une automation CMS), l’impact est mesurable en semaines.
Pour aller plus loin : Schema.org pour GEO, Organization schéma marques, audit Pulsari.