Dates on content pages
What it checks
One freshness question per content page, scored once: can a date extractor date this page, and can it tell how current it is?
| State | Result |
|---|---|
a modification date — JSON-LD dateModified, article:modified_time / og:updated_time, a <time> carrying an “updated/modified/revised” label, or that wording beside a parseable date in the text |
pass |
a publication date only — <time datetime>, JSON-LD datePublished/uploadDate/dateCreated, article:published_time, a bare <time>, or a visible date pattern |
warn (0.5), priority low |
| neither, on any scanned content page | fail, priority medium |
| no article content page scanned | na |
The update signal wins wherever it is found: every content page is checked for one before the first publication-only date is reported.
Why it matters
A content page carrying a machine-readable date yields a byline date to Google’s date extractor and to the htmldate and trafilatura extraction stack. That date can be a <time datetime> element, datePublished or dateModified in JSON-LD, an article:published_time meta tag, or a clearly labeled visible date. A page carrying none of these yields no date at all, so no downstream consumer can attach a publication time to the document.
Evidence
- Google Search Central documents the consumer behavior directly: “A byline date is the date that Google estimates that the web page was updated or published. When Google can determine the byline date of your page or video, it can expose this information in Search results, if this information is considered to be useful to the user.” It then prescribes both halves of what this audit detects. One half is a prominently displayed visible date with clear labeling (“Posted”, “Published”, “Last updated”).
The other is “a subtype of CreativeWork (such as Article, BlogPosting, or VideoObject)” specifying “the datePublished and/or dateModified fields”. Google asks that “the date (and optional time and timezone) match between the equivalent user-visible and structured values” — developers.google.com/…/publication-dates (verified 2026-08-21)
- The Search path is the AI-answer path, per Google’s own eligibility rule: “To be eligible to be shown as a supporting link in AI Overviews or AI Mode, a page must be indexed and eligible to be shown in Google Search with a snippet” — developers.google.com/…/ai-features (verified 2026-08-21)
- The open extraction stack reads the same fields in the same priority order the audit uses. htmldate identifies “original and updated publication dates” in three passes: “
linkandmetaelements including Open Graph protocol attributes”, then “abbrortimeelements and a series of attributes”, then page text. It is “used in production on millions of documents” — htmldate.readthedocs.io/…/latest (verified 2026-08-21). It sits under trafilatura, whose extraction keeps structure and metadata — trafilatura.readthedocs.io/…/corefunctions.html (verified 2026-08-21) - A second vendor ties freshness to AI answers explicitly: Bing states that freshness signals “directly influence how quickly updates are reflected in search results and AI generated answers” — blogs.bing.com/…/Keeping-Content-Discoverable-with-… (verified 2026-08-21)
Limits
The audit’s stated impact — “Undated content is deprioritized in AI answers” — is not documented anywhere. Google’s AI-features and AI-optimization pages never mention dates or freshness at all, and both state that no special structured data is required (“There’s also no special schema.org structured data that you need to add”, developers.google.com/…/ai-features). Bing’s freshness statement is about sitemap <lastmod>, not on-page dates, so it does not transfer directly. No OpenAI, Anthropic or Perplexity crawler documentation mentions dates; OpenAI’s bots page describes OAI-SearchBot, GPTBot and ChatGPT-User purely by purpose (developers.openai.com/…/bots).
The grade therefore covers the extraction claim above, not a ranking claim. Note also that the audit’s visible-text fallback regex matches any date-shaped string in main content — a copyright year, an event date, a comment timestamp — none of which is a byline date. Only the structured branch is what the vendor documentation supports. All URLs verified 2026-08-21.
How it scores
A vendor doc states in so many words that Google reads exactly these signals off the page, and prescribes exactly the markup this audit checks. The same fields are what the open extraction stack that builds RAG and training corpora reads.
Sources
- Add a Byline Date to Google Search Results — Google Search Central, vendor-doc (verified 2026-08-21)
- AI features and your website — Google Search Central, vendor-doc (verified 2026-08-21)
- htmldate documentation — htmldate, repo (verified 2026-08-21)
- trafilatura core functions documentation — Adrien Barbaresi / trafilatura, vendor-doc (verified 2026-08-21)
- Keeping Content Discoverable with Sitemaps in AI-Powered Search (Bing Webmaster Blog, July 2025) — Microsoft Bing, vendor-doc (verified 2026-08-21)
- OpenAI crawlers and user agents — OpenAI, vendor-doc (verified 2026-08-21)