Certificat AgentReady.md vérifié
Émis le sig: 444d75098eda86fa Vérifier →

URL analysée

https://kwantra.com/fr

Analyser une autre URL

Score AI-Ready

61 / C

Passable

sur 100

Économie de tokens

Tokens HTML 53.432
Tokens Markdown 203
Économie 100%

Détail du score

HTML sémantique 61/100
Efficacité du contenu 52/100
Visibilité IA 47/100
Données structurées 85/100
Accessibilité 78/100

Protocoles émergents

1 sur 3 détectés

Endpoints well-known recherchés par les agents IA. Détecté signifie qu’un agent peut découvrir et se connecter automatiquement à votre service.

  • OAuth Discovery RFC 8414
    /.well-known/oauth-authorization-server
    • issuer: https://kwantra.com
    • token_endpoint: https://kwantra.com/api/auth/login
    • 2 grant type(s)
  • MCP Server Card Anthropic
    /.well-known/mcp.json
  • A2A Agent Card Google
    /.well-known/agent.json

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.

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.

Votre robots.txt bloque certains bots IA (GPTBot, ClaudeBot, PerplexityBot). Cela empêche les AI agents d’indexer votre contenu.

Comment implémenter

Mettez à jour votre robots.txt pour autoriser les bots IA. Ajoutez des règles Allow explicites pour GPTBot, ClaudeBot et PerplexityBot.

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.

{\n res.setHeader('Vary', 'Accept');\n res.setHeader('Link', '; rel=\"alternate\"; type=\"text/markdown\"');\n if ((req.headers.accept || '').includes('text/markdown')) {\n res.type('text/markdown; charset=utf-8');\n return res.send(renderMarkdown('page'));\n }\n res.render('page');\n});"},{"id":"fastify","label":"Fastify","language":"javascript","filename":"server.js","code":"// Mechanisms 1 + 4: content negotiation + Link header\nfastify.get('/page', async (req, reply) => {\n reply.header('Vary', 'Accept');\n reply.header('Link', '; rel=\"alternate\"; type=\"text/markdown\"');\n if ((req.headers.accept || '').includes('text/markdown')) {\n return reply.type('text/markdown; charset=utf-8').send(renderMarkdown('page'));\n }\n return reply.view('/page.ejs');\n});"},{"id":"nextjs","label":"Next.js","language":"typescript","filename":"app/page/route.ts","code":"// Next.js App Router — Route Handler returning Markdown\nimport { NextRequest } from 'next/server';\nimport { renderMarkdown } from '@/lib/md';\nexport async function GET(req: NextRequest) {\n const accept = req.headers.get('accept') || '';\n if (accept.includes('text/markdown')) {\n return new Response(await renderMarkdown('page'), {\n headers: {\n 'Content-Type': 'text/markdown; charset=utf-8',\n 'Vary': 'Accept',\n },\n });\n }\n // Fall through to the page component\n return new Response(null, { status: 404 });\n}"},{"id":"wordpress","label":"WordPress","language":"php","filename":"functions.php","code":"post_content));\n exit;\n});"},{"id":"static","label":"Hugo / Jekyll / Astro","language":"txt","filename":"static/page.md","code":"# Mechanism 2: serve .md alongside .html\n# Hugo: place page.md in /static/ — built unchanged\n# Jekyll: drop page.md in /assets/ — copied as-is\n# Astro: src/pages/page.md.ts that exports a GET returning markdown\n\n# Then advertise with mechanism 3 in :\n# "}] }'>

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.

Le contenu principal apparaît tardivement dans le document HTML. Les AI agents peuvent accorder plus d’importance au contenu qui apparaît tôt.

Comment implémenter

Restructurez votre HTML pour que le contenu <main> ou <article> apparaisse avant les barres latérales et le contenu supplémentaire.

Aucune URL canonique trouvée. Cela aide les AI agents à identifier la version préférée d’une page et à éviter le contenu dupliqué.

Comment implémenter

Ajoutez une balise <link rel="canonical" href="..."> pointant vers l’URL canonique de la page.

Tokens Markdown: 203
Gestion de patrimoine personnel

## Votre patrimoine,
enfin tout en un.

Kwantra centralise vos actions, ETF, crypto, immobilier et épargne. Suivez votre patrimoine net en temps réel, planifiez vos achats et préparez votre déclaration fiscale.

Actions ETF Crypto Immobilier Épargne

Ce que vous pouvez faire avec Kwantra

## Tout ce dont vous avez besoin,
rien de superflu.

8

Modules intégrés

100%

Vos données, chez vous

0€

Gratuit, sans engagement

∞

Actifs suivis

Gratuit · Sans engagement · Données privées

## Prêt à prendre
le contrôle ?

Créez votre compte en moins d'une minute et commencez à visualiser votre patrimoine comme jamais.

Aucune carte bancaire requise

Sans engagement

Aucun traceur tiers
Kwantra — Gérez votre patrimoine

Gestion de patrimoine personnel

# Votre patrimoine,
enfin tout en un.

Kwantra centralise vos actions, ETF, crypto, immobilier et épargne. Suivez votre patrimoine net en temps réel, planifiez vos achats et préparez votre déclaration fiscale.

[Créer un compte gratuit](https://kwantra.com/register) [Se connecter](https://kwantra.com/login)

Actions ETF Crypto Immobilier Épargne

Patrimoine net

0 €

+14.2% vs an dernier

JanMarMaiJuilSepNovDéc

📈

Actions & ETF+12.3%

68 200 €

🏢

Immobilier+2.1%

38 500 €

₿

Crypto+18.7%

14 100 €

💰

Épargne+1.2%

7 650 €

Mis à jour à l'instant

26/05/2026

₿

Bitcoin

0 €

+2.1%

Dividendes annuels

\+ 0 €

Ce que vous pouvez faire avec Kwantra

## Tout ce dont vous avez besoin,
rien de superflu.

### Actions & ETF

Gérez plusieurs comptes (PEA, CTO, AV). Suivez dividendes, plus-values et performance par enveloppe fiscale.

+14.2% sur 12 mois

PEACTOAssurance-viePER

### Crypto-monnaies

Centralisez wallets et exchanges. Importez vos positions CSV, suivez vos gains et pertes.

BinanceCoinbase\+ plus

### Projection DRIP

Simulez la croissance de vos dividendes sur 40 ans avec réinvestissement.

Intérêts composés sur 40 ans

### Plan d'achat annuel

Planifiez vos achats sur 12 mois par actif et par compte.

J

F

M

A

M

J

J

A

S

O

N

D

### Immobilier

Valorisation nette, emprunts restants, revenus locatifs. Intégré au patrimoine total.

### Épargne & liquidités

Livrets, comptes courants et épargne de précaution dans votre bilan net.

### Fiscalité

Rapport fiscal annuel automatique : plus-values réalisées, dividendes perçus, flat tax calculée.

30%

Flat tax PFU

Auto

Calcul FIFO

### Cotations temps réel

Actualisation automatique des cours via Yahoo Finance. Plus de 10 000 titres supportés.

MSCI World ETF+1.24%

Apple Inc.+0.87%

EUR/USD\-0.12%

8

Modules intégrés

100%

Vos données, chez vous

0€

Gratuit, sans engagement

∞

Actifs suivis

Gratuit · Sans engagement · Données privées

## Prêt à prendre
le contrôle ?

Créez votre compte en moins d'une minute et commencez à visualiser votre patrimoine comme jamais.

[Créer mon espace patrimoine](https://kwantra.com/register) [Déjà inscrit ? Connectez-vous](https://kwantra.com/login)

Aucune carte bancaire requise

Sans engagement

Aucun traceur tiers

Téléversez ce fichier sous /fr.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

Télécharger llms.txt
# Kwantra

> Centralisez et suivez vos actions, crypto, immobilier et épargne depuis une interface claire, gratuite et respectueuse de votre vie privée.

## Main
- [Kwantra — Gérez votre patrimoine](https://kwantra.com/fr): Centralisez et suivez vos actions, crypto, immobilier et épargne depuis une interface claire, gratuite et respectueuse…
- [Fonctionnalités](https://kwantra.com/fr/fonctionnalites)
- [À propos](https://kwantra.com/fr/a-propos)
- [Communauté](https://kwantra.com/fr/communaute)
- [Se connecter](https://kwantra.com/login)
- [Commencer](https://kwantra.com/register)
- [Mentions légales](https://kwantra.com/fr/mentions-legales)
- [Confidentialité](https://kwantra.com/fr/confidentialite)
- [CGU](https://kwantra.com/fr/cgu)

## Blog
- [Blog](https://kwantra.com/fr/blog)

## Legal
- [Cookies](https://kwantra.com/fr/cookies)

Le llms.txt complet nécessite une analyse de tout le domaine (bientôt disponible)

Téléversez ce fichier vers https://kwantra.com/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

Utilise les éléments article ou main (0/100)

Missing <article> and <main> elements

Hiérarchie de titres correcte (100/100)

Clean heading hierarchy

Utilise des éléments HTML sémantiques (13/100)

6 semantic elements, 147 divs (ratio: 4%)

Textes alternatifs descriptifs pour les images (100/100)

No images found

Faible profondeur d’imbrication des divs (90/100)

Avg div depth: 6.0, max: 11

Efficacité du contenu

Bon ratio de réduction de tokens (100/100)

100% token reduction (HTML→Markdown)

Bon ratio contenu/bruit (0/100)

Content ratio: 0.5% (690 content chars / 147564 HTML bytes)

Styles en ligne minimaux (0/100)

47/418 elements with inline styles (11.2%)

Poids de page raisonnable (80/100)

HTML size: 144KB

Visibilité IA

Possède un fichier llms.txt (0/100)

No llms.txt found

Possède un fichier robots.txt (100/100)

robots.txt exists

robots.txt autorise les bots IA (34/100)

2/3 AI bots blocked: ClaudeBot, GPTBot

Possède un sitemap.xml (100/100)

Sitemap found

Support Markdown for Agents (40/100) Cloudflare CDN
&#10003; Accept: text/markdown &#10007; .md URL &#10007; <link> tag &#10007; Link header YAML frontmatter (basic)
A Content-Signal (robots.txt ou en-têtes HTTP) (60/100)
&#10003; robots.txt &#10007; HTTP header &#10003; Policy

Données structurées

Possède Schema.org / JSON-LD (100/100)

JSON-LD found: WebPage

Possède des balises Open Graph (100/100)

All OG tags present

Possède une meta description (100/100)

Meta description: 139 chars

Possède une URL canonique (0/100)

No canonical URL

Possède un attribut lang (100/100)

lang="fr"

Accessibilité

Contenu disponible sans JavaScript (100/100)

Content available without JavaScript

Taille de page raisonnable (100/100)

Page size: 144KB

Le contenu apparaît tôt dans le HTML (25/100)

Main content starts at 70% of HTML

{
  "url": "https://kwantra.com/fr",
  "timestamp": 1779792469381,
  "fetch": {
    "mode": "simple",
    "timeMs": 260,
    "htmlSizeBytes": 147564,
    "supportsMarkdown": true,
    "markdownAgents": {
      "contentNegotiation": true,
      "mdUrl": {
        "found": false,
        "url": null
      },
      "linkTag": {
        "found": false,
        "url": null
      },
      "linkHeader": {
        "found": false,
        "url": null
      },
      "responseHeaders": {
        "contentSignal": null,
        "xMarkdownTokens": "586",
        "vary": "accept"
      },
      "frontmatter": {
        "present": true,
        "fields": [
          "title",
          "description"
        ],
        "level": "basic"
      },
      "level": "cloudflare"
    },
    "statusCode": 200
  },
  "extraction": {
    "title": "Kwantra — Gérez votre patrimoine",
    "excerpt": "Centralisez et suivez vos actions, crypto, immobilier et épargne depuis une interface claire et gratuite.",
    "byline": null,
    "siteName": "Kwantra",
    "lang": "fr",
    "contentLength": 690,
    "metadata": {
      "description": "Centralisez et suivez vos actions, crypto, immobilier et épargne depuis une interface claire, gratuite et respectueuse de votre vie privée.",
      "ogTitle": "Kwantra — Gérez votre patrimoine",
      "ogDescription": "Centralisez et suivez vos actions, crypto, immobilier et épargne depuis une interface claire et gratuite.",
      "ogImage": "https://kwantra.fr/og-image.png",
      "ogType": "website",
      "canonical": null,
      "lang": "fr",
      "schemas": [
        {
          "@context": "https://schema.org",
          "@type": "WebPage",
          "@id": "https://kwantra.fr/#webpage",
          "url": "https://kwantra.fr/",
          "name": "Kwantra — Gérez votre patrimoine",
          "description": "Centralisez et suivez vos actions, crypto, immobilier et épargne depuis une interface claire, gratuite et respectueuse de votre vie privée.",
          "isPartOf": {
            "@id": "https://kwantra.fr/#website"
          },
          "about": {
            "@id": "https://kwantra.fr/#organization"
          },
          "inLanguage": "fr-FR"
        }
      ],
      "robotsMeta": null,
      "author": null,
      "generator": null,
      "markdownAlternateHref": null
    }
  },
  "markdown": "Gestion de patrimoine personnel\n\n## Votre patrimoine,\nenfin tout en un.\n\nKwantra centralise vos actions, ETF, crypto, immobilier et épargne. Suivez votre patrimoine net en temps réel, planifiez vos achats et préparez votre déclaration fiscale.\n\nActions ETF Crypto Immobilier Épargne\n\nCe que vous pouvez faire avec Kwantra\n\n## Tout ce dont vous avez besoin,\nrien de superflu.\n\n8\n\nModules intégrés\n\n100%\n\nVos données, chez vous\n\n0€\n\nGratuit, sans engagement\n\n∞\n\nActifs suivis\n\nGratuit · Sans engagement · Données privées\n\n## Prêt à prendre\nle contrôle ?\n\nCréez votre compte en moins d'une minute et commencez à visualiser votre patrimoine comme jamais.\n\nAucune carte bancaire requise\n\nSans engagement\n\nAucun traceur tiers\n",
  "fullPageMarkdown": "Kwantra — Gérez votre patrimoine\n\nGestion de patrimoine personnel\n\n# Votre patrimoine,\nenfin tout en un.\n\nKwantra centralise vos actions, ETF, crypto, immobilier et épargne. Suivez votre patrimoine net en temps réel, planifiez vos achats et préparez votre déclaration fiscale.\n\n[Créer un compte gratuit](https://kwantra.com/register) [Se connecter](https://kwantra.com/login)\n\nActions ETF Crypto Immobilier Épargne\n\nPatrimoine net\n\n0 €\n\n+14.2% vs an dernier\n\nJanMarMaiJuilSepNovDéc\n\n📈\n\nActions & ETF+12.3%\n\n68 200 €\n\n🏢\n\nImmobilier+2.1%\n\n38 500 €\n\n₿\n\nCrypto+18.7%\n\n14 100 €\n\n💰\n\nÉpargne+1.2%\n\n7 650 €\n\nMis à jour à l'instant\n\n26/05/2026\n\n₿\n\nBitcoin\n\n0 €\n\n+2.1%\n\nDividendes annuels\n\n\\+ 0 €\n\nCe que vous pouvez faire avec Kwantra\n\n## Tout ce dont vous avez besoin,\nrien de superflu.\n\n### Actions & ETF\n\nGérez plusieurs comptes (PEA, CTO, AV). Suivez dividendes, plus-values et performance par enveloppe fiscale.\n\n+14.2% sur 12 mois\n\nPEACTOAssurance-viePER\n\n### Crypto-monnaies\n\nCentralisez wallets et exchanges. Importez vos positions CSV, suivez vos gains et pertes.\n\nBinanceCoinbase\\+ plus\n\n### Projection DRIP\n\nSimulez la croissance de vos dividendes sur 40 ans avec réinvestissement.\n\nIntérêts composés sur 40 ans\n\n### Plan d'achat annuel\n\nPlanifiez vos achats sur 12 mois par actif et par compte.\n\nJ\n\nF\n\nM\n\nA\n\nM\n\nJ\n\nJ\n\nA\n\nS\n\nO\n\nN\n\nD\n\n### Immobilier\n\nValorisation nette, emprunts restants, revenus locatifs. Intégré au patrimoine total.\n\n### Épargne & liquidités\n\nLivrets, comptes courants et épargne de précaution dans votre bilan net.\n\n### Fiscalité\n\nRapport fiscal annuel automatique : plus-values réalisées, dividendes perçus, flat tax calculée.\n\n30%\n\nFlat tax PFU\n\nAuto\n\nCalcul FIFO\n\n### Cotations temps réel\n\nActualisation automatique des cours via Yahoo Finance. Plus de 10 000 titres supportés.\n\nMSCI World ETF+1.24%\n\nApple Inc.+0.87%\n\nEUR/USD\\-0.12%\n\n8\n\nModules intégrés\n\n100%\n\nVos données, chez vous\n\n0€\n\nGratuit, sans engagement\n\n∞\n\nActifs suivis\n\nGratuit · Sans engagement · Données privées\n\n## Prêt à prendre\nle contrôle ?\n\nCréez votre compte en moins d'une minute et commencez à visualiser votre patrimoine comme jamais.\n\n[Créer mon espace patrimoine](https://kwantra.com/register) [Déjà inscrit ? Connectez-vous](https://kwantra.com/login)\n\nAucune carte bancaire requise\n\nSans engagement\n\nAucun traceur tiers\n",
  "markdownStats": {
    "images": 0,
    "links": 0,
    "tables": 0,
    "codeBlocks": 0,
    "headings": 3
  },
  "tokens": {
    "htmlTokens": 53432,
    "markdownTokens": 203,
    "reduction": 53229,
    "reductionPercent": 100
  },
  "score": {
    "score": 61,
    "grade": "C",
    "dimensions": {
      "semanticHtml": {
        "score": 61,
        "weight": 20,
        "grade": "C",
        "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": 13,
            "weight": 20,
            "details": "6 semantic elements, 147 divs (ratio: 4%)"
          },
          "meaningful_alt_texts": {
            "score": 100,
            "weight": 15,
            "details": "No images found"
          },
          "low_div_nesting": {
            "score": 90,
            "weight": 20,
            "details": "Avg div depth: 6.0, max: 11"
          }
        }
      },
      "contentEfficiency": {
        "score": 52,
        "weight": 25,
        "grade": "D",
        "checks": {
          "token_reduction_ratio": {
            "score": 100,
            "weight": 40,
            "details": "100% token reduction (HTML→Markdown)"
          },
          "content_to_noise_ratio": {
            "score": 0,
            "weight": 30,
            "details": "Content ratio: 0.5% (690 content chars / 147564 HTML bytes)"
          },
          "minimal_inline_styles": {
            "score": 0,
            "weight": 15,
            "details": "47/418 elements with inline styles (11.2%)"
          },
          "reasonable_page_weight": {
            "score": 80,
            "weight": 15,
            "details": "HTML size: 144KB"
          }
        }
      },
      "aiDiscoverability": {
        "score": 47,
        "weight": 25,
        "grade": "D",
        "checks": {
          "has_llms_txt": {
            "score": 0,
            "weight": 20,
            "details": "No llms.txt found"
          },
          "has_robots_txt": {
            "score": 100,
            "weight": 10,
            "details": "robots.txt exists"
          },
          "robots_allows_ai_bots": {
            "score": 34,
            "weight": 15,
            "details": "2/3 AI bots blocked: ClaudeBot, GPTBot"
          },
          "has_sitemap": {
            "score": 100,
            "weight": 10,
            "details": "Sitemap found"
          },
          "supports_markdown_negotiation": {
            "score": 40,
            "weight": 25,
            "details": "CDN level (Cloudflare) — Content negotiation"
          },
          "has_content_signals": {
            "score": 60,
            "weight": 20,
            "details": "robots.txt: search=yes, ai-train=no | Policy included"
          }
        }
      },
      "structuredData": {
        "score": 85,
        "weight": 15,
        "grade": "B",
        "checks": {
          "has_schema_org": {
            "score": 100,
            "weight": 30,
            "details": "JSON-LD found: WebPage"
          },
          "has_open_graph": {
            "score": 100,
            "weight": 25,
            "details": "All OG tags present"
          },
          "has_meta_description": {
            "score": 100,
            "weight": 20,
            "details": "Meta description: 139 chars"
          },
          "has_canonical_url": {
            "score": 0,
            "weight": 15,
            "details": "No canonical URL"
          },
          "has_lang_attribute": {
            "score": 100,
            "weight": 10,
            "details": "lang=\"fr\""
          }
        }
      },
      "accessibility": {
        "score": 78,
        "weight": 15,
        "grade": "B",
        "checks": {
          "content_without_js": {
            "score": 100,
            "weight": 40,
            "details": "Content available without JavaScript"
          },
          "reasonable_page_size": {
            "score": 100,
            "weight": 30,
            "details": "Page size: 144KB"
          },
          "fast_content_position": {
            "score": 25,
            "weight": 30,
            "details": "Main content starts at 70% 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.5% (690 content chars / 147564 HTML bytes)"
    },
    {
      "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": "47/418 elements with inline styles (11.2%)"
    },
    {
      "id": "allow_ai_bots",
      "priority": "high",
      "category": "aiDiscoverability",
      "titleKey": "rec.allow_ai_bots.title",
      "descriptionKey": "rec.allow_ai_bots.description",
      "howToKey": "rec.allow_ai_bots.howto",
      "effort": "quick-win",
      "estimatedImpact": 7,
      "checkScore": 34,
      "checkDetails": "2/3 AI bots blocked: ClaudeBot, GPTBot"
    },
    {
      "id": "add_markdown_negotiation",
      "priority": "high",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_markdown_negotiation.title",
      "descriptionKey": "rec.add_markdown_negotiation.description",
      "howToKey": "rec.add_markdown_negotiation.howto",
      "effort": "significant",
      "estimatedImpact": 6,
      "checkScore": 40,
      "checkDetails": "CDN level (Cloudflare) — Content negotiation"
    },
    {
      "id": "add_semantic_elements",
      "priority": "high",
      "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": 13,
      "checkDetails": "6 semantic elements, 147 divs (ratio: 4%)"
    },
    {
      "id": "move_content_earlier",
      "priority": "high",
      "category": "accessibility",
      "titleKey": "rec.move_content_earlier.title",
      "descriptionKey": "rec.move_content_earlier.description",
      "howToKey": "rec.move_content_earlier.howto",
      "effort": "moderate",
      "estimatedImpact": 4,
      "checkScore": 25,
      "checkDetails": "Main content starts at 70% of HTML"
    },
    {
      "id": "add_canonical_url",
      "priority": "high",
      "category": "structuredData",
      "titleKey": "rec.add_canonical_url.title",
      "descriptionKey": "rec.add_canonical_url.description",
      "howToKey": "rec.add_canonical_url.howto",
      "effort": "quick-win",
      "estimatedImpact": 3,
      "checkScore": 0,
      "checkDetails": "No canonical URL"
    }
  ],
  "llmsTxtPreview": "# Kwantra\n\n> Centralisez et suivez vos actions, crypto, immobilier et épargne depuis une interface claire, gratuite et respectueuse de votre vie privée.\n\n## Main\n- [Kwantra — Gérez votre patrimoine](https://kwantra.com/fr): Centralisez et suivez vos actions, crypto, immobilier et épargne depuis une interface claire, gratuite et respectueuse…\n- [Fonctionnalités](https://kwantra.com/fr/fonctionnalites)\n- [À propos](https://kwantra.com/fr/a-propos)\n- [Communauté](https://kwantra.com/fr/communaute)\n- [Se connecter](https://kwantra.com/login)\n- [Commencer](https://kwantra.com/register)\n- [Mentions légales](https://kwantra.com/fr/mentions-legales)\n- [Confidentialité](https://kwantra.com/fr/confidentialite)\n- [CGU](https://kwantra.com/fr/cgu)\n\n## Blog\n- [Blog](https://kwantra.com/fr/blog)\n\n## Legal\n- [Cookies](https://kwantra.com/fr/cookies)\n\n",
  "llmsTxtExisting": null,
  "emergingProtocols": {
    "oauthDiscovery": {
      "exists": true,
      "url": "https://kwantra.com/.well-known/oauth-authorization-server",
      "issuer": "https://kwantra.com",
      "authorizationEndpoint": "https://kwantra.com/fr",
      "tokenEndpoint": "https://kwantra.com/api/auth/login",
      "grantTypesSupported": [
        "password",
        "refresh_token"
      ],
      "scopesSupported": [
        "openid",
        "profile",
        "email"
      ]
    },
    "mcpServerCard": {
      "exists": false,
      "url": "https://kwantra.com/.well-known/mcp.json"
    },
    "a2aAgentCard": {
      "exists": false,
      "url": "https://kwantra.com/.well-known/agent.json"
    },
    "count": 1
  },
  "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": "# Kwantra\n\n> Centralisez et suivez vos actions, crypto, immobilier et épargne depuis une interface claire, gratuite et respectueuse de votre vie privée.\n\n## Main\n- [Kwantra — Gérez votre patrimoine](https://kwantra.com/fr): Centralisez et suivez vos actions, crypto, immobilier et épargne depuis une interface claire, gratuite et respectueuse…\n- [Fonctionnalités](https://kwantra.com/fr/fonctionnalites)\n- [À propos](https://kwantra.com/fr/a-propos)\n- [Communauté](https://kwantra.com/fr/communaute)\n- [Se connecter](https://kwantra.com/login)\n- [Commencer](https://kwantra.com/register)\n- [Mentions légales](https://kwantra.com/fr/mentions-legales)\n- [Confidentialité](https://kwantra.com/fr/confidentialite)\n- [CGU](https://kwantra.com/fr/cgu)\n\n## Blog\n- [Blog](https://kwantra.com/fr/blog)\n\n## Legal\n- [Cookies](https://kwantra.com/fr/cookies)\n\n",
      "filename": "/llms.txt"
    },
    {
      "id": "add_canonical_url",
      "title": "Add canonical URL",
      "description": "The canonical URL tells AI agents which version of the page is the \"official\" one, avoiding duplicate content issues.",
      "language": "html",
      "code": "<link rel=\"canonical\" href=\"https://kwantra.com/fr\">",
      "filename": "<head>"
    },
    {
      "id": "allow_ai_bots",
      "title": "Allow AI bots in robots.txt",
      "description": "Some AI bots are blocked in your robots.txt. Remove or modify these Disallow rules to let AI agents index your content.",
      "language": "txt",
      "code": "# Add to your robots.txt — explicitly allow AI bots:\nUser-agent: GPTBot\nAllow: /\n\nUser-agent: ClaudeBot\nAllow: /\n\nUser-agent: PerplexityBot\nAllow: /",
      "filename": "/robots.txt"
    },
    {
      "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_markdown_negotiation",
      "title": "Support Markdown for Agents",
      "description": "Let AI agents request a clean Markdown version of any page via content negotiation, .md alternate URLs, link tags or Link headers.",
      "language": "html",
      "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">",
      "filename": "<head>",
      "stacks": [
        {
          "id": "html",
          "label": "HTML <head>",
          "language": "html",
          "filename": "<head>",
          "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        },
        {
          "id": "express",
          "label": "Express",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\napp.get('/page', (req, res) => {\n  res.setHeader('Vary', 'Accept');\n  res.setHeader('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    res.type('text/markdown; charset=utf-8');\n    return res.send(renderMarkdown('page'));\n  }\n  res.render('page');\n});"
        },
        {
          "id": "fastify",
          "label": "Fastify",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\nfastify.get('/page', async (req, reply) => {\n  reply.header('Vary', 'Accept');\n  reply.header('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    return reply.type('text/markdown; charset=utf-8').send(renderMarkdown('page'));\n  }\n  return reply.view('/page.ejs');\n});"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "app/page/route.ts",
          "code": "// Next.js App Router — Route Handler returning Markdown\nimport { NextRequest } from 'next/server';\nimport { renderMarkdown } from '@/lib/md';\nexport async function GET(req: NextRequest) {\n  const accept = req.headers.get('accept') || '';\n  if (accept.includes('text/markdown')) {\n    return new Response(await renderMarkdown('page'), {\n      headers: {\n        'Content-Type': 'text/markdown; charset=utf-8',\n        'Vary': 'Accept',\n      },\n    });\n  }\n  // Fall through to the page component\n  return new Response(null, { status: 404 });\n}"
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// Mechanism 1: respond to Accept: text/markdown on the same URL\nadd_action('template_redirect', function () {\n    if (!is_singular()) return;\n    $accept = $_SERVER['HTTP_ACCEPT'] ?? '';\n    if (strpos($accept, 'text/markdown') === false) return;\n    header('Content-Type: text/markdown; charset=utf-8');\n    header('Vary: Accept');\n    $post = get_queried_object();\n    echo \"# \" . get_the_title($post) . \"\\n\\n\";\n    echo wp_strip_all_tags(apply_filters('the_content', $post->post_content));\n    exit;\n});"
        },
        {
          "id": "static",
          "label": "Hugo / Jekyll / Astro",
          "language": "txt",
          "filename": "static/page.md",
          "code": "# Mechanism 2: serve .md alongside .html\n# Hugo: place page.md in /static/ — built unchanged\n# Jekyll: drop page.md in /assets/ — copied as-is\n# Astro: src/pages/page.md.ts that exports a GET returning markdown\n\n# Then advertise with mechanism 3 in <head>:\n#   <link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        }
      ]
    }
  ]
}

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.

Partagez vos résultats

Twitter LinkedIn

Intégrez votre badge

Ajoutez ce badge à votre site. Il se met à jour automatiquement lorsque votre score de préparation à l’IA change.

AgentReady.md score for kwantra.com
Script Recommandé
<script src="https://agentready.md/badge.js" data-id="571ab99d-7208-4cfc-b1a3-57f4baa3cb96" data-domain="kwantra.com"></script>
Markdown
[![AgentReady.md score for kwantra.com](https://agentready.md/badge/kwantra.com.svg)](https://agentready.md/fr/r/571ab99d-7208-4cfc-b1a3-57f4baa3cb96)

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é.

Vous êtes sur la liste ! Nous vous préviendrons lors du lancement.