"sameAs": [
"https://www.wikidata.org/wiki/QID",
"https://www.linkedin.com/company/YOU",
"https://www.google.com/maps/place/?q=place_id:PLACE_ID"
]<script type="application/ld+json">
{"@context":"https://schema.org","@type":"WebSite","@id":"https://YOUR_DOMAIN/#website",
"url":"https://YOUR_DOMAIN/","name":"YOUR_NAME",
"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint",
"urlTemplate":"https://YOUR_DOMAIN/recherche?q={search_term_string}"},
"query-input":"required name=search_term_string"}}
</script>NON CONCLUANT CrUX terrain · mobile
Les Core Web Vitals sont les signaux d’expérience utilisateur de Google (chargement, interactivité, stabilité visuelle). Ils influencent le référencement et la perception des vrais visiteurs. Les données terrain reflètent de vrais utilisateurs Chrome (CrUX) ; les données labo sont un test contrôlé unique.
heuristique Une barre que nous avons choisie, pas une norme : on peut raisonnablement en discuter, et l'effet varie selon les sites. Un conseil, pas un défaut.
Les types d'entités déclarés par votre JSON-LD sur les pages échantillonnées et les références entre eux — ce qu'un moteur peut assembler à votre sujet. Les entités de même type sont regroupées (×N) ; survolez une boîte ou une flèche pour le détail. Le graphe entité par entité, sans plafond, est l'export --entity-graph.
| Accès crawler IA | 100 | 16% | |
| Contenu moteur de réponse | 100 | 18% | |
| Données structurées & métadonnées | 95 | 15% | |
| SEO technique | 100 | 15% | |
| On-page & contenu | 100 | 12% | |
| Performance & Core Web Vitals | 100 | 10% | |
| Accessibilité | 100 | 7% | |
| Sécurité & confiance | 100 | 7% |
Pour donner un ordre de grandeur (Cloudflare Radar, à titre informatif uniquement — non noté) : les principaux robots IA explorent bien plus qu'ils ne renvoient de trafic réel — environ 20 600 pages explorées par visite renvoyée pour ClaudeBot, environ 1 300:1 pour les robots d'OpenAI. À mettre en balance avec les choix d'accès ci-dessous.
Tout passe dans cette famille.
| PASS |
Un robots.txt existe
robots-existsrobots.txt trouvé Vérifie que /robots.txt existe et est servi en text/plain plutôt qu'en page HTML de repli. C'est le premier fichier que demandent les robots de recherche et d'IA pour savoir ce qu'ils peuvent explorer : s'il manque ou est mal servi, ils n'ont aucune politique d'exploration explicite ni de renvoi vers votre sitemap.
|
4/4 |
| PASS |
Le robots.txt est bien formé
robots-wellformedrobots.txt bien formé Contrôle que le robots.txt est syntaxiquement correct — texte brut, uniquement des directives reconnues (User-agent, Allow, Disallow, Sitemap…), et aucun Allow/Disallow avant la première ligne User-agent. Un fichier mal formé est interprété de façon imprévisible selon les robots, modifiant en silence ce qu'ils explorent.
|
4/4 |
| PASS |
Robots des moteurs de recherche autorisés
search-crawlers-allowedrobots de recherche (Googlebot, Bingbot, *) autorisés Vérifie que le robots.txt ne bloque pas les robots de recherche classiques (Googlebot, Bingbot et le défaut *) à la racine. Un blocage à l'échelle du site pour ces agents fait disparaître le site de la recherche classique, sur laquelle s'appuient encore la plupart des moteurs de réponse IA.
|
6/6 |
| PASS |
Robots IA autorisés dans le robots.txt
ai-crawlers-allowedtous les robots d’IA (entraînement + citation en direct) sont autorisés Vérifie que le robots.txt ne bloque pas les robots d'IA, en distinguant les robots de citation en temps réel (échec) des robots d'entraînement seul (simple avertissement). Si un robot de citation est interdit, l'assistant ne peut tout simplement pas lire ni citer votre site dans ses réponses en direct — c'est le contrôle au poids le plus élevé. Remarque de transparence : le respect du robots.txt repose sur la bonne foi du robot — il ne fonctionne que si celui-ci choisit de le respecter. Ni ce check ni aucun audit sans accès aux journaux serveur ne peut confirmer qu'un robot se présentant comme « GPTBot » ou « ClaudeBot » est authentique ; seul un reverse-DNS côté serveur le peut. Un résultat vert ici signifie que la politique déclarée est correcte, pas que toute usurpation est impossible.
|
12/12 |
| PASS |
La page d’accueil répond
homepage-okla page d’accueil répond 200 Vérifie que l’URL racine répond en HTTP 200. Si la page d’accueil renvoie une erreur ou est injoignable, les robots n’ont aucun point d’entrée à indexer et les assistants n’ont rien à citer.
|
6/6 |
| PASS |
Les directives du robots.txt sont saines
robots-directivesaucune directive robots bloquante (X-Robots-Tag / meta robots) Recherche sur la page d'accueil des directives robots bloquantes (noindex/noai) dans l'en-tête X-Robots-Tag ou la balise meta robots. Une telle directive sur la page d'accueil demande aux robots de recherche et d'IA d'ignorer entièrement la page, la rendant invisible dans les résultats et les réponses des IA.
|
4/4 |
| PASS |
Les robots IA reçoivent la même page
ai-serving-parityle même document est servi sur 5 sonde(s) de user-agent IA/mobile Recharge la page d'accueil et quelques pages échantillonnées avec des user-agents de robots IA (GPTBot, ClaudeBot) et un navigateur mobile, puis compare le code HTTP, la taille du corps, le titre et le contenu principal à la récupération par défaut. Révèle le cloaking ou le blocage en périphérie — lorsqu'un CDN/WAF remet aux robots IA un document bloqué, redirigé ou allégé au lieu de la page que voit un navigateur.
|
8/8 |
| PASS |
Directives d’aperçu des extraits
snippet-preview-directivesdirectives d’aperçu définies sur 6 page(s) échantillonnée(s) Vérifie si les pages autorisent des aperçus complets de texte, d’image et de vidéo (max-snippet, max-image-preview, max-video-preview) au lieu de les restreindre avec nosnippet ou des limites à zéro. Des directives d’aperçu généreuses permettent aux résultats de recherche et aux réponses des IA d’afficher de riches extraits de votre contenu, ce qui améliore le taux de clic et les citations.
|
4/4 |
| PASS |
Les pages sont indexables
meta-robots-noindexaucun noindex sur 6 page(s) échantillonnée(s) Vérifie que les pages échantillonnées ne sont pas bloquées à l’indexation par noindex/none dans la balise meta robots ou l’en-tête X-Robots-Tag (et signale les conflits en-tête/meta ainsi que nofollow). Une page en noindex est invisible pour les moteurs de recherche comme pour les crawlers IA : elle ne peut donc jamais être trouvée ni citée.
|
6/6 |
| SKIP |
Dates récentes et lisibles par machine
content-freshnessaucune page de type article à dater Sur les pages d’article, recherche des dates de publication/modification lisibles par machine et récentes (ISO-8601 dans le JSON-LD, les balises meta ou <time>), datant de moins de 24 mois environ. Un contenu récent et clairement daté signale la fiabilité aux moteurs de recherche et de réponse IA.
|
0/5 |
| SKIP |
Auteur nommé (E-E-A-T)
content-author-eeataucune page de type article à attribuer Sur les pages d’article, recherche un auteur de type Person nommé dans le JSON-LD ainsi qu’une signature visible. Une paternité claire est un signal E-E-A-T essentiel que les moteurs de recherche et d’IA utilisent pour juger de la fiabilité du contenu.
|
0/5 |
| PASS |
Le fichier d’orientation /llms.txt
llms-txtllms.txt structuré (résumé + section + 5 liens descriptifs) Vérifie que /llms.txt existe, est servi en texte brut et bien structuré (un titre H1, un résumé d’une ligne, une section « ## » et au moins 5 liens descriptifs de même origine). Ce fichier est une carte soigneusement sélectionnée qui aide les moteurs de réponse IA à découvrir et comprendre vos pages les plus importantes. Nuance honnête : llms.txt est un signal à la valeur non prouvée — les grandes études 2025-26 (Ahrefs 137K sites, SE Ranking 300K, Otterly 62K, Trakkr 37,9K) ne mesurent aucun gain de citation, l’adoption est d’environ 3,2 %, et Google annonce un impact nul sur le classement. Il garde un poids modeste comme pari peu coûteux ; la valeur vient de l’ensemble combiné des contrôles, pas de ce seul fichier. Depuis 2026, Chrome Lighthouse audite ce fichier dans sa propre catégorie « Agentic Browsing », et son échantillon 2026 constate que 96,8 % des sites en sont toujours dépourvus — un contrôle réussi ici représente donc une vraie longueur d’avance, même modeste, sur l’essentiel du web.
|
10/10 |
| PASS |
Le fichier intégral /llms-full.txt
llms-full-txtheuristiquellms-full.txt contient 2250 mots répartis sous 30 titres Vérifie que /llms-full.txt existe en texte brut avec un contenu substantiel (environ 2000 mots ou plus sous au moins 2 titres). Il fournit aux crawlers IA le texte intégral de vos pages clés dans un fichier propre, pour qu’ils puissent vous citer avec exactitude. Comme llms.txt, c’est un signal peu coûteux à la valeur non prouvée — aucune grande étude n’a mesuré de gain de citation — d’où son faible poids ici.
|
4/4 |
| PASS |
Contenu visible sans JavaScript
content-without-jstexte statique d’au moins 200 caractères sur 6 page(s) échantillonnée(s) Vérifie que chaque page échantillonnée expose au moins 200 caractères de texte visible sans exécuter JavaScript. Les crawlers IA n’exécutent généralement pas le JS : un contenu qui n’apparaît qu’après un rendu côté client leur reste invisible.
|
6/6 |
| PASS |
Pas de coquille vide côté client
csr-content-paritycontenu principal rendu par le serveur sur 6 page(s) échantillonnée(s), aucune racine de montage client vide Examine le HTML brut de chaque page échantillonnée à la recherche d'un point de montage client vide (#root, #__next, #app, <app-root>…) accompagné de quasiment aucun texte rendu côté serveur. Ces pages ne se remplissent qu'une fois le JavaScript exécuté : les robots IA, qui n'exécutent généralement pas le JS, ne voient donc qu'une coquille vide. Un rendu SSR/SSG authentique qui embarque en plus du balisage de framework n'est pas pénalisé.
|
4/4 |
| PASS |
Assez de matière par page
content-depthheuristiquecontenu principal au-dessus du seuil de mots sur 6 page(s) Vérifie que le contenu principal de chaque page atteint un seuil de mots (≥300 mots pour les articles, ≥150 pour les autres pages). Les pages trop minces offrent peu de matière à extraire ou à citer pour les moteurs de recherche et d’IA.
|
5/5 |
| PASS |
Une réponse directe en tête de page
content-lead-answerheuristiquechapô répondant directement sur 6 page(s) Vérifie que chaque page commence par une réponse ou définition directe et concise (≈40–320 caractères), ou un bloc TL;DR, juste après le H1. Les moteurs de réponse privilégient le contenu qui énonce l’essentiel d’emblée plutôt que de l’enfouir.
|
5/5 |
| PASS |
Intertitres formulés en questions
answer-headingsheuristiqueintertitres formulés en question sur 4 page(s) longue(s) Sur les pages longues (≥300 mots), vérifie qu’au moins un H2/H3 est formulé comme une question (commence par quoi/comment/pourquoi… ou se termine par « ? »). Ces sous-titres reflètent la façon dont on interroge les assistants IA et facilitent la reprise de passages comme réponses.
|
4/4 |
| PASS |
Listes et tableaux plutôt qu’un mur de prose
extractable-structureheuristiquelistes/tableaux dans le contenu principal sur 6 page(s) substantielle(s) Sur les pages substantielles (≥150 mots), recherche des listes (<ul>/<ol>) ou des tableaux de données avec en-têtes <th> dans le contenu principal. Un contenu structuré est bien plus facile à analyser et à réutiliser pour les moteurs d’IA qu’un long bloc de prose.
|
4/4 |
| PASS |
Citations sortantes vers des sources
outbound-citationsheuristiquecitations sortantes sur 6 page(s) substantielle(s) Sur les pages substantielles, vérifie la présence d’au moins un lien sortant externe et non social dans le contenu principal. Citer des sources primaires faisant autorité renforce la crédibilité que les moteurs de réponse IA valorisent au moment de choisir leurs citations.
|
3/3 |
| PASS |
Pas de pages quasi dupliquées
content-uniquenessheuristiqueaucun corps de page quasi dupliqué sur 6 pages Compare le texte principal des pages échantillonnées via une similarité de shingles/Jaccard pour repérer les corps quasi identiques (recouvrement ≥0,8). Le contenu dupliqué dilue le classement et empêche les moteurs d’IA de savoir quelle URL privilégier et citer.
|
3/3 |
| PASS |
Pages « à propos » et contact
about-contactpages À propos et Contact accessibles, avec un moyen de contact Vérifie que des pages /about et /contact accessibles existent et qu’un moyen de contact (tel, email ou ContactPoint) est exposé. Ces signaux de confiance aident les utilisateurs et les moteurs d’IA à confirmer qu’une organisation réelle et responsable se trouve derrière le site.
|
3/3 |
| PASS |
Le manifeste /.well-known/ai.json
well-known-ai-json/.well-known/ai.json sert un manifeste JSON sous forme d’objet Vérifie si le site publie un manifeste de découverte /.well-known/ai.json — une convention émergente permettant aux agents IA de trouver des informations lisibles par machine sur le site (nom, description, contact, politiques). Indicatif : l'absence ne produit qu'un avertissement, et une réponse 200 doit être un véritable objet JSON plutôt qu'un fallback HTML de SPA.
|
1/1 |
| PASS |
Les signaux de fraîcheur concordent
freshness-coherencesignaux de fraîcheur cohérents (tolérance 24 h) sur 6 page(s) Recoupe les trois signaux de fraîcheur qu'une page peut émettre — l'en-tête HTTP Last-Modified, le dateModified JSON-LD (ou article:modified_time) et le <lastmod> du sitemap — et signale leurs contradictions ou une date située dans le futur. Une fraîcheur contradictoire ou factice pousse les moteurs à se méfier du signal et à l'ignorer complètement.
|
4/4 |
| PASS |
Un chapô assumé, pas évasif
hedging-rateheuristiquechapôs directs et sans formule évasive sur 6 page(s) Sur les pages substantielles (≥150 mots), compte les formules évasives (peut-être, il semble, maybe, it seems…) dans les deux premiers paragraphes. Les moteurs génératifs citent de préférence les affirmations nettes et assumées : un chapô évasif réduit donc les chances d'être cité.
|
3/3 |
| PASS |
Unités de réponse citables
answer-unitsheuristique47 unité(s) de réponse citables sur 4 page(s) pilier(s) Sur les pages piliers (≥300 mots), recherche au moins une « unité de réponse » : un énoncé court et autosuffisant (8 à 40 mots) portant un chiffre, une date ou une entité nommée, qui commence sans anaphore et sans formule évasive. Ce sont les passages qu'un moteur génératif peut reprendre et citer tels quels.
|
4/4 |
| PASS |
Structure qui survit au découpage
chunk-boundaryheuristiquestructure compatible avec le découpage en fragments sur 6 page(s) Sur les pages substantielles (≥150 mots), signale les structures DOM qui se disloquent lorsqu'une page est découpée en fragments de retrieval : tableaux longs sans cellules d'en-tête, réponses de FAQ détachées de leur question par du balisage décoratif, et listes orphelines de tout titre. Un fragment de retrieval perd le contexte situé en dehors de lui : ces frontières isolent donc le sens.
|
3/3 |
| PASS |
Les fenêtres de retrieval tiennent seules
chunk-retrieval-simheuristique8/8 fragment(s) d’environ 512 tokens restent exploitables isolément (100 %) Découpe les pages piliers (≥300 mots) en fenêtres d'environ 512 tokens comme le ferait un pipeline de retrieval, puis mesure combien de ces fenêtres tiennent encore seules : chacune doit porter un ancrage thématique (un nombre ou une entité nommée, en comptant le fil d'intertitres qu'un moteur préfixe) et commencer sans renvoyer à la fenêtre précédente. Un moteur reçoit une fenêtre, jamais la page entière.
|
4/4 |
| PASS |
Ni texte caché ni liens non attribués
injection-hygieneheuristiqueaucun texte masqué ni contenu tiers non attribué sur 6 page(s) Recherche le texte qu'un assistant ingère mais qu'un visiteur ne voit jamais : contenu masqué par un style en ligne ou l'attribut hidden, instructions destinées au modèle dissimulées à l'intérieur, et liens contribués par des tiers sans rel="ugc". Des instructions cachées constituent une charge d'injection de prompt, et des liens tiers non attribués laissent d'autres parler au nom du site.
|
3/3 |
| PASS |
Site actionnable par un agent
agent-usabilityheuristique4 form(s) submittable without JS ; contact joignable sur 4/6 page(s) Demande si un agent peut AGIR sur le site, pas seulement le lire : chaque formulaire doit avoir un bouton de soumission non désactivé, une action qui ne soit pas réservée au JavaScript et un name sur chaque champ, et le site doit exposer au moins un moyen lisible par machine de joindre un humain (mailto:, tel:, un formulaire soumettable, ou email/telephone/contactPoint dans le JSON-LD). Un assistant qui agit pour un visiteur ne peut pas exécuter vos gestionnaires de clic.
|
4/4 |
| WARN |
Identité ancrée par des liens sameAs
sd-entity-groundingune seule URL de profil sameAs Examine les liens sameAs et valorise la présence d’au moins deux profils officiels, idéalement un pointant vers Wikipédia ou Wikidata. Ces ancres vers le graphe de connaissances aident les moteurs IA à distinguer votre entité d’autres portant le même nom. Indiquez au moins 2 URL de profils officiels dans sameAs, y compris Wikipédia/Wikidata si disponible. En savoir plus →
|
2/4 |
| SKIP |
Données structurées LocalBusiness
sd-localbusinessaucune entité LocalBusiness sur la page d’accueil Pour une entreprise locale, vérifie les informations NAP (PostalAddress structurée et téléphone) ainsi que les coordonnées géographiques et les horaires d’ouverture. Des données locales complètes et structurées alimentent les fiches cartographiques et permettent aux assistants IA de répondre aux questions « où » et « quand » à votre sujet.
|
0/3 |
| SKIP |
Données structurées Article
sd-articleaucune page Article/NewsArticle/BlogPosting dans l’échantillon Vérifie que les pages balisées Article, NewsArticle ou BlogPosting comportent des champs complets : titre (headline), auteur structuré, dates de publication et de modification, image de taille suffisante et logo de l'éditeur. Des données d'article complètes aident les moteurs de recherche et les moteurs de réponse IA à comprendre, dater et citer votre contenu en toute confiance.
|
0/4 |
| SKIP |
Données structurées Product
sd-productaucune page Product dans l’échantillon Vérifie que le balisage Product inclut une offre valide (prix numérique, devise ISO-4217 à trois lettres et disponibilité), une marque, un identifiant GTIN ou MPN et une note dans la plage autorisée. Des données produit complètes alimentent les résultats enrichis et permettent aux moteurs IA de répondre avec précision aux questions de prix, de stock et d'avis.
|
0/4 |
| WARN |
SearchAction du WebSite
sd-website-searchactionWebSite present but no SearchAction (no sitelinks searchbox) Pour une entité WebSite, vérifie la présence d’un SearchAction valide dont l’urlTemplate contient {search_term_string} avec un query-input correspondant. Google a retiré la boîte de recherche de liens annexes en novembre 2024 : ce balisage n’apporte donc plus de fonctionnalité dans les résultats, mais il déclare toujours un point d’entrée lisible par une machine vers votre recherche interne, qu’un agent peut appeler pour interroger le site. Ajoutez un potentialAction SearchAction avec un urlTemplate et un query-input. En savoir plus →
|
1/2 |
| SKIP |
Données structurées VideoObject
sd-videoaucun contenu vidéo sur la page d’accueil Lorsque la page intègre une vidéo, vérifie la présence d’un balisage VideoObject avec name, description, une miniature absolue et une date de mise en ligne au format ISO. Sans cela, les moteurs de recherche et IA ne peuvent pas indexer la vidéo, qui reste invisible dans les résultats vidéo et les réponses enrichies.
|
0/2 |
| SKIP |
Types schema.org spécialisés
sd-special-typesaucun HowTo/Event/Recipe sur la page d’accueil Si la page balise un HowTo, un Event ou une Recipe, valide les champs requis pour ce type (étapes, dates ISO et un lieu, ou ingrédients et instructions). Un balisage complet débloque les résultats enrichis et les réponses étape par étape que les moteurs IA génèrent pour ces formats.
|
0/3 |
| SKIP |
Nom, adresse et téléphone cohérents
nap-consistencyaucun NAP (téléphone/adresse) à contrôler Compare le téléphone et l'adresse de l'entreprise (NAP) affichés dans les pieds de page de l'échantillon et avec vos données JSON-LD Organization/LocalBusiness, en signalant divergences et conflits. Un NAP cohérent renforce la confiance pour le SEO local et permet aux moteurs de recherche et IA de citer vos coordonnées en toute confiance.
|
0/3 |
| PASS |
Présence de JSON-LD
json-ld1 bloc(s) JSON-LD valides Vérifie que la page d’accueil contient au moins un bloc JSON-LD valide. Les données structurées permettent aux moteurs de recherche et aux moteurs de réponse IA d’identifier de façon fiable votre entreprise, votre contenu et vos informations clés, au lieu de les deviner à partir du texte brut.
|
10/10 |
| PASS |
Une entité significative est déclarée
json-ld-entityentité pertinente trouvée : Organization Confirme que le JSON-LD déclare une entité significative (Organization, LocalBusiness ou Article) et, pour les entreprises, inclut le nom, l’adresse et le téléphone. Une entité claire est ce que les assistants IA citent lorsqu’ils nomment et décrivent votre site.
|
6/6 |
| PASS |
Couverture du balisage sur les pages
schema-coverage6/6 sampled pages carry valid JSON-LD Vérifie combien de pages échantillonnées contiennent des données structurées JSON-LD valides. Les données structurées aident les moteurs de recherche et les assistants IA à comprendre le sujet d’une page et la rendent éligible aux résultats enrichis et aux citations.
|
5/5 |
| PASS |
Balises Open Graph
open-graphOpen Graph complet (jeu de base + site_name + locale) Vérifie que la page d’accueil expose des balises Open Graph complètes, avec notamment une image en https absolu. Elles déterminent l’apparence des liens du site lorsqu’ils sont partagés ou cités sur les réseaux sociaux et par les assistants IA, améliorant le taux de clic et la reconnaissance.
|
5/5 |
| PASS |
Balises Twitter Card
twitter-cardtwitter:card=summary_large_image complet Vérifie que la page déclare une Twitter Card (ou un repli Open Graph complet avec titre, description et image HTTPS absolue). Cela contrôle l’affichage des aperçus enrichis lorsqu’un lien est partagé, améliorant le taux de clic et la façon dont les outils IA et sociaux résument la page.
|
2/2 |
| PASS |
JSON-LD analysable et typé
json-ld-valid1 bloc(s) JSON-LD tous valides (analyse + @context + @type) Valide que chaque bloc JSON-LD s’analyse sans erreur et possède un @context schema.org ainsi qu’un @type explicite sur chaque nœud. Des données structurées mal formées sont ignorées silencieusement par les robots : une seule erreur de syntaxe peut réduire tout votre balisage à néant.
|
4/4 |
| PASS |
Données structurées Organization
sd-organizationentité Organization complète : findable-audit Vérifie qu’un nœud Organization ou LocalBusiness porte name, url, un logo HTTPS absolu et des liens de profils sameAs. Ces champs alimentent les panneaux de connaissances et permettent aux moteurs IA d’associer une identité et un logo vérifiés à votre marque.
|
4/4 |
| PASS |
Données structurées FAQPage
sd-faqcontenu de FAQ appuyé par un schéma FAQPage/QAPage Détecte le contenu de type FAQ sur la page (paires question/réponse en schéma, blocs dépliables ou titres formulés comme des questions) et le signale lorsqu'il n'est pas adossé à des données structurées FAQPage ou QAPage. Baliser les FAQ en schéma rend chaque question-réponse lisible par les machines, afin que les moteurs de recherche et les assistants IA puissent afficher des réponses directes.
|
4/4 |
| PASS |
Données structurées BreadcrumbList
sd-breadcrumbfil d’Ariane présent sur toutes les pages internes Sur les pages internes (hors page d'accueil), recherche un BreadcrumbList valide avec des positions et des noms ordonnés de façon continue, ou un élément de navigation en fil d'Ariane visible. Le fil d'Ariane exprime la hiérarchie de votre site, améliore les résultats enrichis et aide les moteurs de recherche et IA à situer chaque page.
|
3/3 |
| PASS |
Intégrité du @graph
sd-graph-integrity5 entités liées par @id, aucune référence orpheline Vérifie que chaque référence @id du graphe JSON-LD pointe vers un nœud existant et qu’aucun @id n’est déclaré deux fois. Des références rompues ou dupliquées perturbent les analyseurs et peuvent leur faire écarter des entités de votre graphe de données structurées.
|
3/3 |
| PASS |
Les données structurées collent à la page
sd-consistency1 valeur(s) JSON-LD confirmées visibles sur la page Compare les valeurs clés du JSON-LD (name, headline, prix, note) au texte visible de la page pour repérer un balisage décrivant du contenu masqué ou absent. Des données structurées en contradiction avec la page peuvent être considérées comme du spam et entraîner la rétrogradation ou la suppression de vos résultats enrichis.
|
3/3 |
| PASS |
Un graphe d’entités JSON-LD connecté
entity-graph-connectivity43 entités, 52 liens, aucune référence orpheline (1 composante(s)) Construit le graphe d'entités JSON-LD à travers les pages échantillonnées et vérifie sa cohérence : chaque @id référencé est bien défini (aucune référence pendante) et les entités d'identité principales du site (Organization, WebSite, Person, LocalBusiness) sont reliées en un graphe connexe. Un graphe d'entités propre et connecté permet aux moteurs d'IA de comprendre qui vous êtes et de relier vos pages, votre marque et vos auteurs.
|
4/4 |
| SKIP |
Fichier de clé IndexNow
indexnowaucune clé IndexNow fournie (utilisez --indexnow-key pour activer le contrôle) Lorsqu’une clé IndexNow est fournie, vérifie que le fichier de propriété /<key>.txt existe à la racine du site et contient exactement cette clé. IndexNow permet de signaler instantanément aux moteurs comme Bing les URL nouvelles ou mises à jour, pour que le contenu récent soit exploré et indexé plus vite.
|
0/4 |
| SKIP |
Les pages paginées se canonicalisent
pagination-canonicalaucune pagination détectée (série d’une seule page) Détecte les pages paginées (?page=N, /page/N ou rel=next/prev) et vérifie que les pages au-delà de la page 1 se canonisent vers elles-mêmes plutôt que vers la page 1. Pointer la canonique de chaque page vers la page 1 indique aux moteurs de recherche d'ignorer les pages suivantes, si bien que le contenu qui n'y figure que là n'est jamais indexé.
|
0/2 |
| SKIP |
Le sitemap reste dans les limites de taille
sitemap-index-limitsaucun <sitemapindex> (sitemap unique de type urlset) Pour un index de sitemaps, vérifie que chaque sitemap enfant référencé est de même origine, accessible (200), en XML valide et reste sous la limite de 50 000 URL. Des sitemaps enfants cassés ou surdimensionnés empêchent les robots de lire l’ensemble complet de vos URL.
|
0/2 |
| PASS |
Un sitemap XML est publié
sitemapsitemap valide et référencé dans le robots.txt Vérifie que le site publie un sitemap XML valide (repéré via les lignes Sitemap de robots.txt ou aux emplacements habituels), doté d’une racine urlset/sitemapindex et d’au moins un <loc>, et qu’il est référencé dans robots.txt. Un sitemap permet aux robots des moteurs de recherche et aux moteurs de réponse IA de découvrir chaque page importante, et pas seulement celles atteintes en suivant les liens.
|
10/10 |
| PASS |
URL canonique auto-référente
canonicalcanonique auto-référente sur 6 page(s) échantillonnée(s) Vérifie que chaque page échantillonnée déclare une URL canonique unique, absolue et pointant vers elle-même sur la même origine, plutôt qu’une canonique globale vers l’accueil. Cela indique aux moteurs de recherche et aux robots d’IA quelle URL fait autorité et évite la dilution due au contenu dupliqué.
|
5/5 |
| PASS |
Aucun lien interne cassé
broken-internal-links9 lien(s) interne(s) aboutissent Suit chaque lien interne trouvé sur les pages échantillonnées et signale ceux qui renvoient un code d’erreur (≥ 400) ou ne se chargent pas. Les liens morts gaspillent le budget de crawl et empêchent les moteurs de recherche et d’IA d’atteindre certaines parties de votre site.
|
8/8 |
| PASS |
Alternatives hreflang réciproques
hreflang5 alternative(s) hreflang accessibles et réciproques Pour chaque alternative hreflang déclarée, vérifie qu’elle se charge (200) et renvoie réciproquement vers la page qui la référence. Un hreflang correct et réciproque indique aux moteurs de recherche et de réponse quelle version linguistique ou régionale servir, évitant qu’une mauvaise variante ne remonte.
|
3/3 |
| PASS |
La cible canonique est vivante et indexable
canonical-resolves6 canonique(s) déclarée(s) répondent 200 et sont indexables Récupère chaque cible <link rel="canonical"> déclarée et vérifie qu'elle renvoie un code HTTP 200, qu'elle est indexable (pas en noindex) et qu'elle ne redirige pas elle-même. Une canonique qui pointe vers une page cassée, en noindex ou avec redirection perturbe les moteurs de recherche et les robots d'IA sur l'URL à indexer.
|
4/4 |
| PASS |
www et non-www consolidés
www-consolidationl'hôte apex sert le site ; l'hôte www n'est pas actif Vérifie qu'une seule variante d'hôte (www ou apex) sert le site avec un 200 tandis que l'autre renvoie une unique redirection permanente 301 vers elle, sans chaîne ni boucle. Si les deux hôtes servent du contenu, les moteurs de recherche et les robots d'IA voient des sites dupliqués et dispersent leurs signaux de classement.
|
5/5 |
| PASS |
Barre oblique finale homogène
trailing-slashles variantes avec et sans slash de 6 chemin(s) ne créent pas de doublon Pour chaque chemin échantillonné, récupère la forme à la barre oblique finale inversée et la signale si cette variante renvoie aussi un 200 (contenu dupliqué à deux URL). Servir la même page à la fois sur /page et /page/ disperse les signaux de classement entre les deux URL.
|
4/4 |
| PASS |
Aucune chaîne de redirections
redirect-chainsaucune chaîne de redirection sur 7 URL Suit la chaîne de redirections de la page d'accueil et des URL échantillonnées, en signalant les chaînes à plusieurs sauts, les boucles ou les redirections temporaires utilisées pour des déplacements permanents. Les sauts supplémentaires ralentissent les robots, gaspillent le budget de crawl et peuvent laisser une page non indexée.
|
4/4 |
| PASS |
Aucune fausse page 404
soft-404une route inexistante renvoie 404 Demande un chemin inexistant aléatoire et vérifie que le serveur renvoie un vrai code 404/410 plutôt qu'un 200 ou une redirection vers la page d'accueil (un soft 404). Les moteurs de recherche s'appuient sur le code HTTP pour retirer les pages manquantes ; un soft 404 laisse des routes vides s'indexer comme du vrai contenu.
|
6/6 |
| PASS |
Une page 404 qui offre une issue
custom-404la page 404 offre une porte de sortie (liens/navigation/recherche) Récupère une route inexistante et vérifie que la page 404 renvoyée offre une issue — liens internes, une navigation ou un champ de recherche — au lieu d'être une impasse. Une page 404 utile retient les visiteurs sur le site et donne aux robots des liens à suivre.
|
2/2 |
| PASS |
Structure d’URL lisible
url-structureheuristique9 URL échantillonnées sont propres et lisibles Examine les URL échantillonnées et liées pour repérer les problèmes de lisibilité : longueur excessive, majuscules, tirets bas, imbrication trop profonde ou paramètres de session/suivi. Des URL propres et prévisibles sont plus faciles à analyser, partager et dédupliquer pour les utilisateurs comme pour les robots.
|
3/3 |
| PASS |
Aucune redirection meta-refresh
meta-refreshaucune redirection meta-refresh sur 6 page(s) échantillonnée(s) Recherche dans les pages les redirections côté client <meta http-equiv="refresh">. Elles sont lentes et mal comprises par les robots, qui peuvent ne pas transmettre les signaux de classement ou ne pas les suivre du tout — une 301 côté serveur en est l'équivalent fiable.
|
2/2 |
| PASS |
hreflang x-default et autoréférence
hreflang-x-defaultjeu hreflang complet sur 6 page(s) Sur les pages qui utilisent hreflang, valide les codes de langue BCP-47 et vérifie la présence d'un alternate x-default, d'une entrée autoréférencée et d'URL absolues. Un hreflang correct indique aux moteurs de recherche quelle version linguistique ou régionale servir ; des lacunes font remonter la mauvaise version ou font ignorer l'ensemble.
|
3/3 |
| PASS |
Aucune page orpheline ou trop profonde
internal-linking6 page(s) échantillonnée(s) liées et peu profondes Construit un graphe de liens internes sur les pages échantillonnées et signale les pages sans lien interne sortant, les pages orphelines (aucun lien vers elles) ou situées à plus de 3 clics de la page d'accueil. Les pages orphelines ou trop profondes sont rarement découvertes, explorées ou classées.
|
4/4 |
| PASS |
Répartition du jus de lien interne
link-equity-mapjus de liens bien réparti sur 6 page(s) — en tête : /en/ (23.27%), /fr/ (23.27%), /en/contact/ (13.75%) Construit le graphe de liens internes sur les pages échantillonnées, puis calcule pour chaque page son degré entrant et un PageRank limité à l'échantillon afin de nommer les pages les mieux classées ainsi que les pages orphelines (aucun lien vers elles) ou en impasse (aucun lien interne sortant). Là où internal-linking repère la profondeur et le sous-maillage, ce contrôle cartographie la répartition réelle du jus de lien et met au jour les pages gagnantes et perdantes.
|
3/3 |
| PASS |
Navigation utilisable sans JavaScript
crawlable-nav66 lien(s) explorable(s) ; la navigation fonctionne sans JavaScript Compte les liens de navigation et signale les pages où trop d'entre eux nécessitent JavaScript pour fonctionner (href="#", javascript: ou pas de href). Les robots des moteurs de réponse IA (GPTBot, ClaudeBot, PerplexityBot) et le premier passage de Google n'exécutent pas JavaScript, si bien qu'une navigation uniquement en JS leur cache ces pages.
|
4/4 |
| PASS |
Dates lastmod du sitemap
sitemap-lastmod6/6 entrées ont un <lastmod> valide et varié Vérifie que les entrées du sitemap portent des dates <lastmod> réelles, valides (ISO-8601), non futures et variées, plutôt qu’absentes, erronées ou toutes identiques à la date de build. Des dates de dernière modification exactes indiquent aux robots quelles pages ont réellement changé, afin qu’ils réexplorent rapidement le contenu mis à jour.
|
4/4 |
| PASS |
Les URL du sitemap répondent
sitemap-urls-valid6 URL de sitemap échantillonnées sont propres et indexables Échantillonne des URL du sitemap et confirme que chacune est de même origine, en HTTPS, renvoie un 200 sans redirection, n’est pas en noindex et est auto-canonique. N’y lister que des URL propres, finales et indexables évite aux robots de gaspiller leur budget sur des redirections, des liens morts ou des pages à ne pas indexer.
|
4/4 |
| PASS |
Le sitemap couvre les pages explorées
sitemap-orphansle sitemap et les liens internes concordent sur 6 URL Recoupe le sitemap avec le graphe de liens internes du site, en signalant les URL du sitemap vers lesquelles rien ne pointe et les pages liées en interne absentes du sitemap. Les pages importantes doivent à la fois figurer dans le sitemap et être liées en interne, pour que les robots et les moteurs IA les découvrent et leur accordent de l’importance.
|
3/3 |
| SKIP |
Légendes sur les images explicatives
figure-captionheuristiqueaucune image de contenu explicative sur les pages échantillonnées Vérifie que les images de contenu non décoratives sont encadrées dans une <figure> avec une <figcaption>. Les légendes donnent aux images un contexte textuel que les moteurs de recherche comme les modèles d’IA peuvent lire et exploiter.
|
0/2 |
| PASS |
Titre et description de l’accueil
title-descriptionheuristiquetitre et meta description corrects Vérifie que la page d’accueil possède un `<title>` et une meta description de longueur adéquate. Ce sont le titre et le résumé que les moteurs de recherche et les moteurs de réponse IA affichent et utilisent pour comprendre le sujet de la page.
|
8/8 |
| PASS |
Les titres sont uniques d’une page à l’autre
unique-titlestitres et descriptions uniques sur 6 pages Vérifie que chaque page échantillonnée possède un <title> et une meta description distincts. Des titres ou descriptions en double rendent les pages indiscernables dans les résultats de recherche et les citations des IA, ce qui nuit à la pertinence.
|
5/5 |
| PASS |
Titre et description sur chaque page
meta-per-pageheuristiquetitre et description dans les bonnes plages sur 6 page(s) Vérifie que chaque page échantillonnée possède un <title> de 10 à 70 caractères et une meta description de 50 à 160 caractères. Ce sont les éléments que les moteurs de recherche et les moteurs de réponse IA affichent et utilisent pour comprendre une page : bien dimensionnés et uniques, ils améliorent le taux de clic et la justesse du résumé de votre page.
|
5/5 |
| PASS |
Un format de titre homogène
title-patternheuristiquele titre commence par le sujet et se termine par la marque Vérifie que le <title> de la page d’accueil commence par le sujet et place la marque après un séparateur. Un titre qui met le sujet en avant indique aux moteurs de recherche et aux assistants IA de quoi parle la page avant le nom de marque, ce qui améliore la pertinence dans les résultats.
|
3/3 |
| PASS |
Le titre et le H1 disent la même chose
title-h1-alignmentheuristiquele titre et le H1 partagent 4 terme(s) significatif(s) Vérifie que le <title> et le <h1> de la page d’accueil partagent des mots significatifs une fois la marque exclue. Lorsque le titre et le titre principal s’accordent sur le sujet, les moteurs de recherche et les modèles d’IA reçoivent un signal cohérent sur le thème de la page.
|
2/2 |
| PASS |
Un seul H1, aucun niveau sauté
headings-outlinehiérarchie des titres correcte sur 6 page(s) Vérifie que chaque page échantillonnée comporte exactement un <h1> et ne saute jamais de niveau de titre. Une hiérarchie de titres propre permet aux robots et aux modèles d’IA d’analyser la structure de la page et d’en extraire les sections à citer.
|
5/5 |
| PASS |
Textes de liens descriptifs
anchor-textheuristique0 % de textes de liens internes génériques (0/28) Mesure la proportion de liens internes utilisant un texte générique comme « cliquez ici », « en savoir plus » ou une URL brute. Un texte de lien descriptif indique aux moteurs de recherche et à l’IA de quoi parle la page liée, ce qui facilite à la fois la navigation et la compréhension.
|
3/3 |
| PASS |
Encodage de caractères déclaré
charsetcharset UTF-8 déclaré Vérifie que la page d’accueil déclare un encodage de caractères, idéalement UTF-8. Sans charset déclaré, les navigateurs et les robots peuvent mal interpréter les caractères accentués ou non latins et corrompre votre contenu.
|
3/3 |
| PASS |
Favicon et icône tactile
faviconfavicon et apple-touch-icon présents Vérifie la présence d’un favicon et d’une apple-touch-icon sur la page d’accueil. Ces icônes rendent le site reconnaissable dans les onglets du navigateur, les favoris et sur les écrans d’accueil mobiles, ce qui renforce la confiance dans la marque.
|
2/2 |
| PASS |
Des phrases qui restent lisibles
content-readabilityheuristiquele contenu principal se lit à un niveau d’environ 10.1 Estime le niveau de lecture du texte principal de la page d’accueil à l’aide d’une formule de Flesch-Kincaid. Des phrases plus courtes et plus simples sont plus faciles à lire et permettent aux modèles d’IA de résumer et de citer votre contenu avec justesse.
|
2/2 |
| SKIP |
En-têtes de cache sur les fichiers statiques
asset-cachingaucune ressource CSS/JS de même origine à échantillonner Échantillonne un fichier CSS/JS du même domaine et vérifie la présence d'un Cache-Control max-age ou d'un ETag. Ces en-têtes de cache permettent aux navigateurs de réutiliser les fichiers lors des visites suivantes au lieu de les retélécharger.
|
0/2 |
| SKIP |
CLS — stabilité visuelle
cwv-clsaucune donnée terrain CLS dans la réponse PSI Vérifie le Cumulative Layout Shift, l’ampleur des sauts visuels de la page pendant son chargement, à partir des données de terrain réelles. Google l’utilise comme signal de classement, et une mise en page stable témoigne d’une page bien construite et fiable.
|
0/4 |
| SKIP |
INP — réaction aux interactions
cwv-inpaucune donnée terrain INP dans la réponse PSI (URL à faible trafic) Vérifie l’Interaction to Next Paint — la rapidité avec laquelle la page réagit aux clics et aux appuis — à partir des données de terrain réelles. Une interactivité lente est un facteur de classement des Core Web Vitals et frustre les visiteurs.
|
0/4 |
| SKIP |
Verdict global Core Web Vitals
cwv-assessmentaucune évaluation globale CrUX (pas de données terrain) Rapporte le verdict global des Core Web Vitals (rapide, moyen ou lent) que le jeu de données CrUX de Google, basé sur de vrais utilisateurs, attribue à votre site. C’est un signal clé indiquant si vos pages franchissent la barre de vitesse de Google.
|
0/4 |
| PASS |
Poids du document HTML
html-weightheuristiqueHTML document is 25KB Mesure la taille du document HTML et signale tout ce qui dépasse 100 Ko. Un HTML surchargé ralentit le premier rendu et coûte plus cher à récupérer et analyser pour les robots de recherche et d'IA.
|
3/3 |
| PASS |
JavaScript qui bloque le premier affichage
render-blocking-jsaucun script bloquant le rendu dans le <head> sur 6 page(s) Compte, sur chaque page échantillonnée, les scripts du <head> qui bloquent le rendu. Ces scripts bloquants retardent l'affichage de la page, ce qui dégrade la vitesse perçue et les Core Web Vitals.
|
4/4 |
| PASS |
CSS qui bloque le premier affichage
render-blocking-css0 render-blocking stylesheet(s) Compte les feuilles de style bloquantes dans le <head>. Chacune bloque le premier affichage tant qu'elle n'est pas téléchargée, retardant le moment où les visiteurs et les robots voient le contenu.
|
3/3 |
| PASS |
Dimensions des images déclarées
img-dimensionsaucun élément <img> sur les pages échantillonnées Vérifie, sur les pages échantillonnées, la proportion d'images qui déclarent une largeur/hauteur explicite (ou une propriété CSS aspect-ratio). Sans dimensions, la mise en page saute au chargement des images, ce qui dégrade la métrique CLS.
|
4/4 |
| PASS |
Chargement différé sous la ligne de flottaison
img-lazy-loadingheuristiqueaucune image à évaluer Vérifie que l'image principale (probable LCP) se charge immédiatement tandis que les images sous la ligne de flottaison sont en chargement différé. Différer l'image principale retarde le plus grand affichage, et charger d'emblée les images hors écran gaspille de la bande passante.
|
2/2 |
| PASS |
Formats d’image nouvelle génération
img-next-genheuristiqueaucun élément <img> matriciel à évaluer Mesure la proportion d'images matricielles proposées dans des formats nouvelle génération comme WebP ou AVIF. Ces formats sont bien plus légers que le JPEG/PNG, donc les pages se chargent plus vite et coûtent moins cher à récupérer pour les robots.
|
2/2 |
| PASS |
Indices de ressources (preconnect, preload)
resource-hintsheuristiquepreconnect/dns-prefetch présent pour 1 origine(s) tierce(s) Vérifie si les scripts et feuilles de style provenant d'autres domaines disposent d'un indice preconnect ou dns-prefetch. Ces indices permettent au navigateur d'établir tôt les connexions tierces, ce qui réduit le temps de chargement.
|
2/2 |
| PASS |
Taille et profondeur du DOM
dom-sizeDOM has 184 element(s), max nesting depth 9 Compte le nombre d'éléments du DOM et la profondeur d'imbrication maximale de la page d'accueil. Un DOM volumineux ou trop imbriqué ralentit le rendu et rend la page plus difficile à analyser pour les navigateurs et les robots.
|
2/2 |
| PASS |
Compression du texte activée
text-compressionHTML servi avec Content-Encoding : br Vérifie si le HTML est servi avec une compression Brotli, zstd ou gzip. Compresser les réponses texte réduit fortement la taille transférée, ce qui accélère la livraison aussi bien aux visiteurs qu'aux robots d'IA.
|
3/3 |
| PASS |
Volume de CSS/JS en ligne dans le head
inline-head-volumeheuristique13KB inline <style>/<script> in <head> Mesure le volume de <style> et <script> en inline dans le <head> et signale tout dépassement de 14 Ko. Trop de code inline alourdit chaque chargement de page et ne peut pas être mis en cache séparément.
|
2/2 |
| PASS |
Score de performance Lighthouse
lighthouse-perfLighthouse performance 1.00 (100/100, mobile) Mesure le score de performance Lighthouse issu de PageSpeed Insights, une note globale synthétique de la vitesse de la page. Une page qui se charge vite retient les visiteurs et aide les crawlers IA à récupérer et indexer votre contenu de façon fiable.
|
5/5 |
| PASS |
LCP — vitesse du contenu principal
cwv-lcplab LCP 1688ms (no CrUX field data) Vérifie le Largest Contentful Paint — le temps avant l’affichage du contenu principal de la page — à partir des données de terrain (CrUX) issues de vrais utilisateurs, avec repli sur les données de laboratoire. Un contenu principal lent nuit au classement et peut faire expirer les crawlers avant qu’ils ne le voient.
|
6/6 |
| PASS |
TTFB — temps de réponse du serveur
cwv-ttfblab TTFB 2ms (server-response-time, no field data) Vérifie le Time To First Byte — la rapidité avec laquelle votre serveur commence à répondre — à partir des données de terrain réelles, avec repli sur le laboratoire. Un serveur lent retarde tout le reste et peut pousser les crawlers IA à abandonner avant de récupérer la page.
|
3/3 |
| PASS |
Total Blocking Time (labo)
lab-tbtTotal Blocking Time 0ms (lab, mobile) Mesure le Total Blocking Time à partir des données de laboratoire — la durée pendant laquelle le thread principal reste bloqué et incapable de répondre aux interactions — comme substitut de l’interactivité en l’absence de données de terrain. Un temps de blocage élevé signale une page saccadée et peu réactive.
|
3/3 |
| PASS |
First Contentful Paint (labo)
lab-fcplab FCP 961ms, lab LCP 1688ms (mobile) Vérifie le First Contentful Paint (recoupé avec le LCP de laboratoire) à partir des données de laboratoire de PageSpeed Insights — la rapidité d’apparition du premier contenu — comme indicateur de vitesse en l’absence de données d’utilisateurs réels. Un premier affichage rapide rassure visiteurs et crawlers sur le fait que la page se charge.
|
3/3 |
| SKIP |
Les textes alternatifs décrivent vraiment
alt-descriptiveheuristiqueaucun texte alternatif non vide à évaluer Vérifie que les attributs `alt` non vides sont de vraies descriptions plutôt que des noms de fichiers ou des mots passe-partout comme « image » ou « IMG_1234.jpg ». Un texte alternatif pertinent aide les lecteurs d'écran et permet à la recherche d'images et aux moteurs d'IA de comprendre ce que montre chaque visuel.
|
0/3 |
| SKIP |
Chaque iframe est titrée
iframe-titleaucune iframe sur les pages échantillonnées Vérifie que chaque `<iframe>` possède un `title` ou un `aria-label`. Sans cela, les lecteurs d'écran n'annoncent qu'un « cadre » générique et l'utilisateur ne sait pas quel contenu intégré il renferme.
|
0/2 |
| PASS |
Les images portent un texte alternatif
images-altaucun élément <img> sur les pages échantillonnées Mesure la proportion d’éléments <img> possédant un attribut alt sur les pages échantillonnées. Le texte alternatif permet aux lecteurs d’écran et aux modèles d’IA de comprendre les images, améliorant l’accessibilité et la richesse sémantique que les moteurs peuvent extraire de la page.
|
4/4 |
| PASS |
Viewport mobile déclaré
viewportviewport mobile défini Vérifie la présence d’une balise meta viewport pour mobile sur la page d’accueil. Sans elle, les pages s’affichent à la largeur bureau sur téléphone, ce qui nuit à l’ergonomie mobile, un critère pris en compte par les moteurs de recherche pour le classement.
|
5/5 |
| PASS |
Langue de la page déclarée
html-lang<html lang> valide sur 6 page(s) échantillonnée(s) Vérifie que chaque page échantillonnée déclare un code de langue BCP-47 valide dans `<html lang>`. Les lecteurs d'écran s'en servent pour prononcer correctement le contenu, et les moteurs de recherche et d'IA l'utilisent pour proposer la page au public de la bonne langue.
|
4/4 |
| PASS |
Régions repères sémantiques
landmarksrepères sémantiques sur 6 page(s) échantillonnée(s) Vérifie que chaque page utilise des repères sémantiques : un seul `<main>` plus au moins deux parmi `<header>`/`<nav>`/`<footer>`. Ces régions permettent aux technologies d'assistance et aux robots d'IA de distinguer le contenu principal de la navigation et des éléments répétitifs.
|
4/4 |
| PASS |
Chaque champ porte un libellé
form-labelsles 8 champ(s) de formulaire ont un nom accessible Vérifie que chaque champ input, select et textarea (hors champs cachés et boutons) possède un nom accessible fourni par un `<label>`, un `aria-label` ou un `aria-labelledby`. Sans cela, les utilisateurs de lecteurs d'écran ne savent pas à quoi sert un champ et le formulaire devient inutilisable.
|
3/3 |
| PASS |
Les liens ont un nom accessible
link-textles 66 lien(s) ont un nom accessible Vérifie que les liens disposent d'un nom accessible issu de leur texte, d'un `aria-label` ou de l'alt d'une image enfant. Les liens icônes ou images sans nom sont inutilisables au lecteur d'écran et ne donnent aux robots de recherche et d'IA aucune indication sur leur destination.
|
3/3 |
| PASS |
Le zoom n’est pas désactivé
viewport-zoomle viewport autorise le zoom par pincement Vérifie que la balise meta viewport ne bloque pas le zoom tactile via `user-scalable=no` ou un `maximum-scale` inférieur à 2 (WCAG 1.4.4). Désactiver le zoom exclut les personnes malvoyantes qui ont besoin d'agrandir le texte pour lire la page.
|
3/3 |
Tout passe dans cette famille.
| PASS |
Site servi en HTTPS
httpsservi en HTTPS Confirme que le site est servi en HTTPS une fois les redirections suivies. Le transport sécurisé est un signal de base pour le classement et la confiance, et de nombreux robots et agents IA ignorent ou déclassent les pages qui ne sont pas en HTTPS.
|
5/5 |
| PASS |
Hygiène des redirections
redirect-hygienehttp:// redirige en 301 vers https:// Vérifie que la version http:// du site redirige de façon permanente (301) vers https:// en inspectant le tout premier saut de la chaîne de redirection. Une redirection permanente regroupe les signaux de référencement sur une seule origine canonique sécurisée et évite aux crawlers de rester sur une version non sécurisée ou dupliquée.
|
4/4 |
| PASS |
Aucun contenu mixte en HTTPS
mixed-contentaucun contenu mixte sur 6 page(s) échantillonnée(s) Vérifie qu’une page HTTPS ne charge pas de sous-ressources (scripts, feuilles de style, iframes, images ou médias) via http:// non sécurisé. Le contenu mixte déclenche des avertissements de sécurité du navigateur et peut bloquer discrètement des ressources, ce qui affaiblit les signaux de confiance sur lesquels s’appuient les moteurs de recherche et d’IA.
|
4/4 |
| PASS |
HTTPS imposé (HSTS)
hstsHSTS max-age=31536000 (+includeSubDomains) Vérifie la présence d’un en-tête Strict-Transport-Security avec un max-age d’au moins 180 jours, qui force les navigateurs à ne joindre le site qu’en HTTPS. Le HTTPS imposé protège les visiteurs des attaques de rétrogradation et renforce la posture de sécurité qui bâtit la confiance des moteurs de recherche et d’IA.
|
4/4 |
| PASS |
X-Content-Type-Options : nosniff
x-content-type-optionsX-Content-Type-Options : nosniff Confirme que le site envoie `X-Content-Type-Options: nosniff`, qui empêche les navigateurs de deviner (MIME-sniffing) le type d’un fichier au lieu de se fier au type déclaré. Bloquer le MIME-sniffing prévient toute une catégorie d’attaques par injection et constitue un signal de sécurité de base attendu des sites dignes de confiance.
|
3/3 |
| PASS |
En-tête Content-Security-Policy
cspContent-Security-Policy présent Vérifie la présence d’une Content-Security-Policy qui restreint les scripts, styles et connexions que la page peut charger, et alerte lorsqu’elle autorise encore « 'unsafe-inline' » ou des sources joker. Une CSP solide limite les attaques par injection de scripts (XSS) et signale aux moteurs de recherche et d’IA un site bien sécurisé et digne de confiance.
|
3/3 |
| PASS |
Protection contre le clickjacking
clickjackingla directive CSP frame-ancestors limite l’intégration en cadre Vérifie que la page se protège contre son intégration dans un cadre hostile, via un en-tête X-Frame-Options ou une directive CSP frame-ancestors transmise en HTTP. La protection anti-clickjacking empêche les attaquants d’abuser les utilisateurs au moyen d’une surcouche invisible de votre site et constitue un signal de sécurité standard d’une page digne de confiance.
|
3/3 |
| PASS |
En-tête Referrer-Policy
referrer-policyReferrer-Policy : no-referrer Vérifie la présence d’un en-tête Referrer-Policy valide et non fuyant, qui contrôle la part de votre URL partagée lorsque les visiteurs suivent des liens vers d’autres sites. Une politique respectueuse de la vie privée évite de divulguer des URL sensibles et reflète l’hygiène de sécurité qui renforce la confiance globale envers le site.
|
2/2 |
| PASS |
En-tête Permissions-Policy
permissions-policyPermissions-Policy présent Vérifie la présence d’un en-tête Permissions-Policy (ou de l’ancien Feature-Policy) qui désactive par défaut des fonctionnalités puissantes du navigateur comme la caméra, le microphone et la géolocalisation. Verrouiller les fonctionnalités inutilisées réduit la surface d’attaque et constitue un signal de sécurité moderne d’un site bien entretenu et digne de confiance.
|
2/2 |
| PASS |
security-txt
security-txtsecurity.txt publié, contact et date de validité corrects (2027-07-27) Vérifie la présence de /.well-known/security.txt (RFC 9116), l'adresse lisible par machine qu'un chercheur utilise pour signaler une faille, et contrôle que le champ Contact obligatoire est présent et que la date Expires est encore dans le futur. Un fichier périmé ou sans contact signale un site laissé à l'abandon — un signal de confiance que lisent aussi bien les moteurs que les scanners de sécurité.
|
2/2 |