Comprendre et maîtriser le référencement naturel de A à Z : crawl, indexation, Core Web Vitals, données structurées, maillage interne et Search Console. La formation technique pour développeurs qui veulent que leur site soit trouvé.
Les données structurées sont des métadonnées ajoutées à vos pages pour aider Google à comprendre précisément ce qu'est votre contenu. Pas juste du texte — mais un Article, un Cours, une FAQ, un Produit, une Recette.
L'objectif principal n'est pas un meilleur classement — c'est un meilleur affichage dans les résultats. Les données structurées peuvent déclencher des rich results (résultats enrichis) :
Un rich result augmente le taux de clics — la page occupe plus d'espace dans les SERP et transmet plus d'informations avant le clic.
À retenir : Les données structurées ne font pas monter en position. Elles améliorent la présentation dans les résultats, ce qui augmente le CTR, ce qui peut indirectement améliorer le classement. C'est un avantage de présentation, pas de pertinence.
Google supporte trois formats (JSON-LD, Microdata, RDFa). Il recommande JSON-LD — le plus simple à maintenir car séparé du HTML.
<!-- Dans le <head> ou avant </body> -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "TechArticle",
"headline": "SEO pour développeurs : le guide complet 2026",
"description": "Crawl, indexation, Core Web Vitals...",
"author": {
"@type": "Person",
"name": "William Loree",
"url": "https://iducation.fr"
},
"publisher": {
"@type": "Organization",
"name": "Iducation",
"url": "https://iducation.fr",
"logo": {
"@type": "ImageObject",
"url": "https://iducation.fr/logo.png"
}
},
"datePublished": "2026-06-18",
"dateModified": "2026-06-18",
"image": "https://iducation.fr/og/seo-pour-developpeurs.jpg",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://iducation.fr/articles/seo-pour-developpeurs"
}
}
</script>Pour les articles de blog. TechArticle est plus spécifique — il ajoute proficiencyLevel.
{
"@context": "https://schema.org",
"@type": "TechArticle",
"headline": "Docker expliqué simplement",
"proficiencyLevel": "Beginner",
"datePublished": "2026-06-18",
"author": { "@type": "Person", "name": "William Loree" }
}Les FAQ dépliables occupent beaucoup d'espace dans les SERP. Excellent CTR.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Combien de temps faut-il pour qu'une page soit indexée par Google ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Entre quelques heures et plusieurs semaines selon l'autorité du domaine. Soumettez l'URL via Search Console pour accélérer."
}
},
{
"@type": "Question",
"name": "robots.txt empêche-t-il l'indexation ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Non. robots.txt empêche le crawl, pas l'indexation. Pour bloquer l'indexation, utilisez la balise meta robots noindex."
}
}
]
}{
"@context": "https://schema.org",
"@type": "Course",
"name": "SEO Technique pour Développeurs",
"description": "Maîtriser le référencement naturel de A à Z : crawl, Core Web Vitals, données structurées.",
"provider": {
"@type": "Organization",
"name": "Iducation",
"sameAs": "https://iducation.fr"
},
"hasCourseInstance": {
"@type": "CourseInstance",
"courseMode": "online",
"inLanguage": "fr"
},
"teaches": ["SEO technique", "Core Web Vitals", "Schema.org"],
"educationalLevel": "Intermédiaire"
}{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Accueil",
"item": "https://iducation.fr"
},
{
"@type": "ListItem",
"position": 2,
"name": "Articles",
"item": "https://iducation.fr/articles"
},
{
"@type": "ListItem",
"position": 3,
"name": "SEO pour développeurs",
"item": "https://iducation.fr/articles/seo-pour-developpeurs"
}
]
}Pour la page d'accueil uniquement — peut déclencher une barre de recherche directement dans les résultats Google.
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Iducation",
"url": "https://iducation.fr",
"potentialAction": {
"@type": "SearchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://iducation.fr/search?q={search_term_string}"
},
"query-input": "required name=search_term_string"
}
}export default async function ArticlePage({ params }) {
const { slug } = await params
const article = await getArticleBySlug(slug)
const jsonLd = {
'@context': 'https://schema.org',
'@type': article.schema?.type ?? 'BlogPosting',
headline: article.title,
description: article.dek,
author: {
'@type': 'Person',
name: 'William Loree',
url: 'https://iducation.fr',
},
publisher: {
'@type': 'Organization',
name: 'Iducation',
url: 'https://iducation.fr',
},
datePublished: article.date,
image: article.image,
mainEntityOfPage: {
'@type': 'WebPage',
'@id': `https://iducation.fr/articles/${slug}`,
},
}
return (
<>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
/>
{/* ... reste de la page */}
</>
)
}| Page | Schema recommandé | Rich result possible |
|---|---|---|
| Page d'accueil | WebSite + Organization | Sitelinks search box |
| Article de blog | BlogPosting ou TechArticle | Date, auteur |
| Formation/Cours | Course | Infos cours |
| Page avec FAQ | FAQPage | Questions dépliables ⭐ |
| Profil auteur | Person | Knowledge panel |
| Toutes les pages | BreadcrumbList | Fil d'Ariane |
Avant de déployer :
Google Rich Results Test : search.google.com/test/rich-results
Schema.org Validator : validator.schema.org
DevTools → Network → Inspecter le HTML rendu
<script type="application/ld+json"> est bien présent dans le HTML final (pas généré uniquement par JS côté client)# Vérifier que le JSON-LD est dans le HTML serveur
curl -s https://iducation.fr/articles/docker-introduction | grep -o 'application/ld+json'
# Doit retourner : application/ld+jsonÀ faire : Choisissez trois types de pages de votre site (page d'accueil, article, page de contact) et ajoutez le JSON-LD approprié. Testez chaque implémentation sur
search.google.com/test/rich-results. Vérifiez qu'aucune erreur n'est signalée et quels rich results sont éligibles.