Skip to main content
Free SEO Tool

XML Sitemap Generator

Crawl up to 50 internal pages from a starting URL and emit a search-engine-ready sitemap.xml.

  • Free · no sign-up
  • Instant results
  • Privacy-friendly

Other SEO Tools

How this generator works

Give it a starting URL and it crawls your site the way a search engine would — following internal links from that page outward, up to 50 pages — then emits a valid sitemap.xml you can download and upload to your web root.

Because it discovers pages by following links rather than reading your CMS database, the result doubles as a diagnostic. Any page that does not appear in the output was not reachable by following links from your starting URL, and a page a crawler cannot reach by links is a page Google will struggle to find and rank. An unexpectedly short sitemap is usually telling you something useful about your internal linking.

What a sitemap does and does not do

A sitemap is a discovery aid. It tells search engines which URLs you consider worth crawling and roughly when they last changed. It is genuinely valuable for large sites, new sites with few backlinks, and pages that are not well linked internally.

It is not a ranking factor, and submitting a sitemap does not guarantee indexing. Google routinely crawls sitemap URLs and then declines to index a portion of them — which appears in Search Console as "Discovered – currently not indexed" or "Crawled – currently not indexed". When that happens, the sitemap is working correctly and the problem is the pages themselves: too thin, too similar to each other, or not distinct enough to be worth a slot in the index. No sitemap change fixes that.

Only list URLs you actually want indexed

A sitemap should be a clean list of canonical, indexable, 200-returning URLs. Every entry is a signal that you consider that page important, so contradictory entries waste crawl budget and muddy the signal. Keep out:

  • URLs that redirect. List the destination, not the URL that 301s to it.
  • Pages carrying a noindex tag — including a page in your sitemap while telling Google not to index it is a direct contradiction.
  • Non-canonical duplicates. If a page's canonical points elsewhere, list the canonical version only.
  • Anything blocked in robots.txt, and any URL returning a 404 or 5xx.
  • Paginated series beyond page one, tag archives, and internal search results, unless they genuinely earn traffic.

lastmod is the tag worth getting right

Of the four optional tags, lastmod is the only one Google still uses, and only when it trusts it. Google has been explicit that priority and changefreq are ignored entirely — setting every page to priority 1.0 achieves nothing.

lastmod must reflect a genuine, meaningful change to the page. The common failure is stamping every URL with the current date on every rebuild, which is easy to implement and quickly teaches Google that your lastmod values carry no information. Once distrusted, they are ignored, and you lose a real signal for the pages you actually did update. Either emit an accurate date or omit the tag.

Limits, indexes, and submission

A single sitemap may contain at most 50,000 URLs and must not exceed 50 MB uncompressed. Beyond that, split into multiple files and reference them from a sitemap index — which is also a good idea well before the limit, since separate sitemaps per content type make Search Console's coverage reporting far easier to read.

Upload the file to your root, add an absolute Sitemap: line to robots.txt, and submit it in Search Console. Every URL must be fully qualified and on the same host as the sitemap itself, and the file must be UTF-8 encoded with special characters properly escaped — a single unescaped ampersand invalidates the entire document, which is a surprisingly common cause of "sitemap could not be read".

Frequently asked questions

Will a sitemap improve my rankings? #
No. A sitemap helps search engines discover URLs; it is not a ranking factor. It is most valuable for large sites, brand-new sites, and pages that are poorly linked internally. It cannot make a page rank that would not otherwise.
Google crawled my sitemap but is not indexing the pages. Why? #
That is the sitemap working and the pages falling short. "Crawled – currently not indexed" usually means the pages are too thin or too similar to one another to earn a slot. The fix is genuinely distinct, substantial content, not sitemap changes.
Should I set priority and changefreq? #
Not worth the effort — Google ignores both. Only lastmod is used, and only when it looks trustworthy. Setting every page to priority 1.0 accomplishes nothing at all.
What should lastmod be set to? #
The date the page meaningfully changed. Stamping every URL with today's date on every build is the classic mistake: Google learns the values are meaningless and stops trusting them, costing you the signal on pages you really did update. Omit it rather than fake it.
How many URLs can one sitemap hold? #
Up to 50,000 URLs and 50 MB uncompressed. Past that, split into several files listed in a sitemap index. Splitting by content type earlier than the limit also makes Search Console coverage reports much easier to interpret.
Why does Search Console say my sitemap could not be read? #
Most often invalid XML — a single unescaped ampersand or angle bracket in a URL invalidates the whole document. Also check that the file returns 200 rather than a redirect or error, and that every URL is absolute and on the same host as the sitemap.
Do I need a sitemap if my site is small? #
For a handful of well-linked pages, not really — Google will find them by crawling. It still costs nothing and helps for brand-new sites with no backlinks, where there is little else pointing crawlers at your URLs.