# # robots.txt # # This file is to prevent the crawling and indexing of certain parts # of your site by web crawlers and spiders run by sites like Yahoo! # and Google. By telling these "robots" where not to go on your site, # you save bandwidth and server resources. # # This file will be ignored unless it is at the root of your host: # Used: http://example.com/robots.txt # Ignored: http://example.com/site/robots.txt # # For more information about the robots.txt standard, see: # http://www.robotstxt.org/robotstxt.html User-agent: * # CSS, JS, Images Allow: /core/*.css$ Allow: /core/*.css? Allow: /core/*.js$ Allow: /core/*.js? Allow: /core/*.gif Allow: /core/*.jpg Allow: /core/*.jpeg Allow: /core/*.png Allow: /core/*.svg Allow: /profiles/*.css$ Allow: /profiles/*.css? Allow: /profiles/*.js$ Allow: /profiles/*.js? Allow: /profiles/*.gif Allow: /profiles/*.jpg Allow: /profiles/*.jpeg Allow: /profiles/*.png Allow: /profiles/*.svg # Directories Disallow: /core/ Disallow: /profiles/ # Files Disallow: /README.md Disallow: /composer/Metapackage/README.txt Disallow: /composer/Plugin/ProjectMessage/README.md Disallow: /composer/Plugin/Scaffold/README.md Disallow: /composer/Plugin/VendorHardening/README.txt Disallow: /composer/Template/README.txt Disallow: /modules/README.txt Disallow: /sites/README.txt Disallow: /themes/README.txt Disallow: /web.config # Paths (clean URLs) Disallow: /admin/ Disallow: /comment/reply/ Disallow: /filter/tips Disallow: /node/add/ Disallow: /search/ Disallow: /user/register Disallow: /user/password Disallow: /user/login Disallow: /user/logout Disallow: /media/oembed Disallow: /*/media/oembed # Paths (no clean URLs) Disallow: /index.php/admin/ Disallow: /index.php/comment/reply/ Disallow: /index.php/filter/tips Disallow: /index.php/node/add/ Disallow: /index.php/search/ Disallow: /index.php/user/password Disallow: /index.php/user/register Disallow: /index.php/user/login Disallow: /index.php/user/logout Disallow: /index.php/media/oembed Disallow: /index.php/*/media/oembed # --------------------------------------------------------------------------- # Crawler controls (added 2026-08-18) # # Bots were following the "add to comparison" flag links and the faceted # search permutations. Each hit created an anonymous session plus a `flagging` # row, which inflated the table to 218k rows and drove sustained MariaDB CPU # load. The rules below close both entry points. # # NOTE: a crawler obeys only ONE User-agent group - the most specific one that # matches it. Rules are NOT inherited from "*", so the groups further down # repeat what they need. # --------------------------------------------------------------------------- # Flag actions are state-changing links and must never be crawled. Disallow: /flag/ Disallow: /*/flag/ Disallow: /index.php/flag/ # Comparison pages are per-session and have no stable content to index. Disallow: /comparison Disallow: /*/comparison # Faceted search: filter permutations are an effectively infinite URL space. Disallow: /*?*f%5B Disallow: /*?*f[ Disallow: /*?*c= Disallow: /*?*compare= # Locale-prefixed variants of the core paths above (site uses /us/en, /de/de, ...). Disallow: /*/admin/ Disallow: /*/search/ Disallow: /*/user/register Disallow: /*/user/password Disallow: /*/user/login Disallow: /*/user/logout Disallow: /*/comment/reply/ Disallow: /*/node/add/ Crawl-delay: 10 # AI training / scraping crawlers - no crawl budget allocated. User-agent: GPTBot User-agent: OAI-SearchBot User-agent: ChatGPT-User User-agent: ClaudeBot User-agent: anthropic-ai User-agent: Claude-Web User-agent: CCBot User-agent: Bytespider User-agent: meta-externalagent User-agent: FacebookBot User-agent: PerplexityBot User-agent: Applebot-Extended User-agent: Google-Extended User-agent: Diffbot User-agent: Omgilibot Disallow: / # SEO / audit crawlers - allowed, but throttled and kept off the expensive paths. User-agent: AhrefsBot User-agent: AhrefsSiteAudit User-agent: SemrushBot User-agent: PetalBot User-agent: MJ12bot User-agent: DotBot User-agent: DataForSeoBot User-agent: BLEXBot User-agent: Sogou web spider Crawl-delay: 30 Disallow: /flag/ Disallow: /*/flag/ Disallow: /comparison Disallow: /*/comparison Disallow: /*?*f%5B Disallow: /*?*f[ Disallow: /*?*c= Disallow: /*?*compare= Disallow: /admin/ Disallow: /*/admin/ Disallow: /*/user/ Disallow: /core/ Disallow: /profiles/