What a sitemap is for
An XML sitemap is a list of the URLs you want search engines to know about. It does not force anything into the index, and it is not a ranking signal. What it does is make discovery reliable: new pages get found faster, deep pages with few internal links still get crawled, and Search Console can tell you which of your submitted URLs made it into the index and which did not. For small, well-linked sites it is insurance. For large or fast-changing sites it is essential.
Only list pages you want indexed
The most common sitemap mistake is listing everything. A sitemap should contain the canonical version of each indexable page that returns a 200 status. That means leaving out:
- URLs that redirect, return 404, or carry a
noindextag. - Parameter variants such as
?sort=priceor?utm_source=, and internal search results. - Both versions of the same page. Pick
https://and either www or non-www, then list only that host. - Anything you blocked in robots.txt. Listing it sends a mixed signal.
The validator above flags lines that are not absolute URLs and URLs on a different host from the first one, which usually catches a stray http:// or www mismatch.
lastmod, changefreq and priority
Google has said plainly that it ignores changefreq and priority. It does use lastmod, but only if your dates prove trustworthy over time. Setting every URL to today's date on every build teaches Google to ignore the field. The honest approach: set lastmod to the date the main content of that page last changed, and edit individual rows in the table when you know specific pages are older. If you cannot track it accurately, choose Omit.
Escaping and encoding
Sitemaps are XML, so an ampersand in a URL must be written as &, and characters such as spaces or accented letters must be percent-encoded. This generator handles both. Here is what a valid entry looks like:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/shop/?color=blue&size=m</loc>
<lastmod>2026-04-18</lastmod>
</url>
</urlset>
Large sites: the sitemap index
Each sitemap file is capped at 50,000 URLs and 50 MB uncompressed. Past that, split the URLs into several files and list those files in a sitemap index. Tick the split option, enter the folder where the files will live, and the generator produces sitemap-index.xml plus numbered chunk files. Many teams split well below the cap, by section (products, blog, locations), because Search Console then reports indexing per file and problems are easier to spot.
Submitting in Google Search Console
- Upload the file (or the index and all its chunks) to your site root, so it loads at
https://yourdomain.com/sitemap.xml. Open that URL in a browser to confirm it is not a 404. - In Search Console, choose the correct property, open Sitemaps in the left menu, paste the file name and press Submit. If you made an index, submit only the index.
- Check back after a day or two. "Success" means Google parsed the file. The Pages report, filtered to that sitemap, shows how many URLs were actually indexed and why the rest were not.
- Add a
Sitemap:line to your robots.txt as well, so Bing and other engines find it without a separate submission.
Static sites rebuild the sitemap whenever pages change; CMS platforms usually generate one automatically. This tool is ideal for hand-built and static sites, migrations, and one-off audits where you already have a crawl export.
Frequently asked questions
How many URLs can a sitemap hold?
Up to 50,000 URLs and 50 MB uncompressed per file. Larger sites split their URLs across several sitemaps and list them in a sitemap index file.
Do changefreq and priority matter?
Google ignores both. Bing and some smaller engines may read them. The value Google does use is lastmod, but only when it is consistently accurate.
Should every page be in my sitemap?
Only canonical, indexable pages that return 200. Leave out redirects, noindex pages, duplicates with parameters, and anything blocked in robots.txt.
Where do I upload sitemap.xml?
Usually the site root, so it loads at https://yourdomain.com/sitemap.xml. A sitemap can only list URLs at or below its own folder, which is another reason the root is the safest place.