# BreakReady — www.breakreadyapp.com # # robots.txt is a request, not a control. Well-behaved crawlers honour it; # a scraper written to copy this site will ignore it entirely. It is here to # handle the compliant majority and to keep private surfaces out of search # indexes. The camp catalogue is protected by /api/camps and RLS, not by this # file. See LICENSE and /terms for the part that has legal weight. # --------------------------------------------------------------------------- # AI TRAINING CRAWLERS — blocked # # These collect pages to train models. Nothing comes back the other way: no # referral, no citation, no visitor. The camp catalogue took months to build # by hand and there is no reason to donate it to a training set. # --------------------------------------------------------------------------- User-agent: GPTBot User-agent: ClaudeBot User-agent: anthropic-ai User-agent: Claude-Web User-agent: CCBot User-agent: Google-Extended User-agent: Applebot-Extended User-agent: Bytespider User-agent: Amazonbot User-agent: meta-externalagent User-agent: FacebookBot User-agent: cohere-ai User-agent: Diffbot User-agent: ImagesiftBot User-agent: Omgilibot User-agent: Timpibot User-agent: AI2Bot User-agent: Scrapy User-agent: magpie-crawler Disallow: / # --------------------------------------------------------------------------- # ANSWER ENGINES — deliberately ALLOWED # # These fetch a page because a person just asked a question it might answer, # and they cite the source. A parent typing "camps in Carlsbad over fall break" # into ChatGPT or Perplexity is exactly the visitor /camps exists for, and # blocking these would cut off a discovery channel to prevent a copy that the # training-crawler block above already covers. # # This is a judgement call, not a default. Flip these to Disallow if the # catalogue ever starts showing up reproduced somewhere it shouldn't. # --------------------------------------------------------------------------- User-agent: OAI-SearchBot User-agent: ChatGPT-User User-agent: PerplexityBot User-agent: Perplexity-User User-agent: Claude-User User-agent: YouBot Disallow: /admin Disallow: /api/ Allow: /api/camps Allow: /api/breaks Disallow: /family Disallow: /kid-planner Disallow: /logistics Disallow: /notifications Disallow: /reassign Disallow: /schedule-update-form Disallow: /share Disallow: /summer-ahead Disallow: /fall-ahead Disallow: /carpool Disallow: /pushtest Disallow: /camps_demo_2026 # --------------------------------------------------------------------------- # EVERYONE ELSE, INCLUDING GOOGLE AND BING # # /camps and /for-camps are the SEO surfaces and stay open. Everything token- # gated stays out of the index: those URLs carry a family's identity, and a # token that lands in search results is a token anyone can use. # # /api/ is closed with two deliberate exceptions. /camps renders its list from # a client-side fetch, so a crawler blocked from /api/camps would index the # page as an empty shell — closing the whole prefix would quietly wreck the # ranking of the one page built to rank. Allow beats Disallow on longest match # in both Google and Bing. # --------------------------------------------------------------------------- User-agent: * Disallow: /admin Disallow: /api/ Allow: /api/camps Allow: /api/breaks Disallow: /family Disallow: /kid-planner Disallow: /logistics Disallow: /notifications Disallow: /reassign Disallow: /schedule-update-form Disallow: /share Disallow: /summer-ahead Disallow: /fall-ahead Disallow: /carpool Disallow: /pushtest Disallow: /camps_demo_2026