Direct answer: Paste homepage HTML, optionally with sitemap XML, and the tool extracts four “freshness signals” locally in the browser: the copyright year, the latest lastmod, dates for a target year on the page, and structured dates (meta, JSON-LD, <time>, visible “last updated”). It also flags field conflicts, for example a 2026 sitemap against a 2023 footer. No network, no crawling, no upload.
In the study-22 pilot only 3 of 25 homepages showed a 2026 copyright year, while 11 of 13 usable sitemaps carried a 2026 lastmod and 3 sites disagreed outright. This tool turns those parsing rules into something reusable, with the same boundaries.
Copyright year, lastmod, page dates, structured dates.
They show what the text says, not when content changed.
No network: only the pasted HTML and XML are analysed.
Tool: paste → check
The default example reports one conflict: the latest sitemap lastmod is 2026-10-28 while the footer says 2023, and it also finds article:modified_time and a 2026 date in the body. Change the footer to 2026 and the conflict disappears — but the tool still will not claim the site was updated, only that the fields now agree.
The four signals
| Signal | Source | Example | Why it is only a signal |
|---|---|---|---|
| Copyright year | A 20xx within 60 characters after a copyright marker | Copyright © 2023 | Often hard-coded or rendered from the current year |
| Latest lastmod | Maximum of all lastmod values in the sitemap | 2026-10-28 | A file field, auto-generated or left stale |
| Target-year date | Visible text after scripts and styles are removed | 2026年11月 | Any 2026 string counts, including events and specs |
| Structured date | meta, JSON-LD, <time>, visible “last updated” | dateModified | A CMS may write it automatically |
Three common conflicts
- New sitemap, old footer. lastmod 2026-10-28 against a 2023 copyright. The fields disagree; this does not prove the site is stale.
- New footer, old sitemap. Copyright 2026 while lastmod stops at 2024. The footer year may simply be a template.
- Page dates without a sitemap. Target-year dates hit but lastmod is empty; page dates remain a weak signal.
Why this cannot settle whether a site is maintained
- Copyright is a legal statement, not a modification time. It usually marks first publication or the current year.
- lastmod is a file field. It proves what the sitemap says, not that the page changed that day.
- A date string is not a content update. Events, news lists and specifications can all carry 2026.
- Structured dates can be generated. A single CMS save may refresh dateModified.
Boundaries
- No crawling: it analyses what you paste and knows nothing about status codes or headers.
- No truth check: string and format parsing only; dates are not verified.
- First copyright marker only: when a footer has several notices, the first in the document wins.
- No JavaScript execution: dates injected by scripts are invisible; paste rendered HTML if needed.
- Target year is adjustable: 2026 by default; change it for a later recheck.
Tests and reproduction
Logic lives in js/freshness-check.js (no dependencies, no network); scripts/test_freshness_check.js covers 70 assertions: five copyright forms, script/style/comment stripping, max of multiple lastmod values, three date formats, meta attribute order, <time>, visible “last updated”, JSON-LD, four conflict rules and the summary. Run:
node scripts/test_freshness_check.js
Related: the freshness-signal pilot (25 sites and definitions), the sitemap checker (structure and lastmod format), and the JSON-LD checker (dateModified fields).
Sources and definitions
- sitemaps.org protocol:
lastmoduses W3C Datetime: sitemaps.org. - schema.org
dateModified: schema.org. - Rules come from the study-22 freshness-signal pilot: method, 25-row anonymised CSV and 14 Python unit tests.