DEV Community

Delowar Hossain
Delowar Hossain

Posted on

How I stopped opening five sitemap files by hand.

 If your site runs on WordPress with Yoast or RankMath, your sitemap probably isn't one file. Once you pass a few thousand URLs, these plugins split it into post-sitemap1.xml, post-sitemap2.xml, and so on. That's fine for search engines. It's annoying when you're the one who needs every URL on the site in one list, for a content audit, a broken-link sweep, or feeding pages into a scraper.

I ended up building a small Make.com scenario to handle it, and I'm sharing the structure here in case it saves someone else the same afternoon.

The problem with paginated sitemaps

Search engines handle sitemap indexes without issue. People don't. If you want a full inventory of every published URL and that inventory lives across five separate XML files, you're stuck opening each one, copying the <loc> values, and pasting them somewhere useful. Do that for a client site with an unknown number of sitemap pages, and it stops being a five-minute task.

How the scenario is built

Four steps, no code:

  • Repeater runs a fixed number of times (set this to match however many sitemap pages the site has)
  • Increment counts up on each loop, starting at 1
  • HTTP GET requests yoursite.com/post-sitemap{{i}}.xml using that counter, so it walks through every page in order
  • Set Variable parses the XML response and joins every <loc> entry into a single newline-separated string

The last step writes that combined list into a Make Data Store as one record. From there it's just structured data. You can pull it into another scenario, export it, or run a second automation that loops through each URL individually.

What this is actually useful for

Once every URL on a site lives in one data store, a few things get a lot easier:

  • Content audits: see the full inventory of published pages without a crawler
  • Broken link checks: feed the list into an HTTP request loop and flag anything that doesn't return a 200
  • Migration prep: confirm nothing gets left behind when moving a site
  • Scraping pipelines: use the URL list as the input for a content extraction workflow

Setting it up

Two things to change before running it:

  1. Swap YOUR_WEBSITE in the HTTP module for the actual domain
  2. Set the Repeater's count to match how many sitemap pages that site has (check sitemap_index.xml if you're not sure)

Everything else runs as is. If a site only has one sitemap file, this is overkill. Once a site has three or more, it stops being optional.

I packaged this scenario as a ready-to-import template on Automation Workflows, a marketplace for Make.com, n8n, Zapier, and AI agent templates, if you'd rather skip rebuilding it from scratch. It sits alongside templates for data pipelines, lead gen, CRM sync, and reporting, built by different automation builders and downloadable directly.

Where this leaves you

Sitemaps are a small, boring problem until a site grows past what one file can hold. A four-step scenario is enough to stop thinking about it. Everything downstream, audits, link checks, migrations, gets easier once the URLs live in one place instead of five. If you're building out automations regularly, Automation Workflows is worth a browse before you build the next one from scratch too.

Top comments (0)