docs: document sitemap timestamps for SEO metadata page#4608
docs: document sitemap timestamps for SEO metadata page#4608devin-ai-integration[bot] wants to merge 6 commits intomainfrom
Conversation
Co-Authored-By: bot_apk <apk@cognition.ai>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
Requested by: devin |
|
🌿 Preview your docs: https://fern-preview-devin-1774647679-document-sitemap-lastmod.docs.buildwithfern.com/learn Here are the markdown pages you've updated: |
…, clean up implementation details Co-Authored-By: bot_apk <apk@cognition.ai>
Co-Authored-By: bot_apk <apk@cognition.ai>
|
|
||
| On each publish, the system: | ||
| 1. Resolves each page to its URL slug from the navigation tree. | ||
| 2. Computes a SHA-256 hash of each page's normalized markdown content. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[FernStyles.Acronyms] 'SHA' has no definition.
|
|
||
| Normalization strips whitespace, copyright symbols, and capitalization before hashing to avoid false-positive change detection from trivial formatting differences. | ||
|
|
||
| The sitemap route fetches stored slug data, builds a URL-to-timestamp lookup, and adds the timestamp to each sitemap XML entry. If no data exists for a domain yet, the sitemap omits timestamps gracefully rather than failing. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[FernStyles.Adverbs] Remove 'gracefully' if it's not important to the meaning of the statement.
| The sitemap route fetches stored slug data, builds a URL-to-timestamp lookup, and adds the timestamp to each sitemap XML entry. If no data exists for a domain yet, the sitemap omits timestamps gracefully rather than failing. | ||
| </llms-only> | ||
|
|
||
| ## Customize your SEO |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[FernStyles.Headings] 'Customize your SEO' should use sentence-style capitalization.
|
|
||
| ## Sitemap timestamps | ||
|
|
||
| Your sitemap entries now include a `<lastmod>` timestamp that's invisible to readers and used exclusively by search engines to prioritize crawling recently updated pages. Timestamps update only when a page's content actually changes — trivial formatting differences like whitespace or capitalization are ignored. This follows [Google's sitemap best practices](https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap). |
There was a problem hiding this comment.
[FernStyles.Current] Avoid time-relative terms like 'now' that become outdated
Summary
Documents the new sitemap timestamp feature (from fern-platform#8571) on the SEO metadata page.
Changes:
metadata.mdxexplaining that Fern automatically includes content-change timestamps insitemap.xml, following Google's sitemap best practices. No configuration required.last-updatedfrontmatter field (invisible SEO signal vs. visible page footer date).<llms-only>implementation details covering the two-table design, SHA-256 content hashing, normalization logic, and how the sitemap route consumes slug data — written without internal function/class names.Updates since last revision
<lastmod>mentions from user-facing content; describes the sitemap approach in general terms.<llms-only>implementation details to remove internal function names — now explains the mechanics without referencing specific code identifiers.last-updatedfrontmatter field, with a link to the page-level settings docs.Review & Testing Checklist for Human
last-updatedlink resolves correctly — this is a new cross-page link and the anchor must exist on the target pagelast-updated(manual frontmatter, visible footer) is accurate#sitemapanchor link in the changelog "Read the docs" button resolves correctly on the preview<llms-only>block is hidden from human readers on the rendered page but present in.md/llms.txtoutputTest plan: Open the SEO metadata preview page and verify the Sitemap section renders correctly at the bottom, including the
last-updatedlink. Then check the changelog preview and click the "Read the docs" button to confirm it navigates to the#sitemapanchor. Optionally, append.mdto the metadata page URL to confirm the<llms-only>content appears in the Markdown output.Notes
Link to Devin session: https://app.devin.ai/sessions/cde478bf74b4497baeeb0172498bc392