Pages carry no cache validators
In the reportHTML responses carry no cache validators (neither ETag nor Last-Modified)
html_missing_cache_validators · Opportunity
This appears when an indexable page's response carries neither an ETag nor a Last-Modified header. Either validator can let a crawler ask whether the page changed; a server that handles conditional requests may then answer 304 Not Modified instead of sending the whole page. Turn on ETag or Last-Modified, or both, at your server or CDN.
Severity: Notice. An efficiency gain, mostly for large sites whose pages rarely change.
Why it matters
Google's post on HTTP caching says its crawlers support caching through the ETag and Last-Modified headers, strongly recommends ETag as less prone to mistakes, and suggests setting both if you can. For a large site whose content rarely changes, it says caching may help the site be crawled more efficiently.
What to do
- Look at the finding: it shows the page's response headers, with most values hidden.
- Turn on
ETagfor HTML in your server, CDN or caching plugin, and addLast-Modifiedtoo if you can. - Make sure the value changes whenever the page changes.
When to leave it as it is: if your site is small, or its pages change on every request, you can leave it; the gain is small.
What we read
We read the names of the response headers of each crawled page's normal request — the final answer after any redirects — without making any extra or conditional request.
A page is reported when it is an indexable HTML page that answered 200 and has neither ETag nor Last-Modified, in any letter case; an empty value counts as present. Pages with noindex, more than one canonical, or a canonical to another address are left out.
Pages outside this check, such as a 404 or a page with noindex, do not count as missing validators. An eligible page is left unverified when its HTML or response headers could not be read in full, for example because its body is over 2 MiB or it has more than 128 headers.
Example & evidence
Illustrative example — one page's response headers, not a live audit.
https://bakery.example/cakes/ answered:
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Cache-Control: max-age=0There is no ETag and no Last-Modified, so the page is reported.
ETag: "5f3a9c"
Last-Modified: Mon, 28 Sep 2026 09:00:00 GMTA possible correction: headers like these on every HTML page.
Confirm & check again
Check for yourself: open your browser's developer tools, reload the page and look for ETag or Last-Modified in the response headers of the page itself.
Check again: Full audit — run a new audit of the site. The finding closes when the page is crawled again with complete evidence and its response carries ETag or Last-Modified. It may also close when the page leaves this check, for example through noindex, a canonical to another page or a 404; that does not show caching improved. A page not crawled again keeps the finding open. If it remains eligible for this check but its HTML or headers cannot be read in full, the finding also stays open.
Limits & sources
The check sees whether the headers are present in one answer to our crawler, not whether their values are correct, whether your server answers 304, or what a CDN sends Googlebot. It does not measure how efficiently the site is crawled.
Confidence: High because the headers are read directly from the response.
Sources
- Google, Crawling December: HTTP caching — says Google's crawlers support caching through ETag and Last-Modified, strongly recommends ETag, suggests setting both, and says caching may help a large, rarely changing site be crawled more efficiently. Checked 28 September 2026.
Editorial review: 29 September 2026