{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "name": "Better Robots AI visibility control matrix",
  "updated": "2026-03-29",
  "site": "https://better-robots.com/",
  "reading_order": [
    "https://better-robots.com/.well-known/ai-governance.json",
    "https://better-robots.com/ai-manifest.json",
    "https://better-robots.com/llms.txt",
    "https://better-robots.com/ai-visibility",
    "https://better-robots.com/ai-visibility-controls",
    "https://better-robots.com/measure-ai-visibility"
  ],
  "control_surfaces": [
    {
      "id": "robots_txt",
      "control": "robots.txt",
      "best_for": [
        "crawl access",
        "path-level guidance",
        "crawler-family segmentation",
        "crawl waste reduction"
      ],
      "not_for": [
        "guaranteed deindexing",
        "security",
        "snippet policy"
      ],
      "human_pages": [
        "https://better-robots.com/ai-visibility-controls",
        "https://better-robots.com/fr/controles-de-visibilite-ia"
      ]
    },
    {
      "id": "meta_robots",
      "control": "meta robots",
      "best_for": [
        "page-level indexing",
        "preview posture",
        "cache behavior"
      ],
      "not_for": [
        "identity verification",
        "large-scale path routing"
      ],
      "human_pages": [
        "https://better-robots.com/ai-visibility-controls",
        "https://better-robots.com/fr/controles-de-visibilite-ia"
      ]
    },
    {
      "id": "snippet_controls",
      "control": "nosnippet, max-snippet, data-nosnippet",
      "best_for": [
        "preview governance",
        "quote boundaries",
        "citation posture"
      ],
      "not_for": [
        "training posture by vendor",
        "crawl access"
      ],
      "human_pages": [
        "https://better-robots.com/ai-visibility-controls",
        "https://better-robots.com/fr/controles-de-visibilite-ia"
      ]
    },
    {
      "id": "llms_txt",
      "control": "llms.txt",
      "best_for": [
        "machine routing",
        "reading guidance",
        "reference surfacing"
      ],
      "not_for": [
        "hard enforcement",
        "identity proof"
      ],
      "human_pages": [
        "https://better-robots.com/ai-visibility",
        "https://better-robots.com/fr/visibilite-ia"
      ]
    },
    {
      "id": "public_ai_policy",
      "control": "public AI usage policy",
      "best_for": [
        "posture clarity",
        "expectation setting",
        "human and machine-readable guidance"
      ],
      "not_for": [
        "runtime blocking",
        "proof of compliance"
      ],
      "human_pages": [
        "https://better-robots.com/governance/ai-usage-policy/",
        "https://better-robots.com/fr/governance/ai-usage-policy/"
      ]
    },
    {
      "id": "edge_controls",
      "control": "CDN, WAF, allowlisting, signed-agent checks",
      "best_for": [
        "verified identity",
        "infrastructure policy",
        "rate limits",
        "runtime enforcement"
      ],
      "not_for": [
        "editorial source design"
      ],
      "human_pages": [
        "https://better-robots.com/blog/robots-txt-vs-signed-agent-allowlisting/",
        "https://better-robots.com/fr/blog/robots-txt-vs-signed-agent-allowlisting/"
      ]
    }
  ],
  "vendors": [
    {
      "vendor": "OpenAI",
      "visibility_surface": "OAI-SearchBot",
      "training_surface": "GPTBot",
      "user_triggered_surface": "ChatGPT-User",
      "guide_pages": [
        "https://better-robots.com/appear-in-chatgpt",
        "https://better-robots.com/fr/apparaitre-dans-chatgpt"
      ]
    },
    {
      "vendor": "Google",
      "visibility_surface": "Googlebot + preview controls",
      "training_surface": "Google-Extended",
      "user_triggered_surface": "Google-Agent",
      "guide_pages": [
        "https://better-robots.com/appear-in-google-ai-overviews",
        "https://better-robots.com/fr/apparaitre-dans-google-ai-overviews"
      ]
    },
    {
      "vendor": "Anthropic",
      "visibility_surface": "Claude-SearchBot",
      "training_surface": "ClaudeBot",
      "user_triggered_surface": "Claude-User",
      "guide_pages": [
        "https://better-robots.com/appear-in-claude",
        "https://better-robots.com/fr/apparaitre-dans-claude"
      ]
    },
    {
      "vendor": "Microsoft/Bing",
      "visibility_surface": "Bingbot + snippet and archive directives",
      "training_surface": "meta directives in Bing index context",
      "user_triggered_surface": "Copilot-style answer use",
      "guide_pages": [
        "https://better-robots.com/blog/bing-noarchive-nocache-vs-robots-txt/",
        "https://better-robots.com/fr/blog/bing-noarchive-nocache-vs-robots-txt/"
      ]
    },
    {
      "vendor": "Apple",
      "visibility_surface": "Applebot",
      "training_surface": "Applebot-Extended",
      "user_triggered_surface": "not publicly split the same way on this site",
      "guide_pages": [
        "https://better-robots.com/blog/applebot-vs-applebot-extended/",
        "https://better-robots.com/fr/blog/applebot-vs-applebot-extended/"
      ]
    }
  ]
}
