# Margeo robots.txt — optimisé SEO 2026 # # /app/ n'est PAS interdit : la page porte , et une URL bloquée ne peut pas être désindexée — le crawler n'a pas # le droit de lire le noindex qui la retirerait. Bing signalait 435 URL bloquées en # permanence (2026-09-22), causées par les 124 liens vers /app/?intent=… du corpus. # En laissant le crawler lire la page, elle reste hors index ET le budget de crawl # n'est plus gaspillé. /functions/ reste interdit : ce sont des points d'API. User-agent: * Allow: / Allow: /en/ Allow: /blog/ Allow: /fonctionnalites/ Allow: /a-propos/ Allow: /tarifs/ Allow: /comparatif/ Allow: /alternatives/ Allow: /glossaire/ Allow: /avis/ Allow: /securite/ Allow: /niches/ Disallow: /functions/ Disallow: /_worker.js Disallow: /seo-experiments/ Disallow: /extension/ Disallow: /ppt/ Disallow: /maquettes/ Allow: /.well-known/assetlinks.json Allow: /.well-known/llms.txt User-agent: Googlebot Allow: / Allow: /en/ Allow: /blog/ Allow: /fonctionnalites/ Allow: /a-propos/ Allow: /tarifs/ Allow: /comparatif/ Allow: /alternatives/ Allow: /glossaire/ Allow: /avis/ Allow: /securite/ Allow: /niches/ Disallow: /functions/ Disallow: /_worker.js Disallow: /seo-experiments/ Disallow: /extension/ Disallow: /ppt/ Disallow: /maquettes/ User-agent: Googlebot-Image Allow: /icons/ Allow: /images/ User-agent: Bingbot Allow: / Allow: /en/ Allow: /blog/ Allow: /fonctionnalites/ Allow: /a-propos/ Allow: /tarifs/ Allow: /comparatif/ Allow: /alternatives/ Allow: /glossaire/ Allow: /avis/ Allow: /securite/ Allow: /niches/ Disallow: /functions/ Disallow: /_worker.js Disallow: /seo-experiments/ Disallow: /extension/ Disallow: /ppt/ Disallow: /maquettes/ User-agent: DuckDuckBot Allow: / Disallow: /functions/ User-agent: Slurp Allow: / Disallow: /functions/ User-agent: YandexBot Allow: / Disallow: /functions/ User-agent: Qwantify Allow: / User-agent: facebookexternalhit Allow: / User-agent: Twitterbot Allow: / User-agent: LinkedInBot Allow: / User-agent: Pinterestbot Allow: / # ─── AI crawlers — Margeo veut être cité par les LLMs ──────────────── # # ⚠️ CCBot (Common Crawl) ÉTAIT ABSENT jusqu'au 2026-09-23. C'est le corpus sur # lequel la majorité des modèles s'entraînent : son absence ne le bloquait pas # (`User-agent: *` l'autorisait déjà), mais un agent qui lit ce fichier ne # trouvait aucune invitation explicite — et `_worker.js` le classe pourtant # comme robot d'IA depuis le 2026-09-21 (constante `ROBOTS_IA`). # Mesuré le 2026-09-23 : 2 à 3 pageviews de classe `ia` en 1,8 jour, contre 281 # robots classiques. Inviter ne suffit pas à faire venir — mais ne pas inviter # ne se défend pas. User-agent: CCBot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: GPTBot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: ChatGPT-User Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: OAI-SearchBot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: ClaudeBot Allow: / Disallow: /functions/ Disallow: /_worker.js # ⚠️ `Claude-Web` est un nom OBSOLÈTE (remplacé par ClaudeBot / Claude-User), et # il est CONSERVÉ volontairement. `test/robots-ia.test.js` exige que chaque robot # classé « ia » par `_worker.js` garde son PROPRE groupe : un UA qui n'en a pas # hérite de `User-agent: *`, dont la règle peut changer sans qu'on s'en aperçoive. # Un groupe explicite pour un nom périmé ne coûte rien ; son absence, si. User-agent: Claude-Web Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: Claude-User Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: Claude-SearchBot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: anthropic-ai Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: PerplexityBot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: Perplexity-User Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: Google-Extended Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: GoogleOther Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: Google-CloudVertexBot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: AI2Bot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: ImagesiftBot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: PanguBot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: Amazonbot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: Meta-ExternalAgent Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: Meta-ExternalFetcher Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: FacebookBot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: Applebot-Extended Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: Applebot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: cohere-ai Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: cohere-training-data-crawler Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: Bytespider Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: TikTokSpider Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: mistralai-User Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: MistralAI-User Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: MistralAI-Index Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: YouBot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: Diffbot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: Timpibot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: webzio-extended Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: Kagibot Allow: / Disallow: /functions/ Disallow: /_worker.js # ─── Crawlers IA 2026 — ceux qui INDEXENT pour les réponses IA ───────── # # Mesure du 2026-10-21 : 20 tokens d'IA de 2026 n'étaient pas nommés. Ils # héritaient du groupe `User-agent: *` — donc ils étaient AUTORISÉS, mais # invisibles : `ROBOTS_IA` (`_worker.js`) ne les reconnaissait pas, et ils # étaient donc comptés comme des « humains » dans l'Analytics Engine. On ne # pouvait donc pas MESURER si Meta AI, Alexa, DuckDuckGo ou Kimi venaient # lire le site. C'est le défaut que cette liste corrige. # # Ce ne sont PAS des robots d'entraînement déguisés : ce sont, pour la plupart, # des robots de RETRIEVAL — ceux dont l'index alimente les RÉPONSES des # assistants. Bloquer un robot d'entraînement ne change rien à la citation ; # le robot de retrieval du moteur concerné, lui, lagoverne. # # meta-webindexer ....... Meta AI (Meta : « allowing it helps Meta AI cite # and link to your content in the AI responses ») # amzn-searchbot ........ recherche Amazon / Alexa (source officielle Amazon) # amzn-user ............. fetch déclenché par une question Alexa # duckassistbot ......... réponses IA de DuckDuckGo (UA : DuckAssistBot/1.2) # bravebot .............. index Brave (alimente l'assistant Leo) # google-notebooklm ..... fetch pour NotebookLM (source utilisateur) # google-agent .......... agent Google (Mariner) qui agit sur le web # kimi-searchbot ........ recherche Kimi (Moonshot) — assistant chinois # kimi-user ............. fetch déclenché par une question Kimi # tongyibot ............. fetch pour les réponses Qwen (Alibaba) # exasearchbot / exabot . Exa : moteur de récupération utilisé par les # assistants — c'est aussi celui que la sonde # `scripts/geo_probe.py` interroge # tavilybot ............. Tavily : autre moteur de récupération des # assistants, également sondé par `geo_probe.py` # grokbot ............... xAI / Grok # deepseekbot ........... DeepSeek (aucune surface de citation propre # mesurée :onomis ici pour MESURER son passage) # mistralai-training .... entraînement Mistral # oai-adsbot ............ OpenAI (publicités, fetch déclenché) # chatgpt-agent ......... agent ChatGPT # claude-code ........... agent Claude Code # gemini-deep-research .. agent Google Deep Research # # ⚠️ RÈGLE : un groupe explicite ne vaut QUE pour lui. `applebot` figure # dans la section IA par courtoisie mais reste un crawler de RECHERCHE : il # est classé `robot`, pas `ia`, par `_worker.js` (l'ORDRE des tests tranche). User-agent: meta-webindexer Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: amzn-searchbot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: amzn-user Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: duckassistbot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: bravebot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: google-notebooklm Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: google-agent Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: kimi-searchbot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: kimi-user Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: tongyibot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: exasearchbot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: exabot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: tavilybot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: grokbot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: deepseekbot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: mistralai-training Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: oai-adsbot Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: chatgpt-agent Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: claude-code Allow: / Disallow: /functions/ Disallow: /_worker.js User-agent: gemini-deep-research Allow: / Disallow: /functions/ Disallow: /_worker.js # ─── Sitemaps ──────────────────────────────────────────────────────── Sitemap: https://margeoapp.com/sitemap.xml # Sitemap PRIORITAIRE : les 74 pages que Google a dépriorisées # (historiquement « Excluded by noindex », aujourd'hui `index, follow`). # Un sitemap PETIT et FRAIS est recalculé en priorité par Google, et il ne # consomme pas le quota de « Request indexing » (~14/jour, fenêtre glissante # de 24 h). Ces pages reçoivent déjà 2 à 5 liens internes depuis des pages # indexées : elles sont DÉCOUVERTES, il leur manque la PRIORITÉ de crawl. # Généré par scripts/generer_sitemap_prioritaire.py. Sitemap: https://margeoapp.com/sitemap-priorite.xml # ─── LLM-friendly resources ────────────────────────────────────────── # Margeo expose une documentation structurée pour les LLMs (compatible llms.txt) : # https://margeoapp.com/llms.txt (sommaire concis) # https://margeoapp.com/llms-full.txt (documentation complète) # RSS feed : https://margeoapp.com/blog/rss.xml