Keep the status page out of search: allow the crawl, send noindex #272

Merged
cruelacid merged 1 commit from worktree-nec-237-status-noindex into main 2026-10-07 14:09:08 +01:00
Owner

Task: NEC-237

Search Console reported status.nectenda.com as "Indexed, though blocked by robots.txt". Uptime Kuma answers robots.txt with Disallow: /, and every nectenda.com footer links to the status page. Google indexed the bare URL from those links without fetching the page, so it never saw a noindex.

deploy/ops/Caddyfile, status host only:

  • Caddy answers /robots.txt itself with Allow: /.
  • Every response carries X-Robots-Tag: noindex.
  • Everything else still goes to Kuma, unchanged.

Checked by running the block in a local Caddy against a stub upstream whose own robots.txt is Disallow. / and /api/x reach the stub with the header, and /robots.txt returns Caddy's Allow: /.

Merging does not deploy it. The ops Caddyfile reaches the host only at provisioning, so after merging it has to be copied to /srv/ops/Caddyfile by hand and Caddy reloaded.

Changelog

NONE

🤖 Generated with Claude Code

https://claude.ai/code/session_01StURdiv33xnMfE2XRyg8Lt

Task: NEC-237 Search Console reported status.nectenda.com as "Indexed, though blocked by robots.txt". Uptime Kuma answers `robots.txt` with `Disallow: /`, and every nectenda.com footer links to the status page. Google indexed the bare URL from those links without fetching the page, so it never saw a noindex. `deploy/ops/Caddyfile`, status host only: - Caddy answers `/robots.txt` itself with `Allow: /`. - Every response carries `X-Robots-Tag: noindex`. - Everything else still goes to Kuma, unchanged. Checked by running the block in a local Caddy against a stub upstream whose own robots.txt is `Disallow`. `/` and `/api/x` reach the stub with the header, and `/robots.txt` returns Caddy's `Allow: /`. **Merging does not deploy it.** The ops Caddyfile reaches the host only at provisioning, so after merging it has to be copied to `/srv/ops/Caddyfile` by hand and Caddy reloaded. ## Changelog NONE 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01StURdiv33xnMfE2XRyg8Lt
Keep the status page out of search: allow the crawl, send noindex
All checks were successful
Release note / release-note (pull_request) Successful in 20s
CI / build (pull_request) Successful in 5m38s
CI / e2e (pull_request) Successful in 9m31s
CI / promote (pull_request) Has been skipped
CI / build (push) Successful in 5m37s
CI / e2e (push) Successful in 9m19s
CI / promote (push) Successful in 32s
f208e5f49b
Search Console reported status.nectenda.com as "Indexed, though blocked by
robots.txt". Uptime Kuma answers robots.txt with Disallow: /, every
nectenda.com footer links to the page, and Google indexes a disallowed URL
from its links alone, without ever fetching it, so it could never have seen
a noindex. Caddy now answers robots.txt for that host itself, allowing the
crawl, and adds X-Robots-Tag: noindex to every response.

Task: NEC-237

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01StURdiv33xnMfE2XRyg8Lt
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Nectenda/nectenda!272
No description provided.