Demandez à un assistant IA d’auditer votre site et vous obtiendrez en général une liste assurée : ajouter des meta descriptions, compresser les images, configurer DMARC, revoir les en-têtes de sécurité. Une partie sera juste. Une autre décrira un site que l’assistant n’a jamais réellement inspecté, car un modèle de langage incapable d’interroger le DNS, d’ouvrir une connexion TLS ou de lire des données de performance réelles comble les vides avec ce que les sites font habituellement de travers.
Un audit de site web par IA fonctionne quand chacun fait ce qu’il sait faire : des contrôles structurés collectent des preuves sur le site en ligne, et l’agent lit ces preuves, les explique, les hiérarchise et transmet des correctifs précis à un agent de code. Ce guide présente ce qu’est un audit de site web par IA, ce qu’un agent peut ou non faire seul, une checklist pour chacun des six domaines, un workflow pas à pas via MCP, la façon de juger un outil d’audit par IA, et les pièges qui transforment un audit rapide en travail perdu. Tous les domaines et constats ci-dessous sont des exemples.
Portée de ce guide
Sitelemetry ne modifie pas la cible ; ses contrôles de sécurité actifs exigent une cible vérifiée. SEO, IA, accessibilité et intégrations lisent le HTML statique sans JavaScript. Ni test d’intrusion, ni audit manuel d’accessibilité.
1. Ce qu’est un audit de site web par IA
Un audit de site web vérifie comment un site est construit, délivré et connecté : s’il est protégé, si les moteurs de recherche et les systèmes d’IA peuvent le lire, si les personnes peuvent l’utiliser, sa rapidité, et quels services tiers il charge. Un audit de site web par IA ajoute un agent IA à ce travail. L’agent lance les contrôles, lit les résultats, les explique en langage clair, décide avec vous quoi corriger en premier et rédige la demande de modification pour la personne ou l’agent de code qui fera le correctif.
Trois approches assez différentes sont décrites avec les mêmes mots :
| Approche | Fonctionnement | Utile pour | Limite principale |
|---|---|---|---|
| Un assistant de chat seul | Le modèle lit les pages qu’il peut récupérer, ou ce que vous collez, et répond à partir de connaissances générales | Expliquer des concepts, relire des textes, faire du brainstorming | Aucun accès au DNS, à TLS, aux en-têtes ni aux données terrain sauf si un outil les fournit ; des constats plausibles mais non vérifiés |
| Un scanner avec résumé IA | Un scanner exécute des contrôles fixes et un modèle résume le rapport | Des contrôles reproductibles et une vue d’ensemble lisible | Le résumé vaut ce que valent les contrôles, et transformer les constats en tâches reste manuel |
| Un agent connecté à des outils d’audit | L’agent appelle des outils d’audit via un protocole comme MCP, reçoit des constats structurés avec preuves et travaille avec vous ou avec un agent de code sur le correctif | Toute la boucle : audit, priorisation, correctif, nouvel audit | Demande une connexion autorisée, un périmètre clair et une personne qui approuve les changements |
Ce guide porte sur la troisième approche, car c’est là que l’IA fait gagner un vrai temps tout en gardant chaque constat lié à une preuve vérifiable. Les contrôles restent reproductibles ; l’agent apporte du jugement, du contexte et la transmission aux personnes et outils qui livrent les changements. Si MCP est nouveau pour vous, le guide de MCP explique hôtes, clients, serveurs et outils simplement.
2. Ce qu’un agent IA peut et ne peut pas faire seul
Un modèle de langage est très bon pour lire, résumer et écrire. Ce n’est pas un outil réseau. Sans outil fourni par l’application, il ne voit pas ce que voient un navigateur ou un robot d’exploration sous la page visible. Le tableau compare un agent seul, avec au mieux un outil de navigation web, et le même agent travaillant à partir de contrôles structurés.
Les agents de code dotés d’un terminal, comme Claude Code, Codex ou Cursor, peuvent aussi exécuter eux-mêmes curl, dig ou openssl. C’est utile pour confirmer un constat, mais l’agent choisit ses commandes au fil de l’eau : la couverture dépend de ce qu’il pense à vérifier, les résultats varient d’une exécution à l’autre, et rien ne limite ses sondes aux domaines que vous avez vérifiés.
| Question | Agent seul (navigation, connaissances générales, commandes ponctuelles) | Agent avec contrôles structurés |
|---|---|---|
| Le certificat TLS est-il valide, et quand expire-t-il ? | Ne peut pas inspecter la négociation TLS ; peut supposer que tout va bien parce que la page s’est chargée | Lit la chaîne, la date d’expiration et le protocole négocié |
| Quels en-têtes de sécurité le serveur envoie-t-il ? | Les outils de navigation renvoient en général le texte de la page, pas les en-têtes de réponse | Liste chaque en-tête et sa valeur observée |
| SPF et DMARC sont-ils en place ? | Ne peut pas interroger le DNS ; peut deviner d’après ce qui est courant | Cite les enregistrements TXT publiés |
Des fichiers comme /.env ou /.git/ sont-ils exposés ? | Ne devrait pas sonder des chemins que personne ne lui a demandés, et n’essaie généralement pas | Requête des chemins sensibles connus sur une cible que vous avez vérifiée et rapporte les codes de statut |
| Quelle est la vitesse de la page pour les vrais visiteurs ? | N’a pas de données terrain ; peut citer des chiffres typiques | Lit les données terrain de LCP, INP et CLS quand elles existent, plus des résultats labo où le Total Blocking Time remplace l’INP |
| Quelles requêtes apportent des clics depuis Google ? | N’a pas accès à votre propriété Search Console | Lit clics, impressions, CTR et position via une connexion autorisée |
| Les images ont-elles un texte alternatif et les champs de formulaire des libellés ? | Repère les lacunes évidentes dans la page lue, mais peut sauter des éléments ou mal interpréter le balisage | Vérifie les images et champs dans le HTML lu et indique combien échouent, avec des exemples |
| La réponse sera-t-elle la même demain ? | La formulation et les conclusions varient d’une exécution à l’autre | Même contrôle, même cible, résultat comparable |
Le risque de la colonne du milieu a un nom. La liste OWASP des risques des applications LLM décrit la désinformation comme une sortie fausse ou trompeuse qui semble crédible, l’hallucination en étant l’une des causes majeures, aggravée quand on s’y fie sans vérifier. Dans un audit, cela donne « votre politique DMARC est à none » pour un domaine dont le modèle n’a jamais lu l’enregistrement, ou un en-tête déclaré absent alors que le serveur l’envoie.
Un second risque vient des pages elles-mêmes. Un agent qui lit un site lit du texte non fiable, et une page peut contenir des instructions destinées au modèle, parfois cachées aux visiteurs humains. L’OWASP appelle cela l’injection de prompt indirecte. Une configuration d’audit prudente traite le contenu des pages comme des données à rapporter, jamais comme des instructions, et garde une personne pour approuver toute action de l’agent.
L’agent excelle dans tout ce qui entoure la preuve : expliquer ce qu’un constat signifie pour ce site précis, regrouper les constats liés, poser des questions sur un contexte que les contrôles ne peuvent pas connaître (ce vieux sous-domaine de préproduction est-il encore utilisé ?) et rédiger une demande de correctif assez précise pour un agent de code. Cette répartition du travail est le cœur d’un bon audit de site web par IA.
3. Les six domaines à couvrir, avec une checklist pour chacun
Un audit de site web approfondi examine six couches. Chacune répond à une question différente et produit un autre type de preuve. Le guide de l’audit de site web suit un même parcours client à travers les six ; voici la checklist de travail.
| Domaine | Question | Preuves attendues |
|---|---|---|
| Sécurité | Le site et son domaine sont-ils protégés contre les faiblesses courantes et visibles ? | Détails du certificat, valeurs d’en-têtes, enregistrements DNS, codes de statut des chemins sensibles |
| SEO technique | Les moteurs de recherche peuvent-ils explorer, comprendre et indexer les bonnes pages ? | Règles robots.txt, titres, canonicals, chaînes de redirections, métriques Search Console |
| Préparation à la visibilité IA | Les systèmes d’IA peuvent-ils accéder à vos pages, les comprendre et les citer ? | Règles des robots IA, llms.txt, faits sur l’entité, réponses directes aux vraies questions |
| Accessibilité | Les personnes qui utilisent des technologies d’assistance peuvent-elles utiliser la page ? | Éléments sans texte alternatif, libellé, nom ou langue |
| Performance | Quelle est la vitesse de chargement et de réponse de la page pour les vrais visiteurs ? | LCP, INP et CLS issus des données terrain, plus des métriques labo comme LCP, CLS et Total Blocking Time pour trouver la cause |
| Intégrations | Quels services tiers se chargent, et que reçoivent-ils ? | Balises, pixels, outils de consentement et valeurs de data layer détectés |
Sécurité
- HTTPS et TLS : une chaîne de certificats de confiance, aucune expiration dans les prochaines semaines, TLS 1.2 ou 1.3, et HTTP redirigé vers HTTPS.
- En-têtes de sécurité : Strict-Transport-Security, Content-Security-Policy, X-Content-Type-Options, protection contre l’inclusion en cadre et Referrer-Policy sur les réponses HTML.
- CORS : pas de
Access-Control-Allow-Origin: *sur les réponses qui portent des données privées, et pas d’origines réfléchies combinées à des identifiants. - DNS et DNS de messagerie : des enregistrements SPF et DMARC valides pour chaque domaine qui envoie du courrier, et restrictifs (
v=spf1 -all,p=reject) pour les domaines qui n’en envoient jamais. - Fichiers et secrets exposés : rien d’accessible à des chemins comme
/.env,/.git/ou d’anciennes sauvegardes, et aucune clé d’API dans le JavaScript front-end. - Sous-domaines : aucun enregistrement DNS pointant vers des ressources cloud supprimées que quelqu’un d’autre pourrait réclamer (subdomain takeover).
- Surface d’attaque : seulement les ports ouverts et méthodes HTTP voulus, des pages de connexion et d’administration connues, et un CMS et des extensions à jour si vous utilisez WordPress.
- Chaîne d’approvisionnement : des scripts tiers chargés uniquement depuis des sources que vous avez choisies.
Certains de ces contrôles ne lisent que des informations publiques. D’autres, comme la requête de chemins sensibles ou le scan de ports, envoient des requêtes auxquelles le propriétaire doit consentir, c’est pourquoi un outil d’audit ne devrait les lancer que sur des cibles dont vous avez vérifié la propriété. Le guide de l’audit de sécurité d’un site web couvre le côté application : comptes, permissions et connexion.
SEO technique
- Exploration : robots.txt ne bloque pas les pages ou ressources que vous voulez indexer.
- Indexation : pas de
noindexégaré sur des pages importantes, et un sitemap qui liste les URL canoniques. - Titres et meta descriptions : présents, uniques et décrivant la page.
- Intertitres : un titre principal clair et un plan logique.
- Canonicals : chaque page pointe vers son URL préférée, jamais vers une redirection ou une page d’erreur.
- Données structurées : du JSON-LD valide, cohérent avec le contenu visible.
- Liens internes et redirections : pages importantes accessibles depuis la navigation ou le contenu, et pas de chaînes de plusieurs redirections.
- Données Search Console : pages à nombreuses impressions mais faible taux de clic, et requêtes où vous êtes classé juste sous les premiers résultats. Ce sont souvent les gains les plus rapides.
Une limite compte ici. Google exécute le JavaScript avant d’indexer une page, mais ses bases du SEO JavaScript recommandent toujours le rendu côté serveur ou le pré-rendu, en partie parce que certains robots ne savent pas exécuter le JavaScript. Un audit qui lit le HTML statique voit la page comme ces robots ; sur un site qui construit son contenu dans le navigateur, comparez ses constats avec la page rendue. Le guide de l’audit SEO technique va plus loin.
Préparation à la visibilité IA
- Politique des robots IA : les règles robots.txt pour chaque robot IA correspondent à ce que vous avez décidé, pas à un réglage par défaut d’une extension que personne n’a choisi. Plusieurs fournisseurs documentent des jetons distincts pour leurs robots de recherche et d’entraînement ; Google décrit par exemple Google-Extended à côté de ses robots de recherche.
- llms.txt : facultatif. Un court index Markdown de vos pages les plus utiles, surtout pertinent pour les sites riches en documentation ; le guide llms.txt explique ce qu’il fait et ne fait pas.
- Clarté de l’entité : mêmes nom d’entreprise, description, localisation et coordonnées partout, appuyés par des données structurées Organization.
- Capacité à répondre : des pages qui répondent directement aux vraies questions des clients, en haut, en texte plutôt qu’en images.
- Couverture des prompts : la liste des questions que les acheteurs posent à un assistant et, pour chacune, la page de votre site qui y répond.
- Signaux de source : un auteur ou une organisation nommés, des dates et des citations qui facilitent la citation et l’attribution d’une page.
Ce sont des contrôles de préparation sur votre propre contenu. Ils ne montrent pas si un assistant vous cite aujourd’hui ; cela demande un journal séparé de questions et de réponses. Google indique que ses fonctionnalités d’IA n’ont aucune exigence supplémentaire au-delà de l’éligibilité normale à la recherche, donc l’accès d’exploration et un contenu clair passent en premier. Le guide de l’audit de visibilité IA montre comment construire l’ensemble de questions.
Accessibilité
- Alternatives textuelles : chaque image informative a un texte alternatif pertinent, et les images décoratives un texte vide.
- Formulaires : chaque champ a un libellé programmatique, pas seulement un texte d’exemple (placeholder).
- Structure : intertitres dans l’ordre, repères comme
mainetnav, et un lien d’évitement. - Noms : chaque bouton et lien a un nom accessible, et il n’y a pas de liens vides.
- Langue : la page déclare sa langue avec l’attribut
lang. - Contrôles manuels : usage au clavier seul, focus visible, contraste des couleurs, zoom et reflow, et un passage avec un lecteur d’écran.
Le W3C est explicite : les outils ne peuvent pas vérifier automatiquement tous les aspects de l’accessibilité et un jugement humain est nécessaire. Un contrôle automatique trouve le libellé manquant ; seule une personne peut dire s’il a du sens. Le guide de l’audit d’accessibilité décrit le passage manuel selon les WCAG 2.2.
Performance
- Core Web Vitals : Largest Contentful Paint sous 2,5 secondes, Interaction to Next Paint sous 200 millisecondes et Cumulative Layout Shift de 0,1 ou moins, au 75e centile des chargements de page (web.dev).
- Données terrain d’abord : les données du Chrome UX Report montrent ce que les vrais utilisateurs de Chrome ont vécu sur les 28 derniers jours, quand la page ou le site a assez de trafic pour être inclus ; les résultats labo de Lighthouse aident à trouver la cause.
- Mobile d’abord : testez la version mobile des pages qui comptent, comme la page d’accueil, une page produit ou service et le paiement ou le formulaire de contact.
- Causes habituelles : une image principale surdimensionnée, des scripts et polices bloquant le rendu, des décalages de mise en page dus à des images sans dimensions ou à des bandeaux tardifs, et des balises tierces lourdes.
La documentation de PageSpeed Insights note que les données labo et terrain peuvent différer, et qu’un bon score labo ne signifie pas que les vrais visiteurs ont eu une bonne expérience. Le guide de l’audit de performance d’un site web montre comment relier une métrique lente à l’élément qui la cause.
Intégrations
- Inventaire : tous les outils d’analyse, gestionnaires de balises, pixels publicitaires, outils de consentement et balises de vérification de site présents sur la page, et le responsable de chacun.
- Doublons et restes : deux copies de la même balise d’analyse, ou un pixel d’une campagne terminée l’an dernier.
- Consentement : un outil de consentement là où il en faut un, et des balises qui l’attendent.
- Données personnelles : aucune adresse e-mail, aucun numéro de téléphone ni nom dans le data layer, les URL ou les titres de page que lisent les balises. L’aide Google Analytics demande par exemple aux propriétaires de sites de tenir les informations personnelles identifiables hors des URL, titres et événements.
Les contrôles statiques montrent ce que le balisage déclare. Savoir si une balise attend réellement le consentement, ou quels événements se déclenchent après un clic, demande une session de navigateur avec les outils de développement ouverts. Le guide de l’audit des intégrations d’un site web détaille cette trace.
4. Comment auditer un site web avec l’IA, pas à pas
Le Model Context Protocol (MCP) est un moyen courant pour une application d’IA d’appeler les outils d’autres services. Avec un service d’audit connecté, l’agent de votre chat ou de votre outil de code peut lancer des contrôles et travailler directement avec les résultats. Le workflow compte neuf étapes ; les deux premières se font une fois par site, les autres se répètent à chaque audit.
- Connecter. Ajoutez le service d’audit comme connexion MCP dans votre client IA et connectez-vous via le navigateur. Les serveurs MCP distants qui exigent un compte utilisent généralement OAuth, comme décrit dans la spécification d’autorisation MCP : vous approuvez l’accès dans une fenêtre de connexion et ne collez jamais de mot de passe ni de clé d’API dans le chat. Sitelemetry se connecte ainsi dans ChatGPT, Claude, Claude Code, Codex et Cursor ; le guide de connexion MCP détaille les étapes pour chaque client.
- Définir le périmètre et l’autorisation. Décidez quels sites et pages sont concernés, et n’auditez que des sites dont vous êtes propriétaire ou que vous avez l’autorisation écrite de tester. Les contrôles passifs lisent ce que tout visiteur peut voir ; les contrôles de sécurité actifs envoient des requêtes de sondage, ils ne doivent donc être lancés qu’après avoir vérifié le contrôle du domaine. Donnez le périmètre à l’agent en termes simples : production uniquement, ces trois URL, aucun envoi de formulaire.
- Lancer l’audit. Demandez un audit complet ou d’un seul domaine : « Lance un audit complet de https://www.example.com et liste les constats par gravité. » Les longs audits peuvent tourner en tâche de fond ; laissez l’agent attendre le résultat au lieu de lancer un second scan.
- Lire les preuves. Chaque constat doit venir avec une gravité, la preuve observée, l’impact et une remédiation. Demandez à l’agent de citer la preuve de tout constat jugé élevé, et reproduisez un ou deux constats vous-même avec
curl -sIoudig. Un constat que vous pouvez reproduire est un constat que vous pouvez corriger en confiance. - Prioriser. Triez par gravité, puis par exposition (la page est-elle publique, gère-t-elle la connexion ou le paiement ?), puis par effort. Regroupez les constats qui partagent un même correctif, comme plusieurs en-têtes définis dans la même configuration serveur, et demandez à l’agent lesquels comptent pour ce site et lesquels présentent peu de risque ici.
- Transmettre un prompt de correctif prêt pour l’agent au agent de code. Transformez les constats retenus en une demande de modification précise, avec preuve, contraintes, critères d’acceptation et étapes de nouveau test (exemple plus bas). Donnez-la à l’agent de code qui travaille dans votre dépôt, ou laissez le même client faire les deux s’il a accès au dépôt.
- Livrer via votre processus habituel. Relisez le diff, testez en préproduction et déployez comme pour tout changement. L’audit ne remplace pas la revue de code, et un agent de code ne doit pas déployer sans l’accord d’une personne.
- Relancer l’audit pour vérifier. Lancez le même contrôle sur la même cible après le déploiement. Un constat est clos quand un résultat tout frais ne le montre plus, pas quand l’agent dit avoir modifié un fichier.
- Surveiller. Planifiez la répétition de l’audit pour qu’une mise à jour d’extension, une nouvelle balise ou un certificat sur le point d’expirer apparaisse avant que les visiteurs ne s’en aperçoivent. Une fois par semaine convient à la plupart des petits sites ; les sites qui déploient tous les jours gagnent à un rythme quotidien.
La spécification MCP recommande une personne dans la boucle pouvant refuser les appels d’outils, et l’OWASP classe l’autonomie excessive, c’est-à-dire le risque d’actions dommageables quand un agent dispose de plus de fonctions, de permissions ou d’autonomie que sa tâche n’en demande, comme un risque à part entière. En pratique : laissez les outils d’audit en lecture, et gardez une personne qui approuve les changements de code et les déploiements.
Un prompt de correctif qu’un agent de code peut exécuter sans deviner a cette forme (exemple illustratif) :
Fix: Strict-Transport-Security header missing
Target: https://www.example.com (all HTTPS responses)
Evidence: GET / over HTTPS returned 200 without a
Strict-Transport-Security header.
Constraints:
- Change only the header configuration of the web server or CDN.
- Use max-age=300 for now (first rollout stage); no preload.
- Do not change redirects, cookies or other headers.
Acceptance criteria:
- curl -sI https://www.example.com/ shows a
Strict-Transport-Security header with max-age=300.
- The header is present on HTML, CSS and JavaScript responses.
Retest:
- Re-run the security audit for www.example.com and confirm
the finding no longer appears.Chaque partie a son rôle. La preuve indique à l’agent de code ce qui a été observé, pour qu’il n’ait pas à redécouvrir le problème. Les contraintes gardent le changement petit ; démarrer HSTS avec un max-age court et l’augmenter par étapes est la voie prudente décrite dans le guide HSTS. Les critères d’acceptation sont des commandes que n’importe qui peut exécuter, et l’étape de nouveau test boucle la boucle avec le contrôle même qui a trouvé le problème.
5. Comment évaluer un outil d’audit de site web par IA
Cherchez le meilleur outil IA pour auditer un site web et vous trouverez de longues listes. Le bon choix dépend de votre site, mais les questions qui distinguent un vrai outil d’audit par IA d’un chatbot flanqué d’un scanner sont les mêmes pour tous les produits.
| Critère | Question à poser | Une bonne réponse |
|---|---|---|
| Preuve jointe | Chaque constat montre-t-il ce qui a été observé ? | La valeur d’en-tête, l’enregistrement DNS, le code de statut ou l’élément HTML, avec l’URL d’où il vient |
| Couverture | Quels domaines et contrôles sont inclus, et dans quelle offre ? | Une liste publiée par domaine, pour savoir aussi ce qui n’a pas été vérifié |
| Autorisation pour les tests actifs | Sondera-t-il n’importe quel domaine saisi par quelqu’un ? | Contrôles passifs pour les signaux publics ; contrôles actifs seulement après vérification du contrôle du domaine |
| Statique ou rendu | Exécute-t-il le JavaScript, et le dit-il ? | Une déclaration claire de ce qu’il lit, pour savoir quand vérifier vous-même la page rendue |
| Nouveaux tests reproductibles | Puis-je relancer le même contrôle après un correctif et comparer ? | Le même contrôle sur la même cible donne un résultat comparable, et les constats résolus disparaissent |
| Transmission du correctif | Que fournit la sortie à un développeur ou à un agent de code ? | Une remédiation par constat, plus contraintes, critères d’acceptation et étapes de nouveau test |
| Intégration d’agents | Fonctionne-t-il dans les outils d’IA que mon équipe utilise déjà ? | Un serveur MCP avec connexion OAuth, pas une clé d’API collée dans un chat |
| Confidentialité | Qu’est-ce qui est stocké, qui voit les rapports et que reçoit l’agent ? | Une politique de données claire, un accès au niveau du compte et aucun besoin de partager des mots de passe |
| Périmètre honnête | Que dit-il qu’il n’est pas ? | Des limites claires, par exemple qu’il n’est ni un test d’intrusion ni un audit d’accessibilité manuel complet |
Testez ensuite tout candidat sur votre propre site avant de vous y fier :
- Lancez-le deux fois sur la même page sans changement. Les constats et les gravités doivent concorder.
- Vérifiez trois constats à la main, un en sécurité, un en SEO et un en accessibilité, avec
curl,digou le code source de la page. - Installez un problème connu en préproduction, comme une image sans texte alternatif ou un titre en double, et voyez s’il est signalé.
- Corrigez un constat et relancez l’audit. Il doit disparaître, et rien d’autre ne doit changer.
- Lisez les limites. Un outil qui dit ce qu’il ne vérifie pas inspire plus confiance que celui qui prétend tout vérifier.
La section 8 liste ce que couvre Sitelemetry, comment il transmet les correctifs et où sont ses limites.
6. Pièges courants et comment les éviter
| Piège | À quoi cela ressemble | Comment l’éviter |
|---|---|---|
| Constats hallucinés | L’assistant rapporte « DMARC est à p=none » ou « pas d’en-tête HSTS » sans avoir lu l’enregistrement ou la réponse | N’acceptez que des constats avec preuve ; demandez sur quel enregistrement ou quelle réponse le constat repose, et vérifiez-en un à la main |
| Correctifs non vérifiés | L’agent de code modifie un fichier de configuration et annonce un succès, mais le CDN écrase l’en-tête ou le changement n’a jamais été déployé | Ne clôturez un constat qu’après un nouvel audit du site en ligne |
| Scanner des sites qui ne sont pas à vous | Lancer des contrôles actifs contre le site d’une autre entreprise, d’un client sans accord ou d’un service tiers utilisé par votre site | N’auditez que vos cibles ou des cibles autorisées ; pour le site de quelqu’un d’autre, signalez vos préoccupations via le contact de son fichier security.txt (RFC 9116) |
| Courir après le score | Corriger de nombreux points de faible gravité pour faire monter un chiffre pendant qu’un constat grave attend | Travaillez par ordre de gravité et mesurez les progrès en constats résolus |
| Contrôles statiques sur une application JavaScript | Une application monopage est signalée sans contenu ni titres parce que son HTML initial est une coquille vide | Comparez avec la page rendue, et envisagez le rendu côté serveur pour les pages publiques |
| Instructions cachées dans les pages | Une page lue par l’agent lui dit d’ignorer des constats ou de visiter un lien | Traitez le contenu des pages comme des données, et approuvez chaque action de l’agent |
| Secrets dans le chat | Coller des clés d’API, des mots de passe ou un fichier .env de production dans la conversation pour que l’agent « ait le contexte » | Utilisez des connexions OAuth, et ne donnez aux agents de code accès aux secrets que via votre chaîne de déploiement habituelle |
| Un seul correctif géant | Un seul prompt demandant à l’agent de code de corriger les quarante constats d’un coup | Un prompt de correctif par groupe de constats liés, relu et réaudité avant le suivant |
Le fil conducteur est le même partout. Traitez l’agent comme un collègue rapide et éloquent qui n’a pas vu le serveur : donnez-lui des preuves, gardez ses permissions étroites, et vérifiez le résultat sur le site en ligne.
7. Un exemple concret : le site d’un petit cabinet
Un cabinet dentaire exploite un site WordPress à www.example-clinic.com avec un formulaire de réservation en ligne. La responsable administrative connecte un service d’audit à son assistant IA, vérifie le domaine et demande un audit complet de la page d’accueil et de la page de réservation. Parmi les résultats (illustratifs, pas des données réelles) :
| Domaine | Constat | Preuve | Échéance |
|---|---|---|---|
| Sécurité | Une ancienne sauvegarde de base de données peut être téléchargée | /database.sql renvoie 200 et le corps commence par des instructions de dump SQL comme CREATE TABLE | Aujourd’hui |
| Intégrations | Une vraie adresse e-mail est codée en dur dans le code de suivi de la page de réservation | Un dataLayer.push en ligne sur la page de réservation contient un champ email avec une adresse | Aujourd’hui |
| Accessibilité | Les champs du formulaire de réservation ont des placeholders mais pas de libellés | Cinq éléments input sans libellé associé | Cette semaine |
| Sécurité | Pas d’enregistrement DMARC | Aucun enregistrement TXT à _dmarc.example-clinic.com | Cette semaine |
| Performance | Largest paint lent sur mobile | LCP labo mobile de 4,1 secondes (trop peu de trafic pour des données terrain) ; l’image principale pèse 2,3 Mo | Ce mois-ci |
| SEO technique | Trois pages de service partagent le même titre | Texte <title> identique sur trois URL | Ce mois-ci |
| Visibilité IA | robots.txt bloque tous les robots IA | robots.txt contient Disallow: / pour chaque user agent IA listé, sous un commentaire qui nomme une extension de sécurité | Décision du propriétaire |
L’agent explique pourquoi les deux premiers passent en tête : la sauvegarde expose des données à quiconque devine le chemin, et l’adresse dans le code de suivi est transmise à chaque balise tierce qui lit le data layer. Il demande si le blocage des robots IA était voulu. Personne n’avait décidé, ce qui en fait une décision du propriétaire plutôt qu’un correctif.
Pour la sauvegarde, le correctif n’est pas du code : supprimer le fichier, chercher d’autres copies sur le serveur et trouver quel processus l’a créé. Puis consulter les journaux d’accès pour d’éventuels téléchargements antérieurs, changer les mots de passe ou clés que contenait la sauvegarde et, si des données de patients ont pu être exposées, suivre la procédure de violation de données du cabinet. Pour les libellés du formulaire, l’agent rédige un prompt de correctif qui nomme les cinq champs et la page de réservation concernée, avec la contrainte que le design visuel reste identique et le critère d’acceptation qu’un lecteur d’écran annonce un libellé pour chaque champ. L’agent de code du développeur fait la modification, le développeur la relit et la déploie, et un nouvel audit montre que le constat a disparu. L’enregistrement DMARC revient à la personne qui gère le DNS, en commençant par p=none avec des rapports, comme l’explique le guide du déploiement de DMARC. Chaque point se termine de la même façon : modifié, déployé et revérifié avec l’audit qui l’avait trouvé.
8. Appliquer ce workflow avec Sitelemetry
Sitelemetry est un outil d’audit de site web par IA conçu pour le workflow de ce guide :
- Six domaines. La sécurité, avec jusqu’à 27 modules dans l’offre Enterprise : DNS, SPF et DMARC, TLS, posture HTTPS, en-têtes de sécurité, CORS, fichiers exposés, exposition d’API et de secrets, subdomain takeover, chaîne d’approvisionnement, surface d’authentification, ports ouverts, méthodes HTTP, WordPress et plus. Le SEO technique, avec clics, CTR, position et gains rapides de Google Search Console. La préparation à la visibilité IA, l’accessibilité, la performance via PageSpeed Insights, Lighthouse et les données terrain CrUX, et les intégrations.
- Preuves et correctifs. Les constats portent gravité, preuve, impact et remédiation, et chaque audit peut produire un prompt de correctif prêt pour l’agent avec contraintes, critères d’acceptation et étapes de nouveau test.
- Dans vos outils d’IA. Il fonctionne via MCP avec connexion OAuth dans ChatGPT, Claude, Claude Code, Codex et Cursor ; le guide de connexion MCP montre comment se connecter. La connexion OAuth signifie que vous approuvez l’accès dans une fenêtre de navigateur et ne collez jamais de mot de passe ni de clé d’API dans le chat.
- Vérifier et surveiller. Relancez l’audit après un correctif pour le confirmer sur le site en ligne. Selon l’offre, la surveillance s’exécute chaque semaine, chaque jour ou chaque heure. Les rapports s’exportent en JSON ou PDF, avec des rapports en marque blanche dans Enterprise.
- Offres. Starter à 49 $/mois, Professional à 149 $/mois et Enterprise à 249 $/mois ; la page des tarifs détaille ce que chacune inclut.
Ses limites sont celles que ce guide vous invite à chercher. Les audits hébergés observent la cible sans la modifier, et les contrôles de sécurité actifs ne s’exécutent que sur des cibles vérifiées. Les contrôles SEO, visibilité IA, accessibilité et intégrations lisent le HTML statique sans exécuter de JavaScript. La visibilité IA vérifie la préparation du contenu et n’interroge pas les assistants IA. Les contrôles d’accessibilité sont statiques et orientés WCAG 2.2, pas une évaluation manuelle complète, et l’audit de sécurité n’est pas un test d’intrusion. Gardez les contrôles manuels de la section 3 pour ce que l’analyse statique ne voit pas.
Questions fréquentes
Quel est le meilleur outil IA pour auditer un site web ?
Celui dont vous pouvez vérifier les constats. Cherchez une preuve pour chaque constat, une couverture des domaines qui vous importent, des tests actifs uniquement sur des cibles vérifiées, une déclaration claire sur l’exécution ou non du JavaScript, des nouveaux tests aux résultats comparables et une connexion MCP aux outils d’IA que votre équipe utilise déjà. Lancez tout candidat deux fois sur votre propre site et confirmez quelques constats à la main.
ChatGPT ou Claude peuvent-ils auditer mon site seuls ?
En partie seulement. Avec la seule navigation intégrée, un assistant lit les pages qu’il peut récupérer et donne des conseils généraux, mais il ne peut ni interroger le DNS, ni inspecter le certificat TLS, ni lire de façon fiable les en-têtes de réponse, ni voir les données de performance terrain ou Search Console. Un agent de code avec un terminal peut exécuter des commandes isolées comme curl ou dig, mais sans couverture fixe. Connecté à des outils d’audit via MCP, il travaille à partir de preuves collectées plutôt que d’hypothèses.
Comment auditer un site web avec l’IA, pas à pas ?
Connectez un service d’audit à votre client IA via MCP, définissez les sites dont vous êtes propriétaire ou que vous pouvez tester, lancez l’audit, lisez la preuve de chaque constat, priorisez par gravité et exposition, donnez à un agent de code un prompt de correctif avec contraintes et critères d’acceptation, livrez le changement après revue, puis relancez l’audit et planifiez la surveillance.
Puis-je auditer un site qui n’est pas le mien ?
Lire des pages publiques comme le ferait n’importe quel visiteur est normal, mais les contrôles de sécurité actifs, comme le sondage de chemins sensibles ou le scan de ports, ne doivent viser que des sites dont vous êtes propriétaire ou que vous avez l’autorisation écrite de tester. Si vous remarquez un problème sur le site de quelqu’un d’autre, signalez-le via le contact indiqué dans son fichier /.well-known/security.txt.
Un audit de site web par IA est-il une revue complète de sécurité et d’accessibilité ?
Non. Il couvre rapidement et de façon reproductible les problèmes connus et observables. Ce n’est pas un test d’intrusion : les failles de logique de votre application, la connexion et les permissions demandent leur propre revue, et les contrôles d’accessibilité automatiques ne peuvent pas juger l’usage au clavier, le focus, le contraste ni le comportement avec un lecteur d’écran. Utilisez l’audit entre des revues plus approfondies et après chaque changement.
Dois-je partager des mots de passe ou des clés d’API avec l’agent IA ?
Non. Les connexions MCP distantes qui exigent un compte utilisent généralement OAuth : vous vous connectez au service dans une fenêtre de navigateur et approuvez l’accès, et le client reçoit un jeton destiné à ce seul serveur. Ne collez jamais de mots de passe, de clés d’API ni de fichiers .env dans un chat.
À quelle fréquence relancer l’audit de mon site ?
Après chaque correctif, pour confirmer qu’il fonctionne sur le site en ligne, et à intervalle régulier : chaque semaine convient à la plupart des petits sites et chaque jour aux sites qui déploient souvent. Un passage supplémentaire après des changements de gabarits, d’extensions, de balises ou de DNS détecte tôt les régressions.
Sources et lectures
- OWASP Gen AI Security Project : LLM09:2025 Désinformationgenai.owasp.org
- OWASP Gen AI Security Project : LLM01:2025 Injection de promptgenai.owasp.org
- OWASP Gen AI Security Project : LLM06:2025 Autonomie excessivegenai.owasp.org
- Spécification MCP : outilsmodelcontextprotocol.io
- Spécification MCP : autorisationmodelcontextprotocol.io
- Google Search Central : bases du SEO JavaScriptdevelopers.google.com
- Google Search Central : fonctionnalités d’IA et votre sitedevelopers.google.com
- W3C WAI : choisir des outils d’évaluation de l’accessibilité webwww.w3.org
- W3C : Web Content Accessibility Guidelines (WCAG) 2.2www.w3.org
- web.dev : Web Vitalsweb.dev
- Google for Developers : à propos de PageSpeed Insightsdevelopers.google.com
- Aide Analytics : bonnes pratiques pour ne pas envoyer d’informations personnelles identifiablessupport.google.com
- RFC 9116 : format de fichier pour faciliter la divulgation de vulnérabilités (security.txt)www.rfc-editor.org
- Google Search Central : les robots d’exploration courants de Googledevelopers.google.com
Préparé par la rédaction de Sitelemetry. Les sources citées permettent d’approfondir chaque sujet.



