← Back to Blog

The Sitemap That Claims Every Page Was Updated Today — Fake-Fresh Detection

The Sitemap That Claims Every Page Was Updated Today — Fake-Fresh Detection

Sitemap <lastmod> is a freshness signal. Google uses it to prioritize crawl budget — recent lastmod = crawled sooner. The signal only works if the claim is true.

Plenty of sitemap generators produce lies. A plugin that emits "today" for every URL on every rebuild. A static-site generator that stamps the build timestamp, not the content-change timestamp. A CMS that fires a "touch all" on theme updates. When Google detects the lie — by cross-referencing Last-Modified headers and schema.dateModified — it stops trusting lastmod on the site entirely. Every page pays.

Sitemap lastmod Truthfulness does the cross-check. Fetches your sitemap. Probes each URL's server Last-Modified header and visible schema dateModified. Reports the truthfulness percentage.

The three data sources it compares

  1. Sitemap <lastmod> — what your sitemap claims.
  2. HTTP Last-Modified response header — what the server actually says.
  3. Schema dateModified — what the JSON-LD declares is visible on the page.

For a truthful sitemap, all three agree within a day or two. Drift of more than 30 days in the direction "sitemap claims newer than truth" is fake-fresh.

What drives fake-fresh patterns

  • Plugin defaults. Yoast SEO, All-in-One SEO, and RankMath for WordPress have had periods where "Update lastmod on every rebuild" was a default.
  • Static-site build timestamps. If your Eleventy / Next.js / Astro build emits the build time as lastmod, every deploy touches every URL even when content is unchanged.
  • Theme-level "touch all." Some platforms refresh all URLs when a theme or template file changes, even though actual page content didn't.

The fix

The fix depends on the CMS. For WordPress-plus-SEO-plugin: flip the "use post modified date" option; the default should have been that in the first place. For static-site: use the content file's git commit timestamp as lastmod, not the build time. For custom: expose an admin tool that edits lastmod only when actual content fields change.

For the small subset of URLs that are legitimately stale (old blog posts), either remove them from the sitemap or accept that they will show an old lastmod. Old-but-accurate beats fake-new.

Related reading

Fact-check notes and sources


The $100 Network covers sitemap hygiene across site networks. The truthfulness check is the monthly audit.

← Back to Blog

Accessibility Options

Text Size
High Contrast
Reduce Motion
Reading Guide
Link Highlighting
Accessibility Statement

J.A. Watte is committed to ensuring digital accessibility for people with disabilities. This site conforms to WCAG 2.1 and 2.2 Level AA guidelines.

Measures Taken

  • Semantic HTML with proper heading hierarchy
  • ARIA labels and roles for interactive components
  • Color contrast ratios meeting WCAG AA (4.5:1)
  • Full keyboard navigation support
  • Skip navigation link
  • Visible focus indicators (3:1 contrast)
  • 44px minimum touch/click targets
  • Dark/light theme with system preference detection
  • Responsive design for all devices
  • Reduced motion support (CSS + toggle)
  • Text size customization (14px–20px)
  • Print stylesheet

Feedback

Contact: jwatte.com/contact

Full Accessibility StatementPrivacy Policy

Last updated: April 2026