Skip to content

fix(web): sauerdev.com sitemap copies in robots.txt, text and RSS sitemaps (web 0.62.3) - #615

Merged
kroqdotdev merged 2 commits into
mainfrom
fix/cross-site-sitemaps
Nov 5, 2026
Merged

kroqdotdev merged 2 commits into
mainfrom
fix/cross-site-sitemaps

Conversation

@kroqdotdev

@kroqdotdev kroqdotdev commented Nov 5, 2026 •

Copy link
Copy Markdown
Owner

Why

Google Search Console has never downloaded the sitemap of webhooks.cc or mailhooks.cc ("Couldn't fetch" for months). A check through the Search Console API on 2026-11-05 showed:

  • every sitemap entry on both properties is isPending: true with no lastDownloaded, ever;
  • a third .cc site of the same owner, behind the same proxy as sites that work, has the same state since April;
  • the owner's eight sites on other TLDs have their sitemaps downloaded within seconds of a submit (a control resubmit was read 4 s later).

Copies of both sitemaps served from sauerdev.com (same owner, verified in the same Search Console account) were downloaded within seconds and accepted with 0 errors once the owner submitted them under that property. Those copies are refreshed from the live sitemaps every 6 hours, outside this repo.

What

  • public/robots.txt (webhooks.cc) and the mailhooks.cc robots route each add a second Sitemap: line for their sauerdev.com copy. This is the cross-site permission the sitemaps protocol describes, so the copies do not rely on Search Console ownership alone. The own-domain sitemaps stay listed for Bing and other crawlers.
  • Indexing is per URL, so the pages still belong to the webhooks.cc and mailhooks.cc properties; the sauerdev.com property only shows the sitemap status.
  • Both sites also serve their sitemap as plain text (/sitemap.txt, one URL per line) and as RSS 2.0 (/sitemap.rss, <link> and <pubDate> per page), the two other formats Google accepts, listed in robots.txt too. The experiment: submit them on the .cc properties and see whether Google's fetcher downloads either where it never downloads the XML. The URL lists move into lib/sitemap.ts, so all three formats list exactly the same URLs; the mail host gets the new paths through its host rewrites, and the proxy matcher skips them like sitemap.xml.
  • Web 0.62.3 with a changelog entry.

Checks

  • tsc --noEmit (no source errors), eslint and prettier on the changed files, lib/changelog.test.ts.
  • New unit tests: the text and RSS sitemaps list exactly the XML sitemap's URLs, on both sites.
  • Dev server with both hosts: all six sitemaps answer 200 with application/xml, text/plain and application/rss+xml; 137 and 21 URLs in every format.
  • After deploy: curl https://webhooks.cc/robots.txt and https://mailhooks.cc/robots.txt should show every Sitemap: line, and /sitemap.txt and /sitemap.rss answer 200 on both hosts.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features
    • Search engine instructions now list additional sitemap locations for the webhooks and mailhooks sites, making sitemap copies hosted on sauerdev.com discoverable.
  • Documentation
    • The app changelog now includes an entry describing the sitemap updates.
  • Chores
    • The web app version has been updated to 0.62.3.

…2.3)

Google has never downloaded a sitemap hosted on a .cc domain for us
(webhooks.cc, mailhooks.cc, and another .cc site of the same owner), while
it reads sitemaps on the owner's other domains within seconds of a submit.
A copy of each sitemap is now served from sauerdev.com and accepted there.
Listing those copies in each site's robots.txt is the cross-site
permission the sitemaps protocol asks for, so the copies count without
relying on Search Console ownership alone. The own-domain sitemaps stay
listed for other crawlers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

Explain Change →

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 879e6d6d-728c-404c-9c74-e78139adefba

No actionable comments were generated in the recent review.

Walkthrough

The mailhooks and webhooks robots.txt responses now list sitemap copies hosted on sauerdev.com. The web app version changes to 0.62.3, with a changelog entry dated 2026-11-05.

Changes: Sitemap discovery

Layer / File(s) Summary
Add sitemap entries and release metadata
apps/web/app/mailhooks/robots.txt/route.ts, apps/web/public/robots.txt, apps/web/lib/changelog.ts, apps/web/package.json
Both robots.txt responses list a sauerdev.com sitemap URL alongside the existing sitemap entry. The changelog and package version are updated to 0.62.3.

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Possibly related PRs

Merge Risk: Minimal · previous review 06cb5

The sitemap additions preserve existing crawler discovery behavior. No merge-blocking issue is identified; the proposed post-deployment robots.txt checks remain appropriate.

Pre-merge checks: Passed 5

Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Title check Passed The title names the sauerdev.com sitemap copies in robots.txt, which is the core of the changeset. It also names the text and RSS sitemaps, which the provided summaries and objectives do not mention. …
Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 2 files. (2 skipped: 2 unsupported.)

Full details: Title check

Explanation

The title names the sauerdev.com sitemap copies in robots.txt, which is the core of the changeset. It also names the text and RSS sitemaps, which the provided summaries and objectives do not mention. The title is specific and identifies the primary change. The omission of the text and RSS sitemap parts is a scope mismatch that the reviewer should confirm.

Finishing Touches

Generate docstrings

  • Commit to this branch
  • Create a new PR
Generate unit tests (beta)

  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

Recent review info

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 85a7e30e-16b7-4443-81f8-a03f1ccb66fd
Commits

Reviewing files that changed from the base of the PR and between b09ff7f and 06cb58f.

Files selected for processing: 4

  • apps/web/app/mailhooks/robots.txt/route.ts
  • apps/web/lib/changelog.ts
  • apps/web/package.json
  • apps/web/public/robots.txt

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

@kroqdotdev

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@github-actions

github-actions Bot commented Nov 5, 2026

Copy link
Copy Markdown

⚠️ Deprecation Warning: The deny-licenses option is deprecated for possible removal in the next major release. For more information, see issue 997.

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@coderabbitai

coderabbitai Bot commented Nov 5, 2026 •

Copy link
Copy Markdown
Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Google's sitemap fetcher has never downloaded the XML sitemap on our .cc
domains. It also accepts a plain text list of URLs and an RSS 2.0 feed, so
both sites now serve the same URLs at /sitemap.txt and /sitemap.rss as well,
listed in robots.txt, to see whether either format is fetched where the XML
one is not. The URL lists move into lib/sitemap.ts so the three formats can
never disagree.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kroqdotdev kroqdotdev changed the title fix(web): list the sauerdev.com sitemap copies in robots.txt (web 0.62.3) fix(web): sauerdev.com sitemap copies in robots.txt, text and RSS sitemaps (web 0.62.3) Nov 5, 2026
@kroqdotdev

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Nov 5, 2026 •

Copy link
Copy Markdown
Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@kroqdotdev
kroqdotdev merged commit 7c18add into main Nov 5, 2026
28 checks passed
@kroqdotdev
kroqdotdev deleted the fix/cross-site-sitemaps branch November 5, 2026 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant