Skip to content

fix(indexmap): harden sitemap pinging and indexnow key handling#7

Merged
fidalgo merged 1 commit into
mainfrom
harden-indexnow
Apr 23, 2026
Merged

fix(indexmap): harden sitemap pinging and indexnow key handling#7
fidalgo merged 1 commit into
mainfrom
harden-indexnow

Conversation

@fidalgo
Copy link
Copy Markdown
Contributor

@fidalgo fidalgo commented Apr 23, 2026

Summary

Tighten correctness, determinism, and operability across the sitemap pinging flow.

Changes

IndexNow:

  • enforce 32-character lowercase hex keys for configured and discovered keys
  • reject key files whose contents do not exactly match the filename
  • stop accepting trailing newlines in key files
  • generate new keys in strict hex format
  • make existing key-file reuse deterministic by sorting candidates
  • include keyLocation in submission payloads when derivable
  • return structured ping results and print explicit rake task output

Google:

  • require exact Search Console property matches instead of substring matching
  • memoize accessible site authorization checks to avoid repeated list_sites calls
  • return structured ping results and print explicit rake task output
  • downgrade unauthorized access logging to debug to keep test output clean

Writer:

  • stop falling back to Time.now for sitemap index lastmod values
  • omit section lastmod when entries do not provide one, keeping output deterministic

How to test

Release notes

Does this change need an explicit changelog or release-note callout beyond the PR title?

Checklist

  • PR title is a Conventional Commit and suitable for squash merge
  • Tests added/updated (if applicable)
  • Docs updated (if applicable)
  • I kept changes focused and easy to review
About the maintainers

Built by Ethos Link, the team behind Reviato.
Capture. Interpret. Act.
Turn guest feedback into clear next steps for your team. Collect private appraisals, spot patterns across reviews, and act before small issues turn into public ones.

Tighten correctness, determinism, and operability across the sitemap
pinging flow.

IndexNow:
- enforce 32-character lowercase hex keys for configured and discovered keys
- reject key files whose contents do not exactly match the filename
- stop accepting trailing newlines in key files
- generate new keys in strict hex format
- make existing key-file reuse deterministic by sorting candidates
- include keyLocation in submission payloads when derivable
- return structured ping results and print explicit rake task output

Google:
- require exact Search Console property matches instead of substring matching
- memoize accessible site authorization checks to avoid repeated list_sites calls
- return structured ping results and print explicit rake task output
- downgrade unauthorized access logging to debug to keep test output clean

Writer:
- stop falling back to Time.now for sitemap index lastmod values
- omit section lastmod when entries do not provide one, keeping output deterministic
@fidalgo fidalgo merged commit 002089e into main Apr 23, 2026
4 checks passed
@fidalgo fidalgo deleted the harden-indexnow branch April 23, 2026 11:06
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