Show published and updated dates
Checks for published and modified dates on content pages
- Include a visible published date and a `dateModified` in JSON-LD for every article or blog post
- Use ISO 8601 format (`2024-03-15T10:00:00Z`) in structured data; human-readable in the visible UI
- Update `dateModified` only when content meaningfully changes — not on trivial edits
Rule Details
Showing when content was published and last updated is a trust signal for readers and a freshness signal for search engines. Google's Article structured data guidance (opens in new tab) and your broader freshness signal strategy both depend on these dates being visible and machine-readable.
Code Examples
❌ Avoid — no date markup
<article>
<h1>How to Optimise Core Web Vitals</h1>
<p>Last updated March 2024</p>
<!-- No machine-readable date; Google cannot reliably parse this -->
</article>✅ Correct — visible date with machine-readable markup
<article>
<h1>How to Optimise Core Web Vitals</h1>
<p>Published <time datetime="2024-03-15">March 15, 2024</time>
· Updated <time datetime="2024-11-20">November 20, 2024</time></p>
</article>✅ Article JSON-LD with dates
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to Optimise Core Web Vitals",
"datePublished": "2024-03-15T10:00:00Z",
"dateModified": "2024-11-20T14:30:00Z",
"author": { "@type": "Person", "name": "Jane Smith" }
}
</script>✅ Open Graph article times in <head>
<meta property="article:published_time" content="2024-03-15T10:00:00Z">
<meta property="article:modified_time" content="2024-11-20T14:30:00Z">Why It Matters
- Freshness ranking: Google rewards fresh content for time-sensitive queries. Accurate
dateModifiedhelps Google assess how current your content is, especially when it matches the same freshness signals surfaced in Schema.org'sdateModified(opens in new tab). - Snippet dates: Google shows publication dates next to search results. Without structured markup, it guesses from page text — often incorrectly.
- User trust: Readers evaluate whether information is current before clicking. A visible date reduces bounce rate from people who find content too old.
What to Check
For every article, blog post, or news page, verify:
- A visible
<time>element with adatetimeattribute in the byline datePublishedanddateModifiedin the page's Article JSON-LD- Optional but helpful: Open Graph
article:published_timeandarticle:modified_time
How to Fix Missing Dates
- Identify all article and blog pages that lack a visible or structured date.
- Add a
<time datetime="...">element to each article template. - Update your Article JSON-LD template to include
datePublishedanddateModified. - Ensure your CMS stores and exposes both dates, and that
dateModifiedupdates on substantive edits. - Validate with Google's Rich Results Test (opens in new tab).
Exceptions
- Necessary utility or compliance pages can be intentionally brief and should not be judged by the same editorial-depth expectations as ranking-focused content.
- AI-assisted drafting is not a failure by itself; flag unsupported claims, missing editorial review, or low-originality output instead.
- When a page has both trust-signal issues and crawl/index problems, make the page eligible to rank first and then improve the content quality signals.
Standards
- Use these references as the standard for the final search-facing HTML, metadata, and crawl behavior.
- Check the implementation against Google Search Central: Article structured data before treating the rule as satisfied.
- Check the implementation against Schema.org: dateModified before treating the rule as satisfied.
Verification
Automated Checks
- Inspect rendered HTML and HTTP headers to confirm the expected metadata or crawlability signal is present.
- Test the affected URL with Google Search Console or equivalent tooling where relevant.
- Re-crawl a representative page set after deployment.
Manual Checks
- Confirm the change does not create conflicting canonical-url, robots, or structured-data signals.
Use with AI
Copy these prompts to use with your AI assistant, or install the MCP server to use directly from Claude, Cursor, or Windsurf.
Check
Verify implementation
On each article or blog page, check: (1) Is there a visible published date in the page body or byline? (2) Does the JSON-LD `Article` or `BlogPosting` block include `datePublished` and `dateModified` properties in ISO 8601 format? (3) Does the `<head>` include `<meta property="article:published_time">` and `<meta property="article:modified_time">` Open Graph tags?
Fix
Auto-fix issues
1. Add a visible publication date in the page byline: `<time datetime="2024-03-15">March 15, 2024</time>`. 2. Add `datePublished` and `dateModified` to the Article JSON-LD block: ```json { "@type": "Article", "datePublished": "2024-03-15T10:00:00Z", "dateModified": "2024-11-20T14:30:00Z" } ``` 3. Add Open Graph article time tags to `<head>`: ```html <meta property="article:published_time" content="2024-03-15T10:00:00Z"> <meta property="article:modified_time" content="2024-11-20T14:30:00Z"> ``` 4. Ensure your CMS or build system updates `dateModified` automatically on content saves.
Explain
Learn more
Google's freshness algorithm rewards recently published or updated content for time-sensitive queries. Structured date markup lets Google confidently surface the correct date in search snippets; without it, Google must guess from page text or HTTP headers, often producing wrong or missing dates.
Review
Code review
Verify that Article or BlogPosting JSON-LD includes both `datePublished` and `dateModified` in ISO 8601 format. Check that `<time datetime='...'>` elements in the body use machine-readable dates. Confirm `dateModified` updates when content changes, not just on every deploy.
