# Life K-Line — robots.txt # #88: /my and /archives expose personal account/chart surfaces; /feedback is # not a public landing page. Prefix rules also cover their nested paths. # These directives control voluntary crawling, not authorization or noindex. # /chat stays crawlable: it is a public, prerendered landing page; authentication # is required when sending a message, not when viewing the page. # /private/ was removed in #88 because no such route or static directory existed. # Artifact tests independently check the approved UA roster, personal exclusions, # all prerendered routes and all sitemap URLs (including the unknown-UA default). # Longest matching path wins: Disallow /my takes precedence over Allow /. # #40 decision: public content stays discoverable in search and AI search. # Google-Extended remains allowed for Gemini grounding; the owner accepts that # the same control also permits the associated training use. This is not a # promise of inclusion/citation. Decision and acceptance contract: # https://github.com/yifengingit/lifekline-worker/issues/40#issuecomment-6185481792 # Named agents share the default group's restrictions: a separate Allow-only # group would override (not inherit) the personal-page restrictions below. User-agent: * User-agent: Googlebot User-agent: Bingbot User-agent: Baiduspider User-agent: Sogou web spider User-agent: 360Spider User-agent: Yandex User-agent: Applebot User-agent: OAI-SearchBot User-agent: Claude-SearchBot User-agent: Google-Extended Allow: / # No blank line between these and the Allow above: RFC 9309 says empty lines are # ignored, but a blank line inside a group has historically been read by some # parsers as end-of-record, which would leave these three rules attached to no # user-agent at all — present in the file and enforced by nobody. Disallow: /my Disallow: /archives Disallow: /feedback # `Disallow: /private/` was removed 2026-09-09 (#88). It was this file's only # Disallow and it matched nothing at all — no path="/private…" in App.tsx, no # private/ directory in public/ or dist/, no such route on the server. It read # like protection and provided none. Re-check: # grep -c 'path="/private' client/src/App.tsx # → 0 # These four opt-outs are voluntary crawling directives, not access controls. # Unknown crawlers (including SEO tools) retain the default public-page access. User-agent: GPTBot User-agent: ClaudeBot User-agent: CCBot User-agent: Bytespider Disallow: / Sitemap: https://lifeklines.com/sitemap.xml