Skip to main content
Beta: Front-End Checklist is currently in beta. Some issues are still being fixed. Thanks for your patience.
SEOMedium

Show content freshness signals

Checks for last-modified and published date signals that help Google assess content currency

Utilities
Quick take
Typical fix time 10 min
  • Set the `Last-Modified` HTTP response header and include `dateModified` in Article JSON-LD on all content pages
  • Update `dateModified` only when content substantively changes — trivial edits should not alter the date
  • For time-sensitive topics (news, tutorials, product reviews), freshness directly influences Google's ranking of your content
Why it matters: Google's Query Deserves Freshness (QDF) algorithm boosts recent or recently updated content for time-sensitive queries. Missing or stale freshness signals mean your updated content competes without the freshness advantage it deserves.

Rule Details

Content freshness is a ranking factor for time-sensitive queries. Google's ranking systems guide (opens in new tab) and the visible date patterns in content-date markup work best together, ensuring Google can recognize a real update instead of inferring one.

Code Examples

❌ Avoid — no freshness signals

<!-- No JSON-LD dateModified, no visible date, no Last-Modified header -->
<article>
  <h1>React Hooks Best Practices</h1>
  <p>Updated this year with new examples...</p>
</article>

✅ Correct — full freshness stack

<!-- In <head> -->
<meta property="article:published_time" content="2022-06-01T09:00:00Z">
<meta property="article:modified_time" content="2024-11-15T14:00:00Z">
 
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "datePublished": "2022-06-01T09:00:00Z",
  "dateModified": "2024-11-15T14:00:00Z"
}
</script>
 
<!-- In article body -->
<article>
  <p class="byline">
    Published <time datetime="2022-06-01">June 1, 2022</time>
    · Last updated <time datetime="2024-11-15">November 15, 2024</time>
  </p>
  <h1>React Hooks Best Practices</h1>
</article>

✅ Nginx Last-Modified header configuration

location ~* \.(html|htm)$ {
    add_header Last-Modified $date_gmt;
    add_header Cache-Control "public, must-revalidate";
}

✅ Next.js — updating dateModified in frontmatter

// In your MDX/content file frontmatter
---
title: "React Hooks Best Practices"
publishedAt: "2022-06-01"
updatedAt: "2024-11-15"  // Update this when content substantially changes
---
 
// In page component — generate Article JSON-LD
const articleSchema = {
  '@type': 'Article',
  datePublished: frontmatter.publishedAt,
  dateModified: frontmatter.updatedAt,
}

Why It Matters

  • QDF boost: Google elevates fresh content for queries where recency matters (news, product releases, tutorials, regulations).
  • Accurate dating: Without machine-readable dates, Google guesses from HTML text — often displaying wrong dates in search snippets.
  • Competitive edge: For evergreen content you periodically update, surfacing the dateModified means Google sees your updated version as more authoritative than stale competitors, particularly when the page also shows published and updated dates clearly to users.

Freshness Signal Hierarchy

Google reads freshness signals in this approximate order:

  1. dateModified in Article/BlogPosting JSON-LD
  2. Last-Modified HTTP response header
  3. article:modified_time Open Graph tag
  4. Visible date text parsed from the page body (least reliable)

Best Practices

  • Update dateModified only when content substantively changes — adding a new section, updating statistics, fixing inaccuracies.
  • Do not update dateModified on every deploy or for minor formatting changes — Google may penalise artificially refreshed dates.
  • Ensure all three signals (JSON-LD, HTTP header, visible date) are consistent with each other.

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: Ranking systems guide 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

For each article or blog page: (1) Check the HTTP response `Last-Modified` header — is it set and recent? (2) Check the JSON-LD for a `dateModified` property in ISO 8601 format. (3) Is a visible 'Last updated' date shown to users? (4) Is the `dateModified` in JSON-LD consistent with the visible date and the `Last-Modified` header?

Fix

Auto-fix issues

1. Configure your web server to send `Last-Modified` headers based on the file modification time: - Nginx: `add_header Last-Modified $date_gmt;` - Apache: ensure `mod_headers` is enabled; static files serve Last-Modified automatically. 2. Update Article JSON-LD to include `dateModified`: ```json { "@type": "Article", "dateModified": "2024-11-20T14:30:00Z" } ``` 3. Add a visible "Last updated" date to the article template. 4. Hook your CMS to update `dateModified` only when content is substantively changed (not on metadata-only saves). 5. If using a static site generator (Next.js, Astro), pass the frontmatter `updatedAt` field through to the JSON-LD and `<time>` elements.

Explain

Learn more

Google's freshness algorithm (QDF — Query Deserves Freshness) actively boosts recently published or updated content for searches where recency matters. If your `dateModified` is stale or absent, Google may not credit your content with the freshness it deserves, ranking older competitors above you even after you have updated the article.

Review

Code review

Check that the `Last-Modified` response header is present on article pages. Verify Article JSON-LD includes `dateModified` in ISO 8601 format. Confirm that the build or deployment system updates `dateModified` only for content files that actually changed — not a blanket timestamp update on all pages during deploy.

Sources

References used to support the guidance in this rule.

Further Reading

Tools and supplementary material for exploring the topic in more depth.

Przewodnik po systemach rankingowych wyszukiwarki Google | Centrum wyszukiwarki Google  |  Documentation  |  Google for Developers

Poznaj niektóre z bardziej znanych systemów rankingowych wyszukiwarki Google – w tym systemy będące częścią naszych podstawowych systemów rankingowych, czyli te…

Google for DevelopersGuide
dateModified - Schema.org Property

Schema.org Property: dateModified - The date on which the CreativeWork was most recently modified or when the item's entry was modified within a DataFeed.

schema.orgSpec

Rules that often go hand-in-hand with this one.

Show published and updated dates

Checks for published and modified dates on content pages

SEO
Use valid JSON-LD structured data

Validates JSON-LD structured data for syntax correctness, required properties, and schema.org compliance

SEO
Audit and refine AI-generated content

Detects and reviews content that appears to be primarily AI-generated to ensure quality.

SEO
Add disclaimers to sensitive content

Checks for appropriate disclaimers on sensitive content types such as medical, legal, financial, and affiliate pages

SEO

Was this rule helpful?

Your feedback helps improve rule quality. This stays internal for now.

Loading feedback...
0 / 385