# As a condition of accessing this website, you agree to abide by the following # content signals: # (a) If a Content-Signal = yes, you may collect content for the corresponding # use. # (b) If a Content-Signal = no, you may not collect content for the # corresponding use. # (c) If the website operator does not include a Content-Signal for a # corresponding use, the website operator neither grants nor restricts # permission via Content-Signal with respect to the corresponding use. # The content signals and their meanings are: # search: building a search index and providing search results (e.g., returning # hyperlinks and short excerpts from your website's contents). Search does not # include providing AI-generated search summaries. # ai-input: inputting content into one or more AI models (e.g., retrieval # augmented generation, grounding, or other real-time taking of content for # generative AI search answers). # ai-train: training or fine-tuning AI models. # use: how AI systems may consume the content (immediate, reference, or full). # ANY RESTRICTIONS EXPRESSED VIA CONTENT SIGNALS ARE EXPRESS RESERVATIONS OF # RIGHTS UNDER ARTICLE 4 OF THE EUROPEAN UNION DIRECTIVE 2019/790 ON COPYRIGHT # AND RELATED RIGHTS IN THE DIGITAL SINGLE MARKET. # BEGIN Cloudflare Managed content User-agent: * Content-Signal: search=yes,ai-train=no,use=reference Allow: / User-agent: Amazonbot Disallow: / User-agent: Applebot-Extended Disallow: / User-agent: Bytespider Disallow: / User-agent: CCBot Disallow: / User-agent: ClaudeBot Disallow: / User-agent: CloudflareBrowserRenderingCrawler Disallow: / User-agent: Google-Extended Disallow: / User-agent: GPTBot Disallow: / User-agent: meta-externalagent Disallow: / # END Cloudflare Managed Content User-agent: * Allow: / # Authenticated app + auth routes — gated, no SEO value, dilute crawl budget. # English is the default locale at the ROOT (no prefix), so each route is # disallowed both bare (/dashboard) and locale-prefixed (/ru/dashboard, # /ua/dashboard) via the wildcard form. Disallow: /dashboard # /ads is the authenticated product feed — gated. The PUBLIC demo at /demo is # intentionally NOT listed here (SPY-449): it carries noindex (meta in the # prerendered HTML + nginx X-Robots-Tag), and crawlers must be able to FETCH # it to see that rule — a Disallow would hide the noindex and let the bare # URL linger in search results ("Indexed, though blocked by robots.txt"). Disallow: /ads Disallow: /hubs Disallow: /creo Disallow: /webmaster Disallow: /advertisers Disallow: /trends Disallow: /settings Disallow: /keyword-discovery Disallow: /content Disallow: /admin Disallow: /login Disallow: /register Disallow: /forgot-password Disallow: /reset-password Disallow: /verify-email Disallow: /activate Disallow: /*/dashboard Disallow: /*/ads Disallow: /*/hubs Disallow: /*/creo Disallow: /*/webmaster Disallow: /*/advertisers Disallow: /*/trends Disallow: /*/settings Disallow: /*/keyword-discovery Disallow: /*/content Disallow: /*/admin Disallow: /*/login Disallow: /*/register Disallow: /*/forgot-password Disallow: /*/reset-password Disallow: /*/verify-email Disallow: /*/activate # /demo and its subsections are noindex'ed (SPY-449) and deliberately have NO # Disallow here: engines must crawl them to read the noindex, and they lower # the crawl frequency on such pages by themselves once it registers. # AI / LLM crawler access is governed at the Cloudflare edge (bot management), # NOT here — this file intentionally allows all user-agents. Retrieval bots # (OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot, # DuckAssistBot) are ALLOWED through by the zone WAF skip-rule "Allow AI # retrieval bots" (agent-readiness, 2026-06-23) — verified 2026-08-06 in the # origin nginx logs: OAI-SearchBot / Claude-SearchBot / Claude-User / # ChatGPT-User fetch pages daily, including /blog articles. Training bots # (GPTBot, ClaudeBot, CCBot, …) stay blocked via Cloudflare Managed robots.txt # + bot management — a deliberate business choice. Sitemap: https://spytrend.com/sitemap.xml