{
  "slug": "ai-blocking-myth-calgary-2026",
  "generated_at": "2026-07-21T05:23:15.882Z",
  "corpus_size": 403,
  "sample_frame": "Calgary businesses that appear in curated \"best of Calgary [industry]\" listicles and own an outbound-linkable website",
  "verticals": "restaurants, gyms, cafes, contractors (incl. construction/renovation/electricians), dental, med-spa, law, auto, mortgage brokers (real-estate substitute), retail",
  "verticals_note": "Real estate is represented by mortgage brokers because no Calgary realtor/brokerage listicle links out to independent websites; every ranker uses internal profile pages.",
  "excluded_hosts": "30+ hosts and aggregators removed from the frame (listicle hosts, pay-to-play directories, WordPress infrastructure, Google shorteners).",
  "data_collected": "2026-07-21",
  "method": "Fetched /robots.txt for each corpus site (5 hop redirect limit, 12s timeout, 500KB max) and parsed per RFC 9309. For each of the AI crawler tokens listed in the current documentation of each operator on 2026-07-20, recorded whether the site returned Disallow: / for that token (or matched a wildcard block).",
  "tokens_measured": [
    "GPTBot",
    "OAI-SearchBot",
    "ChatGPT-User",
    "ClaudeBot",
    "Claude-User",
    "Claude-SearchBot",
    "PerplexityBot",
    "Perplexity-User",
    "Google-Extended",
    "CCBot",
    "Applebot",
    "Applebot-Extended",
    "meta-externalagent",
    "meta-webindexer",
    "meta-externalfetcher",
    "Amazonbot",
    "Amzn-SearchBot",
    "MistralAI-User",
    "MistralAI-Index",
    "DuckAssistBot",
    "YouBot",
    "Bytespider"
  ],
  "legacy_tokens_measured": [
    "FacebookBot",
    "anthropic-ai",
    "claude-web"
  ],
  "live_docs_verified": "2026-07-20",
  "n_reachable_robots": 333,
  "n_no_robots": 70,
  "naming_policy": "This post has no winner ranking. Every site is listed anonymized: block posture is reported without naming the business, because blocking or not blocking is a defensible business choice either way."
}