# 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. # 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 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 # Bevel — robots.txt # # Allow all crawlers everywhere except admin and per-result share pages # (the /r/ URLs are public but unbounded — letting Google crawl # them all would dilute the index with thin per-share pages and # burn through crawl budget on infinite UUIDs). # # Exception: social-preview crawlers (Twitterbot, facebookexternalhit, # Threads' Meta-ExternalAgent, etc.) are allowed into /r/ so link # unfurls actually render on those platforms. Without the explicit # allowlist they honor the Disallow above and never fetch the page, # which means they never see our og:image / og:title and skip the # card entirely. iMessage and Discord don't check robots.txt before # unfurling, which is why those platforms previously worked while # Twitter and Threads didn't. User-agent: Twitterbot Allow: / User-agent: facebookexternalhit Allow: / User-agent: Facebot Allow: / User-agent: Meta-ExternalAgent Allow: / User-agent: LinkedInBot Allow: / User-agent: Slackbot Allow: / User-agent: Slackbot-LinkExpanding Allow: / User-agent: TelegramBot Allow: / User-agent: WhatsApp Allow: / User-agent: * Allow: / Disallow: /admin/ Disallow: /api/ Disallow: /r/ Disallow: /results/ Sitemap: https://bevel.ink/sitemap.xml