How to Generate an XML Sitemap for Your Website
To generate an XML sitemap, you need your site's public URL and a site that search engines can crawl. You can then use an online generator, a CMS plugin, or hand-write the file. XML-Sitemaps.com, for example, generates search-engine-ready sitemaps and states that its free tier covers up to 500 URLs with no registration required. The steps below apply whether you use that tool or another generator.
What you need before generating
- The full starting URL of your site, such as
https://example.com/. - A site that is publicly reachable. Pages behind a login or blocked by
robots.txtgenerally cannot be crawled or included. - A decision on scope: homepage only, or the whole site.
Choose a generation method
| Method | Best for | Trade-off |
|---|---|---|
| Online generator | Quick one-off sitemaps, any platform | You re-run it when content changes unless you use a hosted/paid tier |
| CMS plugin | Sites on WordPress, Shopify, etc. | Depends on the platform and plugin maintenance |
| Manual XML | Very small, static sites | You update it by hand every time a URL changes |
XML-Sitemaps.com lists a free tier (up to 500 URLs, multiple websites) and a PRO tier starting at $2.44/month that adds automatic updates, image/video/news sitemaps, and SEO health reports. Treat those as the vendor's stated limits and check current terms before relying on them.
Understand the fields the generator sets for you
Two attributes are commonly filled in automatically, and knowing what they mean helps you spot problems:
lastmod(last modification): the time a URL was last changed. Crawlers use it to avoid re-crawling unchanged pages. XML-Sitemaps.com says it sets this based on your server's response.priority: a value from 0.0 (lowest) to 1.0 (highest) relative to other pages on the same site. The generator decreases priority by "page depth" — how many clicks a page is from the homepage.
Neither field forces a crawler's behavior; they are hints. If your server returns unreliable modification dates, expect lastmod values that don't reflect real edits.
Generate and verify
- Enter your site's starting URL in the generator and run it.
- Download the resulting XML file (the generator may also offer HTML, text, or ROR formats).
- Open the file and confirm the URLs are the ones you expect — correct domain, no staging or test paths, no duplicates.
- Check that important pages are present and that the count matches roughly what you expect for your site size.
Submit to search engines
- Google: submit via Google Search Console (add and verify your property first, then submit the sitemap URL).
- Bing: submit through Bing Webmaster Tools.
- Place the sitemap at a predictable location, commonly
/sitemap.xml, and reference it inrobots.txtif you want crawlers to find it automatically.
Troubleshooting common problems
- Crawl fails or times out: the site may be slow, blocking the generator's user agent, or unreachable. Test the URL in a browser and check
robots.txt. - URLs missing: pages may be orphaned (not linked from anywhere), blocked by
robots.txt, or behind JavaScript that the generator doesn't execute. - Wrong domain in output: you likely started from a redirect or a staging URL. Start from the canonical public URL.
- Sitemap goes stale: a one-time generation won't reflect new pages. Re-run it, or use a tier/plugin that updates automatically.
If your site is small and static, a manual sitemap is fine. If it changes often or exceeds the free URL limit, an automatically updating option is the more practical choice.