################################################################ # # robots.txt for SCRAPBOOK.COM # # Reviewed: 8/26/2026 | Owner: Greg | Review quarterly with # /llms.txt and /skill.md. Full rationale, open decisions, and # related engineering tickets: Jira SB-2366. # # AI POSTURE: citations yes, training no. Retrieval and user-triggered # fetchers are allowed so Scrapbook.com appears in AI answers with links. # Training crawlers are declared off-limits via Content-Signal AND blocked # by name below. Decided 8/26/2026; revisit quarterly. # # Terms of Service: https://www.scrapbook.com/pages/terms # # Agent resources: # /llms.txt site index for AI # /.well-known/skills/default/skill.md agent guide (alias: /skill.md) # # Checkouts are for humans. Do not complete checkout, payment, or order # placement automatically. Agents may browse, search, and recommend; a # human completes sign-in and payment. # # BEFORE EDITING - four rules that prevent expensive mistakes: # # 1. Paths are PREFIX matches. "Disallow: /myplace" already covers # /myplace/index.php?mod=anything. A trailing * does nothing. # # 2. A named User-agent group REPLACES the * group for that bot. Groups # are never merged. Any named bot must carry its own copy of every # rule it needs or it can crawl everything. The previous Pinterest # and AhrefsBot groups nullified every Disallow for years this way. # Keep named groups to a minimum. # # 3. NEVER add "Disallow: /products". That path also serves product # imagery under /products/cache/. A blanket rule would delist the # catalog from Google Images and Pinterest. # # 4. NEVER block /forums/ (plural) or /blog/. Both are retired paths # serving 301s to /forum/ and /articles/. Blocking them stops # crawlers following the redirects and discards the link equity. # # This file is open-by-default: it blocks specific unbounded spaces and # thin pages rather than allowlisting known bots. New crawlers launch # constantly and should fail toward visibility. Indexation and crawl depth # are controlled by canonical tags and meta robots in the application, # not here. Sensitive paths are deliberately absent - robots.txt is public # and admin routes are protected by auth and Cloudflare. # # PREREQUISITE - Cloudflare settings can override this file entirely. Two # separate things to check (dashboard > Security > Settings > Bot traffic): # # a) "Managed robots.txt" must be OFF, or Cloudflare PREPENDS its own # content to this file and contradicts the policy below. # # b) AI traffic categories (Search / Agent / Training). robots.txt is a # request; these settings are enforcement, and they win. Do NOT block # the Training category here, and do NOT enable legacy "Block AI # bots": as of 2026-09-15 Cloudflare blocks multi-purpose crawlers by # ALL their behaviors, so blocking Training also blocks GOOGLEBOT, # BINGBOT, and APPLEBOT. Express the no-training preference in # robots.txt (below), not in the Cloudflare category setting. # Also do NOT block the Agent category - that is ChatGPT-User, # Claude-User, and other citation-producing fetchers. # ################################################################ Sitemap: https://www.scrapbook.com/sitemap.xml # --------------------------------------------------------------- # All crawlers # --------------------------------------------------------------- User-agent: * # Declares permitted USE after access; blocks nothing on its own and is # honored only voluntarily. This is a public statement of terms - the # enforceable half is the named training-crawler group further down. Keep # the two consistent. # search=yes index and rank us, linking back to the source # ai-input=yes may be used for retrieval, grounding, and live AI # answers - this is how citations happen # ai-train=no may not be absorbed into model weights # use=reference Cloudflare's newer content-use extension # Cloudflare leaves ai-input unset in its managed default because it will # not guess; we set it deliberately. Omitting a signal reads as neutral, # not as permission. Content-Signal: search=yes,ai-input=yes,ai-train=no,use=reference Allow: / ## Cloudflare edge paths (never reach our origin; not in our codebase) Disallow: /cdn-cgi/ ## Store - filter, sort, and search space # /f/ marks querystring filters and appears at whatever depth the taxonomy # path ends. Everything behind it (sort, search, color, price, size, # clearance, comingsoon, overflow taxonomy values) is unbounded and has no # search value. Taxonomy paths WITHOUT /f/ stay crawlable - money pages. # The two Allow lines are the only nav-linked, sitemapped filter URLs; # ?clearance=1 is also published in /llms.txt. $ matches these exact URLs # only - removing the anchors reopens the whole filter space. ($ is a # Google/Bing extension; other crawlers may block Bestsellers instead.) Allow: /store/f/$ Allow: /store/f/?clearance=1$ Disallow: /store/f/ Disallow: /store/*/f/ # Nav-linked but not sitemapped; uncomment to allow: # Allow: /store/f/?comingsoon=1$ ## Cart (also covers ?favorite=1 and ?wishlist=1) Disallow: /store/cart.php ## Authentication # The bare login page stays crawlable - "scrapbook.com login" is a real # branded query. Only the parameterized form is blocked, where the waste # lives: every page links to /login.php?auto=1&r=. Disallow: /login.php? Disallow: /logout Disallow: /signup ## Account and personalized surfaces Allow: /myplace/images/ Disallow: /myplace Disallow: /dm Disallow: /orders ## Product form endpoints (one thin URL per SKU each, ~3x catalog size) Disallow: /products/subscribe.php Disallow: /products/review.php Disallow: /products/questions.php ## Gallery # Browsing, categories, and project pages stay crawlable. Search is an # unbounded query space; human-initiated fetchers are exempted below so # agents can still search on a person's behalf. Disallow: /gallery/upload.php Disallow: /gallery/?s= ## Forum action endpoints (threads stay crawlable - long-tail content) # VERIFY these resolve under /forum/; they previously pointed at /forums/ # and matched nothing. Trap set not yet complete: add reply, quote, # report, forum search, and member list endpoints once identified. Disallow: /forum/printpost.php Disallow: /forum/emailpost.php Disallow: /forum/newpost.php Disallow: /forum/editpost.php ## Member profiles - deliberately NOT blocked # Thin pages, but every PDP review links to one, so Google finds them # regardless. Blocked + heavily linked produces "No information is # available for this page," which is worse. Fix is noindex,follow in the # application. /places/{username} is a duplicate form needing canonicals, # not a block. See SB-2366. # --------------------------------------------------------------- # Google AdsBot - ignores the * group by design, must be named. # Minimal on purpose: Shopping and PMax landing pages must stay reachable # or products get disapproved ("Destination not working"). Filter space is # NOT blocked here - PMax may use filtered URLs as destinations. # Drop this group if we do not run Google Ads. Verify tokens against # Google's docs and confirm Cloudflare is not challenging AdsBot (it uses # a different IP range than Googlebot). # --------------------------------------------------------------- User-agent: AdsBot-Google User-agent: AdsBot-Google-Mobile Allow: / Disallow: /cdn-cgi/ Disallow: /store/cart.php Disallow: /login.php? Disallow: /logout Disallow: /signup Disallow: /myplace Disallow: /dm Disallow: /orders Disallow: /products/subscribe.php Disallow: /products/review.php Disallow: /products/questions.php Disallow: /gallery/upload.php # --------------------------------------------------------------- # Human-initiated single-URL fetchers # Not crawlers: each fetches one URL because a person asked for it or # shared it, so the filter and search restrictions above do not apply. # This is what makes the search patterns in /skill.md work for agents # while indexing crawlers stay out of that space. # A wrong token name here costs search access only, not the site. # --------------------------------------------------------------- User-agent: ChatGPT-User User-agent: Claude-User User-agent: Perplexity-User User-agent: facebookexternalhit User-agent: Twitterbot User-agent: LinkedInBot User-agent: Slackbot-LinkExpanding User-agent: Discordbot Allow: / Disallow: /cdn-cgi/ Disallow: /store/cart.php Disallow: /login.php? Disallow: /logout Disallow: /signup Disallow: /myplace Disallow: /dm Disallow: /orders Disallow: /gallery/upload.php # --------------------------------------------------------------- # AI TRAINING CRAWLERS - BLOCKED # # Posture: citations yes, training no. These tokens are training-only and # are documented as honored by their vendors, so these rules work. # # Google-Extended and Applebot-Extended are control tokens, not crawlers - # they will never appear in access logs. Blocking them is the only way to # express the opt-out, and neither affects Google Search rankings or Siri # and Spotlight results. # # DO NOT add retrieval or user-triggered tokens to this group. Blocking any # of these removes us from AI answers, the opposite of the intent: # OAI-SearchBot, ChatGPT-User (OpenAI) # Claude-SearchBot, Claude-User (Anthropic) # PerplexityBot, Perplexity-User (Perplexity) # Applebot (Apple search - NOT -Extended) # Bingbot (also grounds Microsoft Copilot) # DuckAssistBot (DuckDuckGo AI answers) # Amazonbot (Alexa / Rufus shopping answers) # MistralAI-User, Meta-ExternalFetcher, Google-NotebookLM # These are unnamed elsewhere in this file and inherit the * group on # purpose. Amazonbot in particular is classified inconsistently by third # parties; left allowed deliberately, since Rufus surfaces product answers. # # User-agent matching is case-insensitive, so one spelling per token is # enough. Verify names against vendor docs each quarterly review; a # retired or renamed token silently stops applying. # --------------------------------------------------------------- User-agent: GPTBot User-agent: ClaudeBot User-agent: Google-Extended User-agent: Applebot-Extended User-agent: CCBot User-agent: meta-externalagent User-agent: FacebookBot Disallow: / # --------------------------------------------------------------- # Non-compliant crawlers # Bytespider has a documented history of ignoring robots.txt, so this rule # is a statement of intent only and MUST be enforced at Cloudflare - as # must anything spoofing a known user-agent, since only the edge can # verify identity by IP range. # --------------------------------------------------------------- User-agent: Bytespider Disallow: / # --------------------------------------------------------------- # Deliberate omissions - do not "fix" these # # NO Crawl-delay. Google ignores it, Pinterest caps it at 1s, and rate # control belongs at Cloudflare. Pinterest is a major craft-traffic source # and should not be slowed. # # NO Disallow rules for AI RETRIEVAL crawlers (OAI-SearchBot, # Claude-SearchBot, PerplexityBot, Applebot). They inherit the * group, # which is correct: they may index everything Googlebot may, and have no # more business in the unbounded filter space than Googlebot does. These # are how citations happen - leave them alone. Training crawlers are a # separate, blocked group above. # # NO named Googlebot / Bingbot / Slurp / DuckDuckGo groups - they inherit # * correctly, and every named group is a rule we can forget (rule 2). # # NO tracking or session parameter rules. Those create duplicates, not # unbounded spaces, and canonical tags are the right fix - a blocked URL # cannot pass link signals anywhere. # --------------------------------------------------------------- ################################################################ # End of robots.txt ################################################################ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...........@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..........................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@............@@@@@@@@@@@@@@@...........@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@............@@@@@@@@@@@@@@@@@@@@..........@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@............@@@@@@@@@@@@@@@@@@@@@@@...........@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...........@@@@@@@@@@@@@@@@@@@@@@@@@@............@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...........@@@@@@@@@@@@@@@@@@@@@@@@@@@@@............@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@............@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.............@@@@@@@@@@@@@@@@@@@@@@@@@@@@............@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.............@@@@@@@@@@@@@@@@@@@@@@@@@@@............@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..............@@@@@@@@@@@@@@@@@@@@@@@@@...........@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..............@@@@@@@@@@@@@@@@@@@@@@@@..........@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@................@@@@@@@@@@@@@@@@@@@@@.....@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@......................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.......................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@........................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@........................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.......................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.......................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@......................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@......@@@@@@@@@@@@@@@@@@@@@@@@@@...................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..........@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...........@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@.............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@..............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@..............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@...............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@...............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@...............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@................@@@@@@@@@@@@@@@@@@@@@@@@@@@..............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@................@@@@@@@@@@@@@@@@@@@@@@...............@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..................@@@@@@@@@@@@@@................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...........................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@