Home » SEO » Content Freshness Signals: Sitemap lastmod, HTTP Headers and Honest Dates

Content Freshness Signals: Sitemap lastmod, HTTP Headers and Honest Dates

Published 2026-10-04 | SEO

A search engine can't recrawl every page every day. It has to guess which ones are worth revisiting. Freshness signals are the hints you give to help it guess correctly. If those hints are missing or unreliable, your updated pages wait longer to be noticed.

The signals that matter

Signal Where it lives What it tells a crawler
Sitemap lastmod XML sitemap The date the page's content last changed
Last-Modified header HTTP response When the server says the file last changed
ETag header HTTP response A fingerprint of the current version
Visible dates Page content When the article was published or updated
Structured data dates JSON-LD datePublished and dateModified values
Internal links Other pages New or updated content gets linked from hubs

Step 1: check what you currently send

Look at your sitemap. For each URL, is there a lastmod value? Is it the same date for every page (a classic sign of a plugin that stamps the build date)? Then request a few pages with a tool such as curl -I and read the response headers. You're looking for Last-Modified and ETag.

Step 2: make lastmod honest

The value should reflect when the content of that page meaningfully changed. Fixing a typo, changing a footer or regenerating the sitemap doesn't count. If every URL shows today's date, search engines learn to ignore the field entirely, and then it can't help you when it matters.

If your CMS produces sitemaps, check how it calculates the date. Many use the post's modified timestamp, which is a good source. Static site generators can use the file's git history.

Step 3: support conditional requests

When a crawler asks "has this changed since I last saw it?", a well-configured server answers with a 304 Not Modified. That makes recrawling cheap, so crawlers can visit more of your pages. Most web servers can do this for static files out of the box. Dynamic pages sometimes need a setting or a caching plugin. Related background is in the post on caching and compression.

Step 4: show dates people can see

Add a visible "Published" and "Last updated" date on articles. Keep them consistent with the dateModified value in your structured data and with the sitemap. When three sources agree, the signal is stronger.

A short change note can help readers too, for example "Updated October 2026 to reflect the new filing deadline".

A recrawl often starts from a page that is already crawled often. Link new content from your homepage, category pages or a "latest" section so crawlers meet it quickly.

What to avoid

  • Bumping dates on old posts to look current when nothing changed.
  • Setting lastmod to the time the sitemap was generated.
  • Using different dates on the page, in schema and in the sitemap.
  • Sending no-cache headers on static content, which defeats validation.
  • Relying on changefreq or priority fields, since they're largely ignored.

A simple check you can repeat

Pick five pages you updated recently. Verify that the sitemap lastmod, the visible date and the schema date all match the real change. Then request each page twice with an If-None-Match header and see if the server returns 304. If all five pass, your freshness signals are in decent shape.

Frequently Asked Questions

Does updating the date on a page improve rankings?

Not by itself. Changing a date without changing the content is easy for search engines to detect and can make your lastmod values less trusted. Update dates when the page has meaningfully changed.

Does Google use the priority and changefreq fields in sitemaps?

Google has said it ignores them. A consistently accurate lastmod value is the one field that helps.

What are ETag and Last-Modified headers?

They let a crawler ask the server whether a page has changed since its last visit. If not, the server answers with a short 304 response and no page body, which saves crawling effort.