# Robots.txt for tap.giving # Policy: maximally permissive. Every public page, including every query-string # variant of it, is crawlable. Duplicate consolidation is handled by the # rel=canonical tag on each page, NOT by robots.txt. # # WHY (2026-07-28): the old file disallowed /*?*utm_source=* (plus utm_medium, # utm_campaign, fbclid, gclid). Our own blog soft-CTAs link internally to # /order.html and /pricing.html WITH utm tags, so Search Console reported our # two highest-value conversion pages as "Blocked by robots.txt" (19 URLs). A # blocked URL cannot pass its canonical, so Google could not fold those hits # back into /order and /pricing. Blocking crawl to prevent duplicates is the # wrong tool. Canonicals are the right one, and both pages already carry them. # # NOTE ON GROUPING (RFC 9309): rules attach to the User-agent group # directly above them. Disallow rules must live INSIDE the "*" group # below — placing them after the AI-crawler groups silently scopes # them to the last-listed bot only. # # Before adding ANY Disallow here, confirm nothing on the site links to the # pattern. If we link to it, we want it crawled. User-agent: * Allow: / # The only blocks: non-public surfaces that are not pages at all. Disallow: /admin/ Disallow: /private/ Disallow: /_template.html # Worker API endpoints. POST-only, so a crawler GET returns 405 and Search # Console files it under "Blocked due to other 4xx". Not a page, never linked # as an href, nothing to index. This is the one block that stays. Disallow: /api/ # Sitemap location Sitemap: https://tap.giving/sitemap.xml # AI Agent Discovery # See https://llmstxt.org for specification # llms.txt provides structured context for AI models (ChatGPT, Claude, Gemini, Perplexity) # This helps AI assistants accurately answer questions about Tap.Giving, NFC giving, # tap-to-give plates, and church giving technology # Explicitly welcome AI crawlers (full access, no restrictions) User-agent: GPTBot Allow: / User-agent: ChatGPT-User Allow: / User-agent: anthropic-ai Allow: / User-agent: ClaudeBot Allow: / User-agent: Claude-Web Allow: / User-agent: PerplexityBot Allow: / User-agent: Google-Extended Allow: / User-agent: Amazonbot Allow: / User-agent: cohere-ai Allow: /