Rapport findable-audit

https://findable.bordebat.fr/ · 2026-07-27
Score global : 99 sur 100 — note A 99 /100 · A
Note A
Les robots atteignent vos pages, comprennent ce qu’ils lisent, et la page tient la route toute seule — rien de structurel ne s’oppose à ce que vous soyez cité.

101 réussis · 2 à corriger · 6 pages

Pages auditées : /en/, /fr/, /en/about/, /en/contact/, /fr/about/, /fr/contact/

100
Trouvable
les robots arrivent-ils jusqu’à la page ?
98
Compréhensible
comprennent-ils ce qu’ils lisent ?
100
Utilisable
la page tient-elle la route, pour un humain et pour un agent ?

Plan d'action

Top 2 corrections — meilleur rendement d’abord

  1. Identité ancrée par des liens sameAs — Indiquez au moins 2 URL de profils officiels dans sameAs, y compris Wikipédia/Wikidata si disponible. +2 pts Modéré
  2. SearchAction du WebSite — Ajoutez un potentialAction SearchAction avec un urlTemplate et un query-input. +1 pts Modéré

Impact vs effort

Impact vs effort : 2 contrôles à corriger, positionnés selon les points récupérables et l'effort estimé Rapide Modéré Conséquent Identité ancrée par des liens sameAs — +2 pts (Modéré) SearchAction du WebSite — +1 pts (Modéré)

Modéré

une demi-journée chacunles 2 : 99 → 100 (A)
Données Identité ancrée par des liens sameAs — Indiquez au moins 2 URL de profils officiels dans sameAs, y compris Wikipédia/Wikidata si disponible. En savoir plus → +2 pts
Comment faire
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.
"sameAs": [
  "https://www.wikidata.org/wiki/QID",
  "https://www.linkedin.com/company/YOU",
  "https://www.google.com/maps/place/?q=place_id:PLACE_ID"
]
Données SearchAction du WebSite — Ajoutez un potentialAction SearchAction avec un urlTemplate et un query-input. En savoir plus → +1 pts
Comment faire
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.
<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>

Core Web Vitals

NON CONCLUANT CrUX terrain · mobile

Labo Lighthouse : Perf 100/100 · FCP 961 ms · TBT 0 ms labo

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.

Ce que mesurent ces indicateurs

  • LCP (Largest Contentful Paint) — temps avant l’affichage du contenu principal
  • INP (Interaction to Next Paint) — rapidité de réaction de la page aux interactions
  • CLS (Cumulative Layout Shift) — stabilité visuelle (sauts de mise en page)
  • TTFB (Time to First Byte) — temps de réponse du serveur (un diagnostic — pas l’un des trois Core Web Vitals officiels)

Tous les contrôles, famille par famille

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.

Graphe d'entités

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.

Graphe d'entités JSON-LD : 10 types d'entités, 12 références publisher isPartOf provider isPartOf about breadcrumb itemListElement isPartOf breadcrumb acceptedAnswer mainEntity contactPoint Organization — findable-audit — /en/, /fr/, /en/about/, /en/contact/, /fr/about/, /fr/contact/ findable-audit Organization WebSite — findable-audit — /en/, /fr/, /en/about/, /en/contact/, /fr/about/, /fr/contact/ findable-audit WebSite WebApplication — findable-audit — /en/, /fr/ findable-audit WebApplication WebPage — ×4 — /en/, /fr/, /en/contact/, /fr/contact/ WebPage ×4 BreadcrumbList — ×6 — /en/, /fr/, /en/about/, /en/contact/, /fr/about/, /fr/contact/ BreadcrumbList ×6 ListItem — ×10 — findable-audit · About · Contact — /en/, /fr/, /en/about/, /en/contact/, /fr/about/, /fr/contact/ ListItem ×10 WebPage, FAQPage — ×2 — /en/about/, /fr/about/ WebPage + FAQPage ×2 Question — ×8 — Is findable-audit free? · How is GEO different from SEO? · What do you keep about the sites I audit? — /en/about/, /fr/about/ Question ×8 Answer — ×8 — /en/about/, /fr/about/ Answer ×8 ContactPoint — ×2 — /en/contact/, /fr/contact/ ContactPoint ×2
Le détail des 8 familles de score

Sous-scores par catégorie

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%

Où regagner des points

Où regagner des points Données structurées & métadonnées: 95/100, −3 pts Données −3 pts 95/100 Accès crawler IA: 100/100, 0 pts Accès IA 0 pts 100/100 Contenu moteur de réponse: 100/100, 0 pts Contenu IA 0 pts 100/100 SEO technique: 100/100, 0 pts SEO 0 pts 100/100 On-page & contenu: 100/100, 0 pts On-page 0 pts 100/100 Performance & Core Web Vitals: 100/100, 0 pts Perf 0 pts 100/100 Accessibilité: 100/100, 0 pts A11y 0 pts 100/100 Sécurité & confiance: 100/100, 0 pts Sécurité 0 pts 100/100

Accès crawler IA (54/54)

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.

Afficher les 9 contrôles réussis
PASS
Un robots.txt existerobots-exists
robots.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-wellformed
robots.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éssearch-crawlers-allowed
robots 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.txtai-crawlers-allowed
tous 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épondhomepage-ok
la 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 sainesrobots-directives
aucune 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 pageai-serving-parity
le 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 extraitssnippet-preview-directives
directives 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 indexablesmeta-robots-noindex
aucun 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

Contenu moteur de réponse (77/77)

SKIP
Dates récentes et lisibles par machinecontent-freshness
aucune 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-eeat
aucune 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
Afficher les 19 contrôles réussis
PASS
Le fichier d’orientation /llms.txtllms-txt
llms.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.txtllms-full-txtheuristique
llms-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 JavaScriptcontent-without-js
texte 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é clientcsr-content-parity
contenu 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 pagecontent-depthheuristique
contenu 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 pagecontent-lead-answerheuristique
chapô 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 questionsanswer-headingsheuristique
intertitres 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 proseextractable-structureheuristique
listes/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 sourcesoutbound-citationsheuristique
citations 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éescontent-uniquenessheuristique
aucun 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 contactabout-contact
pages À 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.jsonwell-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 concordentfreshness-coherence
signaux 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 évasifhedging-rateheuristique
chapô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 citablesanswer-unitsheuristique
47 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écoupagechunk-boundaryheuristique
structure 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 seuleschunk-retrieval-simheuristique
8/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ésinjection-hygieneheuristique
aucun 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 agentagent-usabilityheuristique
4 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

Données structurées & métadonnées (56/59)

WARN
Identité ancrée par des liens sameAssd-entity-grounding
une 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 LocalBusinesssd-localbusiness
aucune 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 Articlesd-article
aucune 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 Productsd-product
aucune 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 WebSitesd-website-searchaction
WebSite 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 VideoObjectsd-video
aucun 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éssd-special-types
aucun 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érentsnap-consistency
aucun 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
Afficher les 12 contrôles réussis
PASS
Présence de JSON-LDjson-ld
1 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éejson-ld-entity
entité 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 pagesschema-coverage
6/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 Graphopen-graph
Open 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 Cardtwitter-card
twitter: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-valid
1 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 Organizationsd-organization
entité 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 FAQPagesd-faq
contenu 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 BreadcrumbListsd-breadcrumb
fil 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 @graphsd-graph-integrity
5 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 pagesd-consistency
1 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-connectivity
43 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

SEO technique (81/81)

SKIP
Fichier de clé IndexNowindexnow
aucune 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 canonicalisentpagination-canonical
aucune 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 taillesitemap-index-limits
aucun <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
Afficher les 19 contrôles réussis
PASS
Un sitemap XML est publiésitemap
sitemap 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érentecanonical
canonique 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-links
9 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éciproqueshreflang
5 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 indexablecanonical-resolves
6 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éswww-consolidation
l'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ènetrailing-slash
les 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 redirectionsredirect-chains
aucune 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 404soft-404
une 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 issuecustom-404
la 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 lisibleurl-structureheuristique
9 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-refreshmeta-refresh
aucune 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érencehreflang-x-default
jeu 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 profondeinternal-linking
6 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 internelink-equity-map
jus 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 JavaScriptcrawlable-nav
66 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 sitemapsitemap-lastmod
6/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épondentsitemap-urls-valid
6 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éessitemap-orphans
le 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

On-page & contenu (38/38)

SKIP
Légendes sur les images explicativesfigure-captionheuristique
aucune 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
Afficher les 10 contrôles réussis
PASS
Titre et description de l’accueiltitle-descriptionheuristique
titre 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’autreunique-titles
titres 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 pagemeta-per-pageheuristique
titre 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ènetitle-patternheuristique
le 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 chosetitle-h1-alignmentheuristique
le 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-outline
hié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 descriptifsanchor-textheuristique
0 % 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écharset
charset 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 tactilefavicon
favicon 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 lisiblescontent-readabilityheuristique
le 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

Performance & Core Web Vitals (47/47)

SKIP
En-têtes de cache sur les fichiers statiquesasset-caching
aucune 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é visuellecwv-cls
aucune 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 interactionscwv-inp
aucune 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 Vitalscwv-assessment
aucune é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
Afficher les 15 contrôles réussis
PASS
Poids du document HTMLhtml-weightheuristique
HTML 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 affichagerender-blocking-js
aucun 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 affichagerender-blocking-css
0 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éesimg-dimensions
aucun é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 flottaisonimg-lazy-loadingheuristique
aucune 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érationimg-next-genheuristique
aucun é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-hintsheuristique
preconnect/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 DOMdom-size
DOM 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éetext-compression
HTML 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 headinline-head-volumeheuristique
13KB 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 Lighthouselighthouse-perf
Lighthouse 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 principalcwv-lcp
lab 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 serveurcwv-ttfb
lab 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-tbt
Total 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-fcp
lab 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

Accessibilité (26/26)

SKIP
Les textes alternatifs décrivent vraimentalt-descriptiveheuristique
aucun 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éeiframe-title
aucune 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
Afficher les 7 contrôles réussis
PASS
Les images portent un texte alternatifimages-alt
aucun é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éviewport
viewport 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éehtml-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émantiqueslandmarks
repè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-labels
les 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 accessiblelink-text
les 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-zoom
le 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

Sécurité & confiance (32/32)

Tout passe dans cette famille.

Afficher les 10 contrôles réussis
PASS
Site servi en HTTPShttps
servi 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 redirectionsredirect-hygiene
http:// 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 HTTPSmixed-content
aucun 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)hsts
HSTS 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 : nosniffx-content-type-options
X-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-Policycsp
Content-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 clickjackingclickjacking
la 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-Policyreferrer-policy
Referrer-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-Policypermissions-policy
Permissions-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-txtsecurity-txt
security.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