What does a sitemap lastmod date actually do?
It tells Google when a page last meaningfully changed, and Google uses it only if it can verify you are being honest. Google's documentation says it uses the value if it is consistently and verifiably accurate, for example by comparing it to the actual last modification of the page.
That single conditional is the whole subject of this article. Most sitemaps on the web carry lastmod dates that are not accurate, and once yours is in that category, the field stops being a signal and becomes noise.
Here is what the element is for, how sites break it without noticing, and how to tell whether yours is being believed.
When does Google use it and when does it ignore it?
Google uses the lastmod value when it is consistently and verifiably accurate. The verification method Google names is comparing the declared date against the last actual modification of the page. So the field is not a request. It is a claim that gets checked against evidence Google already has.
Think about what that means in practice. Google has crawled your page before. It knows what was there. If your sitemap says a page changed yesterday and the content is identical to what was fetched three months ago, the claim fails.
Do that across a few thousand URLs and you have taught a system that your lastmod dates carry no information. The penalty is not a ranking penalty. It is simply that a useful lever you had stops working, quietly, with no notification.
What counts as a significant update?
Google is specific. Its documentation says the value should reflect the date and time of the last significant update to the page, and that an update to the main content, the structured data, or links on the page is generally considered significant, while an update to the copyright date is not.
That copyright example is doing a lot of work, because it names the exact pattern that breaks most sitemaps. A footer that renders the current year, a sidebar listing recent posts, a rotating testimonial: all of these change the page's output without changing anything a reader came for.
If your system treats any byte difference as a modification, every page in your sitemap will appear to change constantly. That is the most common way a site ends up with a sitemap full of lastmod dates that all say today and mean nothing.
The rule I apply when deciding is whether a person who read the page before would find anything different worth reading. If not, it was not a significant update, whatever the file timestamp says.
Why do most sitemaps get this wrong?
Because lastmod is usually generated automatically from something that is not the content. A build timestamp, a database row update, a cache refresh. None of those track meaning, and all of them move for reasons that have nothing to do with what the page says.
Republishing is the classic case. Somebody fixes a typo on forty posts, or a bulk operation touches every CMS item, and the entire archive reports as freshly updated. The intent was tidying. The effect is a sitemap making forty simultaneous claims that will not survive verification.
The opposite failure is quieter and I see it just as often. A site where lastmod never changes, because it is set from the original publish date or hardcoded at build time. Now genuinely updated content looks stale, and you are underselling work you actually did.
Neither failure produces an error message. Your sitemap validates, Search Console accepts it, and nothing tells you the dates are meaningless. This is the same category of silent problem as the gap between your sitemap and your index coverage.
What about priority and changefreq?
Stop setting them, and delete them if they are already there. Google's documentation states plainly that it ignores priority and changefreq values. Any effort spent tuning those two fields is effort spent on something the largest single consumer of your sitemap has publicly said it does not read at all.
I mention this because priority in particular still appears in a great deal of SEO advice and in the default output of a lot of sitemap generators. It looks meaningful. Assigning 1.0 to your homepage and 0.6 to your blog feels like you are directing attention.
You are not. If you want to signal that a page matters, the mechanisms that work are the ordinary ones: internal links pointing at it, its position in your navigation, and content that deserves the attention. A number in an XML file is not one of them.
How big can a sitemap be?
Google's documentation gives a hard limit: all formats limit a single sitemap to 50MB uncompressed or 50,000 URLs, and if you have a larger file or more URLs you must break it into multiple sitemaps. Those are ceilings, not targets.
I split well before the ceiling anyway, by content type. One sitemap for blog posts, one for product or service pages, one for glossary entries. Not because Google requires it at that size, but because segmented sitemaps make Search Console's reporting legible.
That diagnostic benefit is the real argument. When indexing problems appear in one segment and not another, you learn something immediately. When everything is in one file of forty thousand URLs, every report is an average, and averages hide exactly the problem you are trying to find.
How do you check whether yours is trustworthy?
Pick ten URLs from your sitemap at random. For each one, compare the declared lastmod value against when the content on that page genuinely changed. If more than one or two of the ten disagree, your dates are not carrying information, and you should assume they are already being discounted.
Look for the tell-tale patterns while you are there. Every URL sharing the same lastmod is a build timestamp, not a content date. A cluster of identical dates across an old archive is a bulk operation. Dates that exactly match your deploy schedule are your pipeline talking, not your content.
The strongest check is behavioural rather than declarative. Compare when you actually updated a page against when a crawler next came for it. That comparison lives in your server logs, which is one of the things I described in what server logs show that analytics hides.
If the gap between a real update and the next crawl is long and does not shorten when you change content, your freshness signalling is not landing, and lastmod is one of the few levers you have there. How that interacts with recrawl behaviour is covered in how crawlers decide how often to recrawl.
What if your platform controls lastmod for you?
Then find out what it is actually doing before you try to fix anything. Open your own sitemap in a browser and read the dates against what you know about your content. Whatever the platform's documentation says, the file it is serving right now is the evidence.
If the platform sets lastmod from the item's last-updated field, you have a lever, and the discipline is simply to avoid touching items you have not meaningfully changed. That means no bulk edits for cosmetic reasons, and no scripted passes that rewrite a field on every record.
If the platform sets it from a build or publish time, you have less control, and the honest response is to treat lastmod as unreliable on your site rather than to pretend otherwise. Lean harder on the mechanisms you do control: internal links to updated content, and an accurate sitemap that at least contains the right URLs.
Whatever you do, do not solve this by hand-editing dates to look fresher. That is the failure mode the verification clause exists to catch, and the cost is the credibility of every date you publish afterwards.
What should you do next?
Open your sitemap today and read twenty lastmod values against what you know actually changed. That five minute check tells you which of the three states you are in: accurate, always-today, or frozen. Each has a different fix and you cannot choose one without knowing.
Then remove priority and changefreq from your sitemap if they are there. It costs nothing, it removes a source of false confidence, and it stops anyone on your team spending an afternoon tuning numbers Google has said it ignores.
If your sitemap is large enough that this is a real engineering question rather than a settings change, reach out. Getting freshness signalling right on a big archive is one of the higher-leverage technical jobs available, and it is usually under-owned. Let's chat.
Get found, cited and the back office automated
Let's make your site the source AI engines quote and wire up the systems behind it.
Read more blogs
Let's get your website found and cited by AI
Tell me what you're working on, whether AI search is skipping your product, your back office is buried in manual work, or you need a build that does both.