# https://www.stacksync.com/robots.txt # # Default policy: allow crawl of everything except infrastructure paths. # Query-param variants are deliberately CRAWLABLE: every page emits a # query-stripped canonical (BaseLayout), which lets Google consolidate # ?utm_/?ref= URLs instead of leaving them stuck in "Blocked by robots.txt". # Dead Webflow pagination params ({hex}_page=) are 301-stripped by # src/middleware.ts on on-demand routes, which include the blog index, # category and author listings where Webflow paginated. Prerendered pages # ignore the query and carry the same canonical. (Unpublished drafts live in # src/_drafts/ and never build, so they need no Disallow.) # # Per-pair planning worksheets (/integrations/{pair}/planning.csv) are linked # with rel="nofollow" and answer with X-Robots-Tag: noindex. They are not # disallowed here, so crawlers that do fetch one can read the noindex. # # AI / LLM crawlers are explicitly allowed — stacksync wants to be cited # in AI Overviews, ChatGPT search, Perplexity, Claude, Bing Copilot, etc. # A crawler obeys only the most specific group that names it (RFC 9309), so # the named group repeats every rule of the * group. User-agent: * Allow: / Allow: /api/og.png Disallow: /api/ Allow: /_astro/ # AI search & training crawlers — explicit allow, same rules as * User-agent: GPTBot User-agent: OAI-SearchBot User-agent: ChatGPT-User User-agent: ClaudeBot User-agent: Claude-User User-agent: Claude-SearchBot User-agent: anthropic-ai User-agent: PerplexityBot User-agent: Perplexity-User User-agent: Google-Extended User-agent: Applebot-Extended User-agent: Bingbot User-agent: CCBot User-agent: Meta-ExternalAgent User-agent: MistralAI-User User-agent: Amazonbot User-agent: DuckAssistBot User-agent: cohere-ai User-agent: YouBot Allow: / Allow: /api/og.png Disallow: /api/ Allow: /_astro/ # Sitemap discovery — single master index points to all per-section sitemaps Sitemap: https://www.stacksync.com/sitemap.xml