New 58+ tools are now available — built to keep your workflow moving.

XML Sitemap Generator: Build a Clean Sitemap

Build a valid XML sitemap from your URLs with protocol checks, duplicate cleanup, lastmod dates and optional changefreq. Nothing is crawled or uploaded.

A Admin 8 min read

An XML sitemap generator turns a list of URLs into a valid sitemap.xml file. Paste one full URL per line, choose how protocol and dates should be handled, and copy the generated XML. The tool cleans up duplicates and tracking parameters, reports invalid lines, and tells you how many URLs made it into the file.

A sitemap is a hint, not a ranking factor. Its job is to help crawlers discover URLs and understand when they last changed. That makes accuracy more important than size: a sitemap full of redirects, 404s and noindex pages wastes crawl attention and erodes trust in the file.

What the generator does

  • Reads one URL per line. Blank lines and lines starting with # are ignored, so you can comment a list.
  • Adds a scheme when the input looks like a host. example.com/page becomes https://example.com/page. A line that does not look like a host is reported instead of guessed.
  • Normalises the protocol. Force https, force http, or leave each line exactly as typed.
  • Strips tracking parameters. utm_*, fbclid, gclid, mc_cid, ref, _ga and similar parameters are removed, because they identify a click rather than a page.
  • Removes a trailing slash on non-root paths. /page/ and /page become one entry instead of two.
  • De-duplicates. Lines that resolve to the same URL after normalisation are merged, and the duplicate is reported with its line number.
  • Adds lastmod. A per-line ?lastmod=YYYY-MM-DD value is used when present; otherwise the fallback date applies.
  • Optionally adds changefreq and priority. Both are accepted by the protocol and ignored by Google.

The output is a UTF-8 XML document with the standard urlset namespace. It is not uploaded or written anywhere; you copy it into a file.

How to generate a sitemap

  1. Open the XML sitemap generator.
  2. Paste your URLs, one per line. Full URLs are safest.
  3. Choose the protocol policy. Force https is the right choice for almost every site.
  4. Decide whether to include lastmod. Keep it on if you have honest dates.
  5. Leave changefreq and priority off unless a tool in your stack requires them.
  6. Set the fallback last-updated date if you are not supplying per-URL dates.
  7. Press Run and copy the XML into public/sitemap.xml, or the equivalent path on your host.
  8. Submit the sitemap URL in Google Search Console and Bing Webmaster Tools.

If you need to give one page a specific date, append ?lastmod=2026-10-23 to its line. The parameter is consumed by the generator and does not appear in the output URL.

Protocol, lastmod and the optional fields

Setting What it changes Recommendation
Force https Rewrites every http:// URL to https:// Use this when the site redirects to https
Force http Rewrites every https:// URL to http:// Only for a site that genuinely runs on http
Leave as typed Keeps each line's scheme Use when the list deliberately mixes hosts
Include lastmod Adds <lastmod> to each URL Keep, with real dates
Add changefreq and priority Adds both tags to each URL Usually unnecessary; Google ignores them
Fallback date Used when a line has no ?lastmod= Set a date you can defend

lastmod is the only optional field with a practical effect, and even that is only a hint. Google says it ignores dates it cannot verify, so a file that claims every page changed today is less useful than one with a few honest dates.

Common problems and fixes

"None of those lines is a valid absolute http(s) URL." Every line failed the URL check. Look for missing dots in hostnames, spaces inside the URL, or a scheme such as ftp://. A URL with a space must encode it as %20.

Some URLs were skipped. The result lists the line numbers. Usually the line is a bare word (about) rather than a host, or it contains a character the parser cannot accept. Fix those lines and run again.

The sitemap contains a wildcard pattern. A sitemap lists exact URLs, not URL patterns. https://example.com/blog/* is not expanded by this tool and should not be in a sitemap. List the actual pages, or generate the file from your CMS.

Two URLs became one. Tracking parameters were stripped and duplicates merged. That is usually correct: ?utm_source=newsletter is the same page. If the parameter genuinely changes the content, remove it from the tracking list only by editing the URL, because the tool treats those names as tracking by design.

lastmod is the same for every URL. You left the fallback date in place. Add per-line ?lastmod= values if the dates differ, or accept a single date for a bulk update.

A URL in the sitemap returns a 404. The tool does not crawl your site, so it cannot know. Check the list in Search Console, or use a crawler, before submitting. Only list pages that return 200.

A noindex page is in the sitemap. That is a contradiction. Remove the page from the sitemap or remove the noindex directive. Check the page's tags with the meta tag analyzer.

The file is too large. A sitemap may hold at most 50,000 URLs and must stay under 50 MB uncompressed. This tool accepts up to 5,000 pasted lines, which is comfortably below the protocol limit. For larger sites, generate a sitemap index and split the URLs.

Tips for a sitemap that stays useful

  • List only canonical URLs. If a page is reachable in several forms, choose one with the canonical tag builder and list only that form.
  • Exclude redirects, 404s and private pages. A sitemap is a list of destinations, not a wish list.
  • Keep the file current. Add new URLs when you publish, and remove deleted ones. An automated generator from your CMS is better than a hand-maintained list at scale.
  • Do not rely on priority. Google explicitly ignores it. If you want a page to rank, improve the page.
  • Submit once, then let the sitemap do its job. Resubmitting the same file repeatedly does not speed up indexing.
  • Reference the sitemap in robots.txt. The robots.txt generator adds the Sitemap: line for you.

How the sitemap fits with robots.txt and canonicals

These files answer different questions:

  • robots.txt says what crawlers may fetch.
  • A sitemap says which URLs you want discovered.
  • A canonical tag says which URL is the preferred version when duplicates exist.

A common mistake is blocking a section in robots.txt and then listing those same URLs in the sitemap. Pick one intention: either the pages should be crawled and indexed, or they should not. If they should not be indexed, a noindex tag is usually the right tool, and the page must remain crawlable for the crawler to see it.

Frequently asked questions

Is the XML sitemap generator free?

Yes. There is no account and no charge.

Does it crawl my site?

No. It builds XML from the URLs you paste. It does not fetch pages, check status codes or discover links. You are responsible for listing live, canonical URLs.

What is the maximum number of URLs?

The protocol allows 50,000 URLs and 50 MB uncompressed per sitemap file. This tool accepts up to 5,000 pasted lines to keep the page responsive.

Does Google use changefreq and priority?

No. Google ignores both. They are valid in the sitemap protocol and other tools may read them, but they do not affect Google ranking or crawl scheduling.

Should the sitemap include every page?

No. Include canonical, indexable pages that return 200. Leave out redirects, errors, noindex pages, and URLs you do not want discovered.

Where do I put the sitemap file?

At the site root, normally public/sitemap.xml in a Laravel project, so it is reachable at https://yourdomain.com/sitemap.xml. Then add the full URL to robots.txt and submit it in Search Console.

Bottom line

A sitemap is only as good as the list behind it. Generate the XML from a clean list of canonical, indexable URLs, keep the dates honest, and skip the fields search engines ignore. Start with the XML sitemap generator, settle duplicate URLs with the canonical tag builder, and point to the file from the robots.txt generator.

Was this helpful? Leave a like or tell us below.

Comments (0)

Be the first to share feedback on this post.

Related posts

View all