URL analysée
https://claude.ai/api/challenge_redirect?to=https%3A%2F%2Fclaude.ai%2Flogin
Score AI-Ready
Insuffisant
sur 100
Économie de tokens
Détail du score
Votre site n’a pas de fichier llms.txt. C’est le standard émergent pour aider les AI agents à comprendre la structure de votre site.
Comment implémenter
Créez un fichier /llms.txt en suivant la spécification de llmstxt.org. Incluez une description du site et des liens vers vos pages principales.
Votre page n’utilise pas d’éléments <article> ou <main>. Ces conteneurs sémantiques aident les AI agents à identifier la zone de contenu principal et à ignorer la navigation, les barres latérales et les pieds de page.
Comment implémenter
Ajoutez un élément <main> autour du contenu principal de votre page, et utilisez <article> pour les blocs de contenu autonomes comme les billets de blog ou les descriptions de produits.
Votre page a un faible ratio de contenu réel par rapport au HTML total. Une grande partie du poids de la page est du balisage, des scripts ou des styles plutôt que du contenu.
Comment implémenter
Déplacez le CSS vers des feuilles de style externes, supprimez les styles en ligne, minimisez le JavaScript et assurez-vous que le HTML se concentre sur la structure du contenu.
Aucun sitemap trouvé. Un sitemap aide les AI agents à découvrir toutes les pages de votre site.
Comment implémenter
Créez un /sitemap.xml listant toutes vos pages publiques. La plupart des CMS peuvent le générer automatiquement.
Votre page repose fortement sur les éléments <div>. Les éléments sémantiques comme <section>, <nav>, <header>, <footer> et <aside> fournissent une structure significative pour les AI agents.
Comment implémenter
Remplacez les conteneurs <div> génériques par les éléments sémantiques appropriés. Utilisez <section> pour les groupes thématiques, <nav> pour la navigation, <header>/<footer> pour les en-têtes et pieds de page ou de section.
Certaines images manquent de texte alternatif descriptif. De bons textes alt aident les AI agents à comprendre le contenu et le contexte des images.
Comment implémenter
Ajoutez des attributs alt descriptifs à toutes les images. Décrivez ce que l’image montre, pas juste « image » ou « photo ». Pour les images décoratives, utilisez alt="" (vide).
Votre site ne supporte pas Markdown for Agents. Ce standard Cloudflare permet aux agents IA de demander du contenu en format markdown, réduisant l'utilisation de tokens de ~80%.
Comment implémenter
Implémentez un ou plusieurs : (1) Répondre à Accept: text/markdown avec du contenu markdown. (2) Servir des URLs .md (ex : /page.md). (3) Ajouter des balises <link rel="alternate" type="text/markdown">. (4) Ajouter des en-têtes HTTP Link pour la découverte markdown.
De nombreux éléments ont des attributs de style en ligne. Ils ajoutent du bruit pour les AI agents lors de l’extraction du contenu.
Comment implémenter
Déplacez tous les styles en ligne vers des classes CSS dans votre feuille de style. Utilisez des frameworks CSS utilitaires comme Tailwind si vous avez besoin de nombreux styles uniques.
Aucune directive Content-Signal trouvée. Celles-ci indiquent aux agents IA comment ils peuvent utiliser votre contenu (indexation, entrée IA, données d'entraînement). L'emplacement recommandé est robots.txt.
Comment implémenter
Ajoutez Content-Signal à votre robots.txt : User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. Vous pouvez aussi l'ajouter comme en-tête HTTP sur les réponses markdown.
Votre page nécessite JavaScript pour afficher le contenu. La plupart des AI agents n’exécutent pas JavaScript et voient donc une page vide.
Comment implémenter
Utilisez le rendu côté serveur (SSR) ou la génération de sites statiques (SSG) pour garantir que le contenu est disponible dans la réponse HTML initiale.
 ## claude.ai ## Verificación de seguridad en curso Este sitio web utiliza un servicio de seguridad para protegerse contra bots maliciosos. Esta página se muestra mientras el sitio web verifica que usted no es un bot.
Un momento… # claude.ai ## Verificación de seguridad en curso Este sitio web utiliza un servicio de seguridad para protegerse contra bots maliciosos. Esta página se muestra mientras el sitio web verifica que usted no es un bot. ## Verificación correcta. Esperando a que claude.ai responda Ray ID: `9ce3f416cf1aeca9` Rendimiento y seguridad de [Cloudflare](https://www.cloudflare.com/?utm_source=challenge&utm_campaign=m)[Privacidad](https://www.cloudflare.com/es-es/privacypolicy/)
Téléversez ce fichier sous /api/challenge_redirect.md sur votre serveur pour que les AI agents puissent accéder à une version propre de votre page. Vous pouvez également configurer la négociation de contenu Accept: text/markdown pour le servir automatiquement.
llms.txt généré pour cette page individuelle
# claude.ai ## Main - [Un momento…](https://claude.ai/api/challenge_redirect?to=https%3A%2F%2Fclaude.ai%2Flogin)
Le llms.txt complet nécessite une analyse de tout le domaine (bientôt disponible)
Téléversez ce fichier vers https://claude.ai/llms.txt à la racine de votre domaine. Les AI agents comme ChatGPT, Claude et Perplexity consultent ce fichier pour comprendre la structure de votre site.
HTML sémantique
Missing <article> and <main> elements
Clean heading hierarchy
0 semantic elements, 19 divs (ratio: 0%)
0/1 images with meaningful alt text
Avg div depth: 2.5, max: 4
Efficacité du contenu
99% token reduction (HTML→Markdown)
Content ratio: 0.7% (208 content chars / 28320 HTML bytes)
3/45 elements with inline styles (6.7%)
HTML size: 28KB
Visibilité IA
No llms.txt found
robots.txt exists
All major AI bots allowed
No sitemap found
No markdown content negotiation
No Content-Signal header
Données structurées
No JSON-LD / Schema.org found
0/3 OG tags present
No meta description
No canonical URL
lang="en-US"
Accessibilité
Content requires JavaScript rendering
Page size: 28KB
Main content starts at 74% of HTML
{
"url": "https://claude.ai/api/challenge_redirect?to=https%3A%2F%2Fclaude.ai%2Flogin",
"timestamp": 1771149579322,
"fetch": {
"mode": "rendered",
"timeMs": 3680,
"htmlSizeBytes": 28320,
"supportsMarkdown": false,
"statusCode": 200
},
"extraction": {
"title": "Un momento…",
"excerpt": "",
"byline": null,
"siteName": null,
"lang": "en-US",
"contentLength": 208,
"metadata": {
"description": null,
"ogTitle": null,
"ogDescription": null,
"ogImage": null,
"ogType": null,
"canonical": null,
"lang": "en-US",
"schemas": [],
"robotsMeta": "noindex,nofollow",
"author": null,
"generator": null
}
},
"markdown": "\n\n## claude.ai\n\n## Verificación de seguridad en curso\n\nEste sitio web utiliza un servicio de seguridad para protegerse contra bots maliciosos. Esta página se muestra mientras el sitio web verifica que usted no es un bot.\n",
"fullPageMarkdown": "Un momento…\n\n# claude.ai\n\n## Verificación de seguridad en curso\n\nEste sitio web utiliza un servicio de seguridad para protegerse contra bots maliciosos. Esta página se muestra mientras el sitio web verifica que usted no es un bot.\n\n## Verificación correcta. Esperando a que claude.ai responda\n\nRay ID: `9ce3f416cf1aeca9`\n\nRendimiento y seguridad de [Cloudflare](https://www.cloudflare.com/?utm_source=challenge&utm_campaign=m)[Privacidad](https://www.cloudflare.com/es-es/privacypolicy/)\n",
"markdownStats": {
"images": 1,
"links": 0,
"tables": 0,
"codeBlocks": 0,
"headings": 2
},
"tokens": {
"htmlTokens": 10935,
"markdownTokens": 63,
"reduction": 10872,
"reductionPercent": 99
},
"score": {
"score": 40,
"grade": "D",
"dimensions": {
"semanticHtml": {
"score": 45,
"weight": 20,
"grade": "D",
"checks": {
"uses_article_or_main": {
"score": 0,
"weight": 20,
"details": "Missing <article> and <main> elements"
},
"proper_heading_hierarchy": {
"score": 100,
"weight": 25,
"details": "Clean heading hierarchy"
},
"semantic_elements": {
"score": 0,
"weight": 20,
"details": "0 semantic elements, 19 divs (ratio: 0%)"
},
"meaningful_alt_texts": {
"score": 0,
"weight": 15,
"details": "0/1 images with meaningful alt text"
},
"low_div_nesting": {
"score": 100,
"weight": 20,
"details": "Avg div depth: 2.5, max: 4"
}
}
},
"contentEfficiency": {
"score": 55,
"weight": 25,
"grade": "D",
"checks": {
"token_reduction_ratio": {
"score": 100,
"weight": 40,
"details": "99% token reduction (HTML→Markdown)"
},
"content_to_noise_ratio": {
"score": 0,
"weight": 30,
"details": "Content ratio: 0.7% (208 content chars / 28320 HTML bytes)"
},
"minimal_inline_styles": {
"score": 0,
"weight": 15,
"details": "3/45 elements with inline styles (6.7%)"
},
"reasonable_page_weight": {
"score": 100,
"weight": 15,
"details": "HTML size: 28KB"
}
}
},
"aiDiscoverability": {
"score": 35,
"weight": 25,
"grade": "F",
"checks": {
"has_llms_txt": {
"score": 0,
"weight": 25,
"details": "No llms.txt found"
},
"has_robots_txt": {
"score": 100,
"weight": 15,
"details": "robots.txt exists"
},
"robots_allows_ai_bots": {
"score": 100,
"weight": 20,
"details": "All major AI bots allowed"
},
"has_sitemap": {
"score": 0,
"weight": 15,
"details": "No sitemap found"
},
"supports_markdown_negotiation": {
"score": 0,
"weight": 15,
"details": "No markdown content negotiation"
},
"has_content_signals": {
"score": 0,
"weight": 10,
"details": "No Content-Signal header"
}
}
},
"structuredData": {
"score": 10,
"weight": 15,
"grade": "F",
"checks": {
"has_schema_org": {
"score": 0,
"weight": 30,
"details": "No JSON-LD / Schema.org found"
},
"has_open_graph": {
"score": 0,
"weight": 25,
"details": "0/3 OG tags present"
},
"has_meta_description": {
"score": 0,
"weight": 20,
"details": "No meta description"
},
"has_canonical_url": {
"score": 0,
"weight": 15,
"details": "No canonical URL"
},
"has_lang_attribute": {
"score": 100,
"weight": 10,
"details": "lang=\"en-US\""
}
}
},
"accessibility": {
"score": 46,
"weight": 15,
"grade": "D",
"checks": {
"content_without_js": {
"score": 20,
"weight": 40,
"details": "Content requires JavaScript rendering"
},
"reasonable_page_size": {
"score": 100,
"weight": 30,
"details": "Page size: 28KB"
},
"fast_content_position": {
"score": 25,
"weight": 30,
"details": "Main content starts at 74% of HTML"
}
}
}
}
},
"recommendations": [
{
"id": "add_llms_txt",
"priority": "critical",
"category": "aiDiscoverability",
"titleKey": "rec.add_llms_txt.title",
"descriptionKey": "rec.add_llms_txt.description",
"howToKey": "rec.add_llms_txt.howto",
"effort": "quick-win",
"estimatedImpact": 10,
"checkScore": 0,
"checkDetails": "No llms.txt found"
},
{
"id": "add_article_main",
"priority": "critical",
"category": "semanticHtml",
"titleKey": "rec.add_article_main.title",
"descriptionKey": "rec.add_article_main.description",
"howToKey": "rec.add_article_main.howto",
"effort": "quick-win",
"estimatedImpact": 8,
"checkScore": 0,
"checkDetails": "Missing <article> and <main> elements"
},
{
"id": "improve_content_ratio",
"priority": "critical",
"category": "contentEfficiency",
"titleKey": "rec.improve_content_ratio.title",
"descriptionKey": "rec.improve_content_ratio.description",
"howToKey": "rec.improve_content_ratio.howto",
"effort": "moderate",
"estimatedImpact": 6,
"checkScore": 0,
"checkDetails": "Content ratio: 0.7% (208 content chars / 28320 HTML bytes)"
},
{
"id": "add_sitemap",
"priority": "critical",
"category": "aiDiscoverability",
"titleKey": "rec.add_sitemap.title",
"descriptionKey": "rec.add_sitemap.description",
"howToKey": "rec.add_sitemap.howto",
"effort": "quick-win",
"estimatedImpact": 5,
"checkScore": 0,
"checkDetails": "No sitemap found"
},
{
"id": "add_semantic_elements",
"priority": "critical",
"category": "semanticHtml",
"titleKey": "rec.add_semantic_elements.title",
"descriptionKey": "rec.add_semantic_elements.description",
"howToKey": "rec.add_semantic_elements.howto",
"effort": "moderate",
"estimatedImpact": 5,
"checkScore": 0,
"checkDetails": "0 semantic elements, 19 divs (ratio: 0%)"
},
{
"id": "improve_alt_texts",
"priority": "critical",
"category": "semanticHtml",
"titleKey": "rec.improve_alt_texts.title",
"descriptionKey": "rec.improve_alt_texts.description",
"howToKey": "rec.improve_alt_texts.howto",
"effort": "moderate",
"estimatedImpact": 4,
"checkScore": 0,
"checkDetails": "0/1 images with meaningful alt text"
},
{
"id": "add_markdown_negotiation",
"priority": "critical",
"category": "aiDiscoverability",
"titleKey": "rec.add_markdown_negotiation.title",
"descriptionKey": "rec.add_markdown_negotiation.description",
"howToKey": "rec.add_markdown_negotiation.howto",
"effort": "significant",
"estimatedImpact": 4,
"checkScore": 0,
"checkDetails": "No markdown content negotiation"
},
{
"id": "remove_inline_styles",
"priority": "critical",
"category": "contentEfficiency",
"titleKey": "rec.remove_inline_styles.title",
"descriptionKey": "rec.remove_inline_styles.description",
"howToKey": "rec.remove_inline_styles.howto",
"effort": "moderate",
"estimatedImpact": 3,
"checkScore": 0,
"checkDetails": "3/45 elements with inline styles (6.7%)"
},
{
"id": "add_content_signals",
"priority": "critical",
"category": "aiDiscoverability",
"titleKey": "rec.add_content_signals.title",
"descriptionKey": "rec.add_content_signals.description",
"howToKey": "rec.add_content_signals.howto",
"effort": "moderate",
"estimatedImpact": 3,
"checkScore": 0,
"checkDetails": "No Content-Signal header"
},
{
"id": "provide_content_without_js",
"priority": "high",
"category": "accessibility",
"titleKey": "rec.provide_content_without_js.title",
"descriptionKey": "rec.provide_content_without_js.description",
"howToKey": "rec.provide_content_without_js.howto",
"effort": "significant",
"estimatedImpact": 10,
"checkScore": 20,
"checkDetails": "Content requires JavaScript rendering"
}
],
"llmsTxtPreview": "# claude.ai\n\n## Main\n- [Un momento…](https://claude.ai/api/challenge_redirect?to=https%3A%2F%2Fclaude.ai%2Flogin)\n\n",
"llmsTxtExisting": null,
"snippets": [
{
"id": "add_llms_txt",
"title": "Create /llms.txt",
"description": "Upload this file to your web root. It tells AI agents what your site is about and which pages matter.",
"language": "markdown",
"code": "# claude.ai\n\n## Main\n- [Un momento…](https://claude.ai/api/challenge_redirect?to=https%3A%2F%2Fclaude.ai%2Flogin)\n\n",
"filename": "/llms.txt"
},
{
"id": "add_sitemap",
"title": "Create /sitemap.xml",
"description": "A sitemap helps AI agents discover all your pages. Most CMS platforms generate one automatically.",
"language": "xml",
"code": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n <url>\n <loc>https://claude.ai/api/challenge_redirect?to=https%3A%2F%2Fclaude.ai%2Flogin</loc>\n <lastmod>2026-02-15</lastmod>\n </url>\n</urlset>",
"filename": "/sitemap.xml"
},
{
"id": "add_article_main",
"title": "Wrap content in <main> and <article>",
"description": "Semantic HTML landmarks help AI agents identify the main content of your page.",
"language": "html",
"code": "<main>\n <article>\n <h1>Your Page Title</h1>\n <p>Your content here...</p>\n </article>\n</main>",
"filename": "<body>"
},
{
"id": "add_content_signals",
"title": "Add Content-Signal HTTP header",
"description": "The Content-Signal header tells AI agents about the nature of your content. Add it via your web server or CDN.",
"language": "nginx",
"code": "# Nginx — add to your server block:\nadd_header Content-Signal \"type=website; lang=en-US\" always;\n\n# Apache — add to .htaccess:\n# Header set Content-Signal \"type=website; lang=en-US\"",
"filename": "nginx.conf or .htaccess"
},
{
"id": "add_markdown_negotiation",
"title": "Support Accept: text/markdown",
"description": "When a client sends Accept: text/markdown, respond with a Markdown version of the page. This is the gold standard for AI-readiness.",
"language": "nginx",
"code": "# Nginx — serve .md files when client requests Markdown:\n# Option 1: Serve pre-generated .md files\nmap $http_accept $markdown_suffix {\n default \"\";\n \"~text/markdown\" \".md\";\n}\n\n# Then in your location block:\ntry_files $uri$markdown_suffix $uri =404;\n\n# Option 2: Use your app framework to check the Accept header\n# and return Markdown content with Content-Type: text/markdown",
"filename": "nginx.conf or application code"
}
]
}
Utilisez notre API pour obtenir ceci de manière programmatique (bientôt disponible)
Ce JSON est à usage interne — contrairement au Markdown et au llms.txt, il n’est pas destiné à être téléversé sur votre site. Conservez-le comme référence pour suivre l’évolution de votre score, partagez-le avec votre équipe de développement ou intégrez-le dans votre pipeline CI/CD.
Intégrez votre badge
Ajoutez ce badge à votre site. Il se met à jour automatiquement lorsque votre score de préparation à l’IA change.
<script src="https://agentready.md/badge.js" data-id="a2714916-d099-40e9-8458-9367e5aa96d5" data-domain="claude.ai"></script>
[](https://agentready.md/fr/r/a2714916-d099-40e9-8458-9367e5aa96d5)
Bientôt : Analyse de domaine complet
Explorez l’ensemble de votre domaine, générez un llms.txt et surveillez votre score de préparation IA dans le temps. Rejoignez la liste d’attente pour être informé.