Enter any website URL and we'll crawl it for you — discover every internal page (up to 500) and download a Google-ready sitemap.xml in one click.
XML Sitemap Generator
Crawl any website and get a ready-to-upload sitemap.xml — up to 500 pages, with lastmod dates, priorities and clean URLs. No installation, no sign-up.
A sitemap is a list of the URLs on your site that you want search engines to know about. It does not make pages rank, and it does not replace good internal linking — but it does make discovery faster and more complete, especially for pages buried deep in the structure or recently published.
Enter a starting URL and this crawler follows your internal links, collects what it finds, and hands back a valid sitemap.xml you can upload straight to your web root.
Crawling the website…
This may take 30–90 seconds depending on site size. Please wait.
How to use the Sitemap Generator
-
Enter your homepage URL
Use the canonical version — if your site redirects to www and https, start there, so the crawler collects the URLs Google actually indexes rather than a set of redirects.
-
Start the crawl and let it work
The crawler follows internal links outward from the starting page. Larger sites take longer; it stops at 500 URLs.
-
Review the URL list before downloading
Look for anything that does not belong — tag archives, search result pages, paginated duplicates, test pages. A sitemap full of low-value URLs sends a weak signal.
-
Download sitemap.xml
The file is valid against the sitemaps.org schema and ready to upload as-is.
-
Upload to your web root
It must sit at yoursite.com/sitemap.xml. Anywhere else and search engines will not find it by convention.
-
Submit it and reference it in robots.txt
Add the file in Google Search Console and Bing Webmaster Tools, and add a Sitemap: line with the absolute URL to your robots.txt.
What this tool does
What a sitemap does — and does not do
A sitemap is a discovery aid. It tells search engines "these URLs exist, here is when each changed". That is the whole job.
It does not make pages rank. It does not guarantee indexing — Google treats a sitemap as a hint, not an instruction, and routinely declines to index URLs listed in one. And it does not fix a badly structured site. If a page is reachable only from a sitemap and from nowhere else on your site, that tells Google the page is not important enough for you to link to, which is not the message you want.
Where it genuinely helps: brand-new sites with few inbound links, large sites where pages sit five clicks deep, sites with thin internal linking, recently published pages you want found quickly, and any site that has just been migrated.
The anatomy of the file
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.example.com/</loc>
<lastmod>2026-09-14</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
</urlset>
Only <loc> is required, and it must be a full absolute URL. lastmod is the one optional field Google actually pays attention to — but only if it is accurate. If every URL claims it was modified today, Google learns to ignore the field entirely for your site.
Be realistic about the other two. Google has stated plainly that it ignores changefreq and priority. They remain in the spec, other crawlers may read them, and they do no harm — just do not expect them to influence anything at Google.
What belongs in it
The principle: a sitemap should list the canonical, indexable URLs you would be happy to see in search results. Nothing else.
Include: your homepage, service and product pages, published blog posts, category pages that offer real value, and any landing page you want found.
Exclude:
- Pages carrying a
noindextag — listing them sends contradictory instructions - URLs that redirect — list the destination instead
- Non-canonical duplicates, including parameter variants
- Internal search result pages
- Thin tag archives that exist only because the CMS created them
- Login, cart, checkout and thank-you pages
- Anything returning a 404 or 500
That last group matters more than it looks. Google Search Console reports errors for sitemap URLs that cannot be indexed, and a sitemap that is half errors degrades trust in the whole file.
Limits and splitting
A single sitemap can hold 50,000 URLs or 50 MB uncompressed, whichever comes first. Above that, split into multiple files and reference them from a sitemap index — a small file that lists other sitemaps rather than URLs.
Even well below the limit, splitting by content type is worth doing on larger sites. Separate sitemaps for pages, blog posts and products mean Search Console reports indexing coverage per group, so you can see at a glance that your products are indexing fine while your blog is not. That diagnostic split is the real benefit, not the size limit.
After you upload
- Confirm it loads. Open
yoursite.com/sitemap.xmlin a browser. If you see XML, you are set. If you see a 404, it is in the wrong place. - Add it to robots.txt. One line:
Sitemap: https://www.example.com/sitemap.xml. Use the absolute URL, and place it anywhere in the file. - Submit in Search Console. Sitemaps → enter the path → Submit. Do the same in Bing Webmaster Tools.
- Check back in a week. The sitemap report shows discovered versus indexed counts. A large gap is the interesting number — it means Google found your pages and chose not to index them, which points at content quality or duplication rather than discovery.
Static file or dynamic route?
A crawled, downloaded file is a snapshot. It is perfect for a brochure site that changes a few times a year, and for auditing a site you do not control.
For anything that publishes regularly, generate the sitemap dynamically from your database instead, so new posts appear the moment they are published. Most CMS platforms do this already; on a custom PHP site it is a short script mapping your published rows to <url> entries. Use this tool to verify that the dynamic output is complete and correct — crawl the site, compare the URL list against your generated sitemap, and investigate anything that appears in one but not the other.
Why the crawl might miss pages
The crawler follows links in your HTML. Pages it will not find include anything linked only through JavaScript that runs after load, anything behind a form or a login, orphan pages with no inbound internal links at all, and paths blocked by robots.txt.
If pages are missing from the crawl, that is diagnostic rather than a tool failure — Googlebot discovers pages the same way. An orphan page that this crawler cannot reach is very likely a page Google is not finding either, and the fix is a link to it from somewhere in your navigation, not an entry in a sitemap.
Frequently asked questions
Does a sitemap help my site rank higher?
Where does the sitemap file have to go?
How many URLs can one sitemap contain?
Should I include noindex pages in my sitemap?
Do changefreq and priority actually do anything?
Why are some of my pages missing from the crawl?
Should I use a static file or generate the sitemap dynamically?
Google says my sitemap URLs are "discovered but not indexed" — why?
Need a site that actually ranks?
Stop guessing — hand your SEO to a studio that's ranked 1000+ sites.
Web Design & Development
Award-winning WordPress, ecommerce & custom sites — from concept to launch.
ExploreSEO & Growth
Technical SEO, content playbooks & local ranking — measurable growth every month.
ExploreSoftware Development
PHP + Laravel + Node.js — custom CRMs, admin panels & APIs. Scale-ready.
Explore
