Opens in a new tabSkip to content
Agent LighthouseAgent Lighthouse

    Searches the text of every published page. The evidence sources themselves are not in this index — search all of them on the trusted sources page.

    GitHub ↗
    Browse checks and page contents
    machine-discovery/sitemap-lastmod-verifiability

    Sitemap lastmod values are verifiable against the pages

    What it checks

    Cross-validates every sampled sitemap <lastmod> against three independent page-level modification signals and scores agreement, rather than merely reporting that lastmod exists. Detects the two dominant failure modes: build-stamped lastmod (every URL updated on every deploy) and frozen lastmod (CMS never updates it).

    Why it matters

    Google states it uses <lastmod> ‘if it’s consistently and verifiably (for example by comparing to the last modification of the page) accurate’. lastmod is therefore a conditional signal, which engines silently discard on divergence. It is also the only freshness hint a pull-based AI crawler gets from a sitemap. Falsifiable claim: if sampled lastmod values disagree with all available page-level evidence (HTTP Last-Modified, JSON-LD dateModified, article:modified_time) for a material fraction of URLs, the sitemap’s freshness channel is inert and re-crawl scheduling degrades to organic rediscovery.

    A recent cluster of lastmod values is consistent with a build stamp only when page dates also disagree. A batch of genuine edits can produce the same cluster. The distribution alone proves no defect. A lastmod in the future relative to crawl time is invalid.

    Evidence

    • Build and submit a sitemap — Google Search Central (vendor-doc, URL verified 2026-08-20)
    • Direct quote: ‘Google uses the <lastmod> value if it’s consistently and verifiably (for example by comparing to the last modification of the page) accurate.’ The value ‘should reflect the date and time of the last significant update to the page… an update to the copyright date is not [significant].’ priority and changefreq are ignored. The limit per sitemap file is 50MB uncompressed and 50,000 URLs.
    • Sitemaps XML format — protocol — sitemaps.org (spec, URL verified 2026-08-20)
    • lastmod must be W3C Datetime (YYYY-MM-DD or full timestamp). Path-scope rule. A sitemap at /catalog/sitemap.xml may only list URLs under /catalog/. All URLs must share protocol and host with the sitemap. A file is capped at 50,000 URLs and 50MB (52,428,800 bytes). An index file is capped at 50,000 sitemaps, and may only reference sitemaps on the same site.

    Limits

    Only pages the audit read enter the comparison. A sampled page that was not sent, timed out, failed in transport or answered with a status other than 200 has no page dates to read, so it is reported as not read, never as a page that publishes no modification time. When part of the sample is not read and the read part shows no defect, the audit returns not applicable with incomplete coverage. Future-dated and malformed lastmod values come from the sitemap itself and are reported either way.

    How it scores

    Tier per evidence policy: scored — grade A meets the A/B bar required for scored audits.

    Example finding

    A Hugo site regenerates every page on each deploy, so sitemap.xml lists 4,000 URLs all with lastmod=2026-08-19T04:11:00Z. The JSON-LD dateModified on those pages ranges from 2019 to 2026. Google and every pull crawler downweight the sitemap’s lastmod entirely. A genuinely revised pricing page published 2026-08-18 therefore gets no priority over 4,000 unchanged archive pages, and is re-fetched weeks later. Meanwhile the site owner’s SEO tool reports ‘100% of URLs have lastmod’ as a pass.

    Sources