ShipDR works best on desktop.

Free Sitemap Checker

Paste a domain or a sitemap URL. It validates the structure, counts what is in there, checks that robots.txt points at it, and reads the lastmod dates for the one failure most validators pass over.

One live fetch, nothing stored. The sitemap is read as a crawler would read it, and its robots.txt is checked for a Sitemap: line.

What a sitemap is actually for

A sitemap is a list of URLs you would like crawled, with an optional note about when each one last changed. That is the whole job. It helps with discovery, especially for pages that are not well linked from elsewhere on the site, and it gives a crawler a cheap way to notice that something changed without fetching everything to find out.

What it is not is a ranking instrument or an indexing guarantee. Submitting a URL is a request, and search engines refuse plenty of them. On a small site whose navigation already links every page, a sitemap does very little; its value rises with size, with orphaned pages, and with publishing frequency.

The lastmod problem, which is why this tool exists

Almost every generator will happily stamp today’s date on every URL each time it runs, because that is trivial and the alternative requires knowing when each page really changed. The result validates perfectly. It also tells a crawler that your entire site changed overnight, every night, which is either true or a lie, and it is essentially never true.

Google has been explicit that it uses lastmod when the value is consistently accurate and disregards it when it is not. So the cost of stamping is not zero: you spend the one optional field that still carries information, and you spend it on a site-wide basis rather than per page. This checker flags the case where every URL shares a single date, because it is invisible to a validator (nothing is malformed) and because the fix is usually easy once someone knows to look.

The honest version: omit lastmod where you cannot compute it truthfully, and include it where you can. Accurate dates on some URLs beat invented dates on all of them.

What this checker looks at

Structure

Whether the file parses as a urlset or a sitemapindex at all. A surprising number of sitemap URLs answer with an HTML error page that looks fine in a browser.

Limits

50,000 URLs and 50MB uncompressed. Past either, the file is rejected outright rather than partly read, so a growing site can lose its whole sitemap without any warning.

URL hygiene

Absolute URLs only (relative ones are invalid here, not merely untidy), no empty loc elements, no duplicates, and one hostname per file.

lastmod

Present or absent, W3C date format, and the single-date pattern described above.

robots.txt

Whether a Sitemap: line points at it. This is how a sitemap is discovered without being submitted anywhere, and it is a one-line fix that is skipped constantly.

What does not belong in a sitemap

Honest limits

This reads one file. It does not fetch every URL inside it, so it cannot tell you which entries redirect, 404 or carry a noindex; on a large sitemap that would be thousands of requests, and it is what Search Console’s coverage report exists to do with data we do not have. It reads one level, so a sitemap index is reported as an index and its children are listed rather than followed. And a valid sitemap remains a request, never a promise: pages in it can still go uncrawled for weeks, particularly on a young domain.

To check whether an individual URL is indexable, the noindex checker reads its robots directives in both places they can hide.

A sitemap asks to be crawled. Backlinks are why anyone says yes.

Crawl budget follows trust, and trust follows links from other sites. A perfect sitemap on a domain nobody links to still waits. ShipDR tracks every directory listing you submit, verifies it went live, is dofollow and sits on an indexable page, and tells you the day one of those stops being true.

  • Every listing rechecked on a schedule, not once
  • Live, dofollow and indexable, read from the page itself
  • Told the day a backlink drops or flips

Adding a website and charting its Domain Rating is free, no card. The backlink engine is $10 once, per website, with no subscription.

Fair questions

Does a sitemap help my pages rank?

No. A sitemap helps pages be discovered, which is a different thing. It is a list of URLs you would like crawled, with optional hints about when each changed. It does not make a page rank, does not guarantee indexing, and cannot rescue a page search engines have judged thin. On a small site that links to all of its own pages, a sitemap changes very little; its value grows with size, with pages that are poorly linked internally, and with sites that publish often.

Where should the sitemap live?

Anywhere readable, though /sitemap.xml is the convention and worth keeping. What matters more is that robots.txt declares it with a Sitemap: line, since that is the file crawlers fetch first and it is how a sitemap gets found without you submitting anything. This checker looks for that line and says whether it is there.

What is lastmod for, and does Google use it?

It tells a crawler when a URL last genuinely changed, so it can prioritise what to revisit. Google has said it uses lastmod when it is consistently accurate and ignores it when it is not. That conditional is the whole story: a file where every URL claims today, every day, is not a hint but noise, and after enough of it the field stops counting for that site. Accurate dates on some URLs beat invented dates on all of them.

How many URLs can one sitemap hold?

Fifty thousand URLs or fifty megabytes uncompressed, whichever comes first. Past either limit the file is rejected rather than truncated, so a site that grows into it can lose its entire sitemap silently. The answer is a sitemap index: a file listing other sitemaps, each within the limits. Indexes may be nested one level, and this checker tells you when it is reading an index rather than a list of pages.

Should noindex pages be in the sitemap?

No, and it is a genuinely contradictory pair: you are asking for a page to be crawled and simultaneously telling the crawler not to index it. Search Console reports it as an error for good reason. The same applies to URLs that redirect, return 404, or canonicalize elsewhere. A sitemap should list canonical, indexable, 200-answering URLs, and nothing else.

Do priority and changefreq do anything?

Essentially nothing. Google has stated it ignores both, and the reason is that they became meaningless the moment everyone set priority 1.0 on everything. They are still valid syntax and harmless to leave in place, but adjusting them is not a lever. lastmod is the one optional field that still carries information, and only while it is honest.

My sitemap is valid but Search Console shows pages as Discovered, not indexed

That status means the URL was found and not yet crawled, and it is a judgement about your site rather than about your sitemap. Google crawls in proportion to how much it trusts a site, so a young domain with few backlinks gets a small budget spent slowly. No sitemap change speeds that up. The thing that does is other sites linking to you, which is why this is a backlink problem wearing a crawling costume.