Scanner d’Eloveo : méthode publiée. Méthode du scanner Eloveo : comment le score est calculé
Cette page décrit, contrôle par contrôle, comment le scanner gratuit d’Eloveo note un site : ce qu’il vérifie en SEO, en GEO, en accessibilité et en sécurité, le poids de chaque point, les plafonds, et ce qu’il ne sait pas mesurer. Tout ce qui est écrit ici correspond au code de la version 2.1. Barème validé le 12 octobre 2026. Lancer le test de référencement gratuit.
Par Gustavo Augusto, fondateur d’Eloveo, à Corgémont
Mis à jour le 13 octobre 2026
Comment le scanner d’Eloveo calcule-t-il le score sur 100 ?
Le scanner d’Eloveo note chaque contrôle de 0 à 1, en fait une moyenne pondérée par catégorie, puis applique un barème exigeant. Le score global est la moyenne des huit catégories, pondérée selon leur poids. Si un défaut critique est détecté, un plafond limite ce score, quel que soit le reste du site.
- Chaque contrôle reçoit un taux de 0 à 1. Exemple : 3 images sur 4 avec un texte alternatif donnent 0,75. Un contrôle qui porte sur plusieurs pages prend la moyenne des pages où il s’applique.
- Chaque catégorie calcule sa part de points : la somme des poids multipliés par les taux, divisée par la somme des poids des contrôles applicables.
- Le barème exigeant transforme cette part en note : note de la catégorie = 100 × (part des points) puissance 1,7, arrondie.
- Le score brut est la moyenne des notes des catégories, pondérée par leur poids (20, 15, 15, 12, 10, 10, 10 et 8). Une catégorie qui n’a pu être évaluée sort du calcul.
- Le plafond le plus bas s’applique si un défaut critique est détecté. Le rapport affiche alors les deux scores, plafonné et brut.
| Part des points obtenus dans une catégorie | Note de la catégorie | Statut |
|---|---|---|
| 100 % | 100 | Bon |
| 95 % | 92 | Bon |
| 90 % | 84 | À corriger |
| 80 % | 68 | À corriger |
| 70 % | 55 | À corriger |
| 50 % | 31 | Critique |
Combien pèse chaque domaine dans le score ?
Le scanner d’Eloveo répartit 100 points entre huit domaines. L’accessibilité pèse le plus (20), devant le SEO technique et la visibilité dans les IA, le GEO (15 chacun), la performance (12), le contenu et la structure, la sécurité, la confiance et les mentions légales (10 chacun), puis les données structurées et le local (8).
| Domaine | Poids | Nombre de contrôles |
|---|---|---|
| Accessibilité | 20 | 9 |
| SEO technique | 15 | 16 |
| Visibilité IA (GEO) | 15 | 10 |
| Performance | 12 | 5 (4 si le test de Google ne répond pas) |
| Contenu et structure | 10 | 8 |
| Sécurité | 10 | 7 |
| Confiance et mentions légales | 10 | 5 |
| Données structurées et local | 8 | 7 |
Quels contrôles le scanner fait-il dans chaque domaine ?
Le scanner d’Eloveo exécute 67 contrôles quand le test de Google répond. Chacun a un poids dans sa catégorie, une portée (l’accueil, le site ou un nombre de pages) et, quand c’est possible, une preuve. Les poids sont relatifs : seul compte leur rapport à l’intérieur d’une même catégorie.
Jusqu’à cinq pages sont lues : l’accueil, puis des pages liées depuis l’accueil, dans cet ordre de priorité : mentions légales, politique de confidentialité, contact, pages de contenu (d’abord celles du menu). Google teste l’accueil et une page de contenu, ou à défaut la page de contact.
Accessibilité (poids 20)
| Contrôle | Poids | Ce qui est vérifié | Portée |
|---|---|---|---|
| Test d’accessibilité de Google | 40 | Note d’accessibilité de Lighthouse via PageSpeed Insights, contraste et rendu réel compris, moyenne des pages testées | 1 ou 2 pages |
| Textes alternatifs des images | 12 | Part des images qui ont un attribut alt. Un alt vide est accepté : il signale une image décorative | Pages avec images |
| Libellés des formulaires | 12 | Chaque champ a un label, un aria-label, un aria-labelledby ou un title. Un placeholder ne suffit pas | Pages avec formulaire |
| Liens avec un nom lisible | 8 | Texte, aria-label, title ou image décrite dans le lien | Pages avec liens |
| Boutons avec un nom lisible | 8 | Même règle pour les boutons | Pages avec boutons |
| Langue déclarée | 6 | Attribut lang sur la balise html | Toutes les pages |
| Structure des titres | 6 | Aucun niveau sauté (un H4 juste après un H2). Un saut donne 0,5, une page sans aucun titre 0 | Toutes les pages |
| Zoom autorisé sur mobile | 5 | Pas de user-scalable=no, ni de maximum-scale inférieur à 2 | Toutes les pages |
| Titres des contenus intégrés | 3 | Attribut title sur chaque iframe (vidéo, carte) | Pages avec iframe |
La note de Google est une moyenne pondérée de contrôles réussis ou échoués, sans demi-mesure (voir la documentation de Google dans les sources).
SEO technique (poids 15)
| Contrôle | Poids | Ce qui est vérifié | Portée |
|---|---|---|---|
| Pages autorisées dans Google | 12 | Aucun noindex (balise robots, balise googlebot ou en-tête X-Robots-Tag) | Pages hors légales |
| Titre de page présent | 8 | Balise title non vide | Toutes les pages |
| Redirection de HTTP vers HTTPS | 8 | L’adresse en http:// renvoie vers https:// | Site |
| Plan du site valide | 8 | Sitemap déclaré dans robots.txt, sinon /sitemap.xml, qui contient bien une liste d’URL | Site |
| Contrôle SEO de Google | 8 | Note SEO de Lighthouse via PageSpeed Insights | Accueil |
| Description de page | 6 | Meta description présente | Pages hors légales |
| URL canonique | 5 | Balise canonical présente | Toutes les pages |
| Affichage mobile déclaré | 5 | Balise viewport présente | Toutes les pages |
| Page introuvable correcte | 5 | Une adresse inventée renvoie une erreur 404 ou 410 | Site |
| Longueur du titre | 4 | 20 à 60 caractères | Pages avec titre |
| Titres différents | 4 | Aucun titre partagé par deux pages | Dès 2 titres |
| Une seule version du domaine | 4 | La version avec ou sans www redirige vers le site | Site |
| Fichier robots.txt | 4 | Présent et lisible. Son absence n’est pas un défaut : le contrôle sort alors du calcul, de même que s’il est injoignable (erreur du serveur ou délai dépassé) | Site |
| Longueur de la description | 3 | 70 à 160 caractères | Pages avec description |
| Aperçu de partage | 3 | og:title, og:description et og:image présents | Pages hors légales et contact |
| Doctype et encodage | 3 | Doctype HTML5 et jeu de caractères déclarés | Toutes les pages |
Visibilité IA, le GEO (poids 15)
| Contrôle | Poids | Ce qui est vérifié | Portée |
|---|---|---|---|
| Robots de recherche des IA autorisés | 20 | Le robots.txt ne bloque pas OAI-SearchBot, PerplexityBot, Claude-SearchBot, Claude-User ni Googlebot. Chaque robot bloqué retire un cinquième du contrôle. « User-agent: * » avec « Disallow: / » les bloque tous. Les robots d’entraînement (GPTBot, ClaudeBot, Google-Extended) et les robots de visite à la demande (ChatGPT-User, Perplexity-User) sont signalés sans retirer de point. Un robots.txt injoignable (erreur du serveur ou délai dépassé) rend le contrôle « non vérifié » | Site |
| Texte lisible sans JavaScript | 15 | Nombre de mots dans le HTML envoyé par le serveur : 150 ou plus donnent 1, moins de 50 donnent 0, proportionnel entre les deux | Accueil |
| Données structurées | 10 | Au moins un bloc JSON-LD valide par page | Toutes les pages |
| Titres formulés en questions | 8 | Au moins un H2 ou H3 qui finit par un point d’interrogation | Accueil et contenu |
| Page approfondie | 8 | La page la plus longue fait au moins 800 mots (1), au moins 300 mots (0,5) | Site |
| Auteur identifiable | 8 | Meta author, auteur dans le JSON-LD, lien rel="author" ou nœud Person | Site |
| Date de mise à jour | 6 | dateModified ou datePublished, meta article, ou balise time avec datetime | Site |
| FAQ balisée | 5 | Un nœud FAQPage sur une page analysée | Site |
| Sitemap déclaré dans le robots.txt | 4 | Ligne Sitemap présente (seulement si robots.txt existe) | Site |
| Fichier llms.txt | 3 | Fichier texte, pas une page HTML, d’au moins 20 caractères. Signal secondaire | Site |
Le rôle des robots d’OpenAI est décrit dans la documentation d’OpenAI, citée dans les sources. Pour comprendre le GEO lui-même : ce que le GEO change pour un site.
Performance (poids 12)
Quand le test de Google répond :
| Contrôle | Poids | Ce qui est vérifié | Portée |
|---|---|---|---|
| Score de performance de Google (mobile) | 40 | Note de performance de Lighthouse | Accueil |
| Affichage du contenu principal (LCP) | 20 | Moins de 2,5 s : 1 ; moins de 4 s : 0,5 ; au-delà : 0 | Accueil |
| Stabilité de la mise en page (CLS) | 15 | Moins de 0,1 : 1 ; moins de 0,25 : 0,5 ; au-delà : 0 | Accueil |
| Réactivité (INP) | 15, ou 8 si estimée | Moins de 200 ms : 1 ; moins de 500 ms : 0,5. Sans INP, le temps de blocage (TBT) sert d’estimation et le poids tombe à 8 | Accueil |
| Compression HTTP | 10 | gzip, brotli ou autre encodage déclaré | Accueil |
Quand le test de Google ne répond pas, la performance est estimée depuis le serveur d’Eloveo : temps de réponse (poids 35 ; bon sous 300 ms), poids de la page HTML (35 ; bon sous 500 000 octets) et compression (20).
Les seuils « bons » du LCP, de l’INP et du CLS sont ceux de Google (Web Vitals, cité dans les sources). Les mesures sont faites en laboratoire par Lighthouse, en configuration mobile, pas sur les visites réelles du site. Le test de Google est abandonné au bout de 45 secondes.
Contenu et structure (poids 10)
| Contrôle | Poids | Ce qui est vérifié | Portée |
|---|---|---|---|
| Un seul titre principal | 8 | Exactement un H1 par page | Toutes les pages |
| Liens internes cassés | 8 | Jusqu’à 15 liens internes vers des pages non analysées. Seules les erreurs 404 et 410 comptent | Échantillon |
| Quantité de texte | 6 | 300 mots ou plus : 1 ; 150 ou plus : 0,5 | Accueil et contenu |
| Sous-titres | 4 | Au moins un H2 | Accueil et contenu |
| Liens sans destination | 4 | Aucun lien avec un href vide ou « # » | Pages avec liens |
| Cohérence du titre et du H1 | 3 | Au moins un mot de quatre lettres ou plus en commun | Pages avec titre et H1 |
| Formats d’image modernes | 3 | Part des images en WebP ou AVIF | Pages avec images |
| Dimensions des images | 3 | width et height déclarés (les images next/image en mode fill comptent comme dimensionnées) | Pages avec images |
Sécurité (poids 10)
| Contrôle | Poids | Ce qui est vérifié | Portée |
|---|---|---|---|
| Connexion chiffrée | 25 | Site servi en HTTPS | Site |
| Aucun contenu mixte | 25 | Aucune image, aucun script, aucune feuille de style ou iframe en http:// sur une page HTTPS | Toutes les pages |
| HSTS | 15 | En-tête Strict-Transport-Security d’au moins 6 mois (1) ; plus court (0,5) ; absent (0) | Accueil |
| Politique de sécurité du contenu | 10 | En-tête Content-Security-Policy, ou balise meta équivalente | Accueil |
| X-Content-Type-Options | 10 | Valeur nosniff | Accueil |
| Protection contre l’intégration piégée | 10 | X-Frame-Options, ou frame-ancestors dans la CSP | Accueil |
| Politique de référent | 5 | En-tête Referrer-Policy | Accueil |
Confiance et mentions légales (poids 10)
| Contrôle | Poids | Ce qui est vérifié | Portée |
|---|---|---|---|
| Mentions légales | 25 | Un lien depuis l’accueil dont le texte ou l’adresse évoque des mentions légales ou un impressum | Accueil |
| Politique de confidentialité | 25 | Même règle. Si le lien manque et que le site collecte des données (formulaire ou traceur), le contrôle vaut 0. Sans collecte visible, il sort du calcul | Accueil |
| Moyen de contact | 20 | Un email ou un téléphone visible | Site |
| Consentement aux traceurs | 20 | Si Google Analytics, Google Tag Manager, Meta Pixel ou Hotjar est détecté : outil de consentement reconnu (1), sinon « point à vérifier » (0,5). Sans traceur, le contrôle sort du calcul | Site |
| Adresse postale | 10 | Un code postal suivi d’un nom de lieu, ou une adresse balisée | Site |
Données structurées et local (poids 8)
| Contrôle | Poids | Ce qui est vérifié | Portée |
|---|---|---|---|
| Identité de l’entreprise | 25 | Un nœud Organization, LocalBusiness ou d’un type d’entreprise dérivé | Site |
| Syntaxe valide | 20 | Aucun bloc JSON-LD illisible | Pages avec JSON-LD |
| Présence | 15 | Au moins un bloc JSON-LD par page | Toutes les pages |
| Fiche locale complète | 15 | Adresse et téléphone dans le nœud d’entreprise locale (seulement si ce nœud existe) | Site |
| Fil d’Ariane | 10 | BreadcrumbList sur les pages de contenu | Pages de contenu |
| Profils officiels reliés | 10 | Propriété sameAs présente | Site |
| Site décrit | 5 | Nœud WebSite | Site |
Quand le score est-il plafonné ?
Le scanner d’Eloveo plafonne le score quand un défaut suffit à lui seul à rendre un site invisible, peu sûr ou difficile d’accès : une page d’accueil exclue de Google, un site entièrement interdit aux moteurs, l’absence de HTTPS. Le plus bas des plafonds s’applique, et le rapport affiche aussi le score sans ce défaut.
| Défaut | Score maximal |
|---|---|
| Page d’accueil exclue de Google (noindex) | 40 |
| robots.txt qui interdit tout le site à tous les robots (« User-agent: * » et « Disallow: / ») | 45 |
| Site servi en HTTP, ou adresse HTTP non redirigée vers HTTPS | 50 |
| Au moins une ressource en HTTP sur une page HTTPS (contenu mixte) | 65 |
| Note d’accessibilité de Google sous 50, en moyenne des pages testées | 70 |
Exemple : un site qui obtiendrait 78 mais dont l’accueil porte un noindex affiche 40, avec la mention « Score plafonné à 40/100 (78/100 sans ce défaut) ».
Que se passe-t-il quand un contrôle ne s’applique pas ?
Dans le scanner d’Eloveo, un critère qui ne s’applique pas sort du calcul : une page sans image ne gagne ni ne perd de points sur les textes alternatifs. De même, un contrôle impossible à vérifier, par exemple quand le test de Google ne répond pas, est marqué « non vérifié » et ne retire aucun point.
Conséquence : les autres contrôles de la catégorie pèsent un peu plus. Si aucun contrôle d’une catégorie ne s’applique, elle est « non évaluée » et sort du score global. La version 1 du scanner faisait l’inverse : une page sans image gagnait des points. La version 2 ne donne plus aucun point gratuit.
Comment le scanner évite-t-il les faux défauts ?
Le scanner d’Eloveo est conçu pour ne retirer des points que pour un défaut réel. Les fichiers robots.txt, sitemap et llms.txt sont validés par leur contenu, et une adresse inventée sert à vérifier la page 404. Le 12 octobre 2026, la méthode a été étalonnée sur des sites réels, défauts vérifiés à la main.
- Fausses pages 404. Certains serveurs renvoient une page normale pour n’importe quelle adresse. Un robots.txt, un sitemap ou un llms.txt qui est en réalité une page HTML ne rapporte donc aucun point.
- Images décoratives. Un alt vide est accepté : c’est la bonne pratique pour une image sans information.
- Doute signalé. Quand une détection peut se tromper (politique de confidentialité, bannière de cookies), le constat commence par « Point à vérifier ».
- Étalonnage. 12 sites scannés le 12 octobre 2026. Sur les 7 premiers, 3 défauts par site ont été tirés au hasard et vérifiés à la main. Deux faux défauts ont été trouvés et corrigés : des images comptées sans dimensions alors que leur place était réservée, et des adresses françaises à 5 chiffres non reconnues. Deux constats, relayés du test de Google, ne peuvent pas être reproduits à la main.
Comment les recommandations sont-elles classées ?
Le plan d’action du scanner d’Eloveo classe chaque défaut selon trois facteurs : le poids de sa catégorie, le poids du contrôle et l’ampleur du défaut. Les douze premiers sont retenus. Un défaut qui coûte au moins 10 points de poids dans sa catégorie est marqué « Prioritaire », les autres « À corriger ».
Calcul : priorité = poids de la catégorie × poids du contrôle × (1 moins le taux obtenu). Exemple : un robots.txt qui bloque les cinq robots de recherche des IA coûte 20 points de poids en GEO, il est « Prioritaire ». Des textes alternatifs manquants sur la moitié des images coûtent 6 points de poids, ils sont « À corriger ». Chaque recommandation reprend le constat et, quand elle existe, un exemple d’élément fautif.
Que le scanner ne sait-il pas mesurer ?
Le scanner d’Eloveo lit le code de cinq pages au plus et relaie des tests de Google. Il ne mesure ni la position dans Google, ni les liens venus d’autres sites, ni les citations réelles par les IA, ni l’expérience d’une personne handicapée. Son score est indicatif : ce n’est ni une certification ni un avis juridique.
- JavaScript. Le scanner lit le HTML envoyé par le serveur, sans exécuter JavaScript. Ce qui n’apparaît qu’après lui échappe, sauf dans les tests de Google.
- Taille et délais. 1,5 Mo lus au plus par page, 8 secondes d’attente au plus par page, moins d’une minute pour l’ensemble (12 à 36 secondes lors de l’étalonnage du 12 octobre 2026).
- Choix des pages. Les pages sont choisies à partir des liens de l’accueil. Une page importante peut ne pas être lue. Les pages de connexion, de panier ou de compte, les PDF et les images sont écartés.
- Détections par motifs. Mentions légales et confidentialité sont reconnues par le texte ou l’adresse du lien, quatre traceurs et une quinzaine d’outils de consentement par leur nom, l’adresse par un code postal. Un site correct peut être mal reconnu.
- Tests de Google. Ce sont des mesures de laboratoire, en configuration mobile, qui varient d’un test à l’autre (voir la documentation de Lighthouse dans les sources). Performance et SEO ne portent que sur l’accueil.
- Accessibilité. Les outils automatiques ne repèrent qu’environ 30 à 40 % des défauts selon l’audit du gouvernement britannique, 57 % selon l’étude de Deque, éditeur d’outils. Le clavier, l’ordre de lecture et la compréhension ne sont pas testés. Voir l’accessibilité d’un site internet en Suisse.
- Robots des IA. Le scanner lit les règles du robots.txt, pas le comportement réel des robots. Seuls les cinq robots de recherche comptent : OAI-SearchBot, PerplexityBot, Claude-SearchBot, Claude-User et Googlebot. Bloquer GPTBot, ClaudeBot ou Google-Extended, des robots d’entraînement, est un choix légitime : selon OpenAI et Google, cela ne retire pas un site de la recherche de ChatGPT ni des aperçus IA de Google (comment apparaître dans ChatGPT). OpenAI indique que les règles du robots.txt peuvent ne pas s’appliquer aux visites de ChatGPT-User, déclenchées par un utilisateur, et Perplexity-User les ignore en général : ces deux robots sont signalés, sans pénalité. Un robots.txt injoignable est « non vérifié ».
- Signaux faibles. Google n’affiche plus de résultats enrichis FAQ depuis le 7 mai 2026. Le contrôle FAQ balisée garde un petit poids, parce que le format question-réponse peut être repris par les IA, sans effet démontré. Le llms.txt est un signal secondaire.
- Seuils choisis par Eloveo. Titre de 20 à 60 caractères, description de 70 à 160, 150, 300 et 800 mots, HSTS de 6 mois, zoom jusqu’à 2 fois : ce sont des repères d’Eloveo, pas des règles de Google. Seuls les seuils du LCP, de l’INP et du CLS viennent de Google.
- Hors champ. Positions, liens entrants, avis clients, fiche Google Business et citations par les IA ne sont pas mesurés. Pour la fiche : vérifier et corriger sa fiche Google.
Quelle version de la méthode est en service ?
La méthode décrite ici est la version 2.1 du scanner d’Eloveo. Son barème a été validé le 12 octobre 2026 par Gustavo Augusto, après un étalonnage sur douze sites réels. Toute modification d’un contrôle, d’un poids ou d’un plafond sera datée sur cette page, pour qu’un score reste comparable dans le temps.
| Date | Changement |
|---|---|
| 12 octobre 2026 | Version 2 : jusqu’à cinq pages au lieu de la seule page d’accueil, module accessibilité, confiance et mentions légales, plafonds sur défaut critique, critères non applicables sortis du calcul, test SEO de Google séparé de la performance |
| 12 octobre 2026 | Corrections après étalonnage : images next/image en mode fill, borne basse du titre ramenée de 30 à 20 caractères, codes postaux à 5 chiffres, constat de la page 404 précisé |
| 12 octobre 2026 | Barème exigeant (puissance 1,7) validé |
| 13 octobre 2026 | Version 2.1 : seuls les cinq robots de recherche des IA comptent, les robots d’entraînement et de visite à la demande sont signalés sans pénalité, un robots.txt injoignable est non vérifié, le test de Google est lancé en configuration mobile et abandonné au bout de 45 secondes |
Sources
- Lighthouse accessibility score, Chrome for Developers (consulté le 13 octobre 2026)
- Lighthouse performance scoring, section « Why your score fluctuates » (consulté le 13 octobre 2026)
- Web Vitals, web.dev (consulté le 13 octobre 2026)
- PageSpeed Insights API, runPagespeed (consulté le 13 octobre 2026)
- Overview of OpenAI Crawlers (consulté le 13 octobre 2026)
- Latest Google Search Documentation Updates (fin des résultats enrichis FAQ) (consulté le 13 octobre 2026)
- Automated testing, DWP Accessibility Manual (consulté le 13 octobre 2026)
- What we found when we tested tools on the world’s least-accessible webpage (GOV.UK, 24 février 2017) (consulté le 13 octobre 2026)
- Deque Study Shows Its Automated Testing Identifies 57 Percent of Digital Accessibility Issues (10 mars 2021) (consulté le 13 octobre 2026)