---
title: "301 Redirect Generator: Bulk Redirect Map From Sitemaps"
description: "Free 301 redirect generator: match old and new URLs from two sitemaps, flag chains and loops, export bulk redirects for .htaccess, Nginx, Cloudflare and more."
url: "https://dardo.studio/en/tools/redirect-map-generator/"
language: "en"
translations: {"es":"https://dardo.studio/es/herramientas/generador-redirecciones-301/","pt":"https://dardo.studio/pt/ferramentas/gerador-redirecionamento-301/"}
updated: "2026-10-15"
---

Free tools

# Redirect map generator: match old URLs to new ones and export bulk 301 redirects

A redirect map lists every URL of your old site and the page of the new site it should send visitors and search engines to. This generator builds one from two lists: fetch both sitemaps, paste the URLs or upload a crawl export, and it matches each old URL to its closest new page, flags the rows that need a decision and writes the rules for the server or platform the new site runs on. The matching runs in your browser.

By Dardo editorial team · Updated Oct 15, 2026 · 6 min read

[Get a proposal](https://dardo.studio/en/contact/?service=website-migration)

The URLs that exist today and may have search traffic or links.

The URLs of the new site: its sitemap, a staging crawl or a page list.

The matching runs in your browser; only sitemap addresses you type are read by our server.

**Form fields**

- Site or sitemap address
- Or paste URLs or paths, one per line
- Or upload a sitemap.xml or a crawl export (CSV)
- Site or sitemap address
- Or paste URLs or paths, one per line
- Or upload a sitemap.xml or a crawl export (CSV)
- Redirect type: 301 (permanent, most common); 308 (permanent, keeps the method)
- Old domain
- New domain (if it changes)

## Key takeaways

- Map every old URL with traffic, links or bookmarks to its closest new page, using sitemaps, Search Console and server logs.
- Use permanent redirects (301 or 308), point straight to the final URL, and keep them at least a year.
- Don't send unrelated old pages to the home page: Google may treat them as soft 404s.

## How to build a redirect map with this generator

1. **Collect the old URLs.** Start with the old sitemap, then add what a sitemap misses: the pages in Search Console's Pages report and Links report, and URLs your server logs show were visited recently. Google's site-move guide lists the same three sources.
2. **Collect the new URLs.** Use the new site's sitemap on staging, a crawl of the staging site, or the planned page list.
3. **Build the map.** Each old URL is matched in this order: the same path, the same page name (the last part of the address), a page with similar words, and finally its nearest parent section.
4. **Review the rows marked to check.** "Similar" matches are usually right but need a look; "section" rows had no close page. Edit any target in the table; the export follows your edits.
5. **Export** for your server or platform, and keep the CSV as the record of what you decided.

## Which old URLs need a redirect

Every old URL that still has a reason to exist: pages with search traffic, pages other sites link to, pages people bookmarked or shared, and files such as PDFs that are linked from elsewhere. If a page's address doesn't change, it needs no redirect: the generator counts those as keeping their address and leaves them out of the export.

A page you are removing on purpose, with no equivalent on the new site, can return 404 or 410 instead. That is better than sending it to an unrelated page.

## 301, 302 or 308

Use a permanent redirect for a migration. Google's documentation treats 301 and 308 as permanent: the target becomes the canonical page and shows in results. A 302 or 307 is temporary, and Google keeps showing the old URL. A 301 is the usual choice; a 308 also keeps the request method, which matters for forms and APIs, not for pages.

Keep the redirects for as long as you can. Google advises at least a year, and the links pointing at your old addresses don't expire, so many teams keep them indefinitely.

## Avoid chains, loops and home-page dumps

- **Chains.** If an old URL redirects to a page that is itself redirected, visitors and crawlers take two hops. Google advises redirecting to the final destination directly; the generator points chained rows at the last URL.
- **Loops.** Two URLs that redirect to each other never load. The generator flags them for you to pick a final page.
- **Home-page dumps.** Sending many unrelated old URLs to the home page looks like missing pages to Google, which may treat them as soft 404s. Find the closest page or section, or let the page go.
- **Duplicates.** One old URL with two rules: keep one. Cloudflare's Bulk Redirect lists reject duplicate source URLs.

## Where the rules go on each platform

__Where the rules go on each platform__
| Platform                        | Where the rules go                                                                                                                                                      | Export                      |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------- |
| Netlify, Cloudflare Pages       | A \_redirects file in the published folder; Cloudflare Pages assumes 302 when no status is given, so every rule states one, and takes up to 2,000 static rules per file | Netlify or Cloudflare Pages |
| Cloudflare (any site on a zone) | A Bulk Redirect List imported from CSV, with no header row                                                                                                              | Cloudflare Bulk Redirects   |
| Apache                          | .htaccess or the server config, before other rewrite rules                                                                                                              | Apache                      |
| Nginx                           | Inside the site's server { } block                                                                                                                                      | Nginx                       |
| Vercel                          | The redirects array of vercel.json                                                                                                                                      | Vercel                      |
| Next.js                         | The redirects() function in next.config.js                                                                                                                              | Next.js                     |
| Astro                           | The redirects option in astro.config.mjs, or the host's own rules                                                                                                       | Astro                       |
| Shopify                         | Content → Menus → URL redirects, imported from CSV                                                                                                                      | Shopify                     |

Platforms with their own redirect screens, such as Webflow or a WordPress plugin, accept the paths from the CSV export.

## After launch: what to check

- Request every old URL and confirm each answers with one 301 to a page that answers 200.
- Submit the new sitemap in Search Console. If the domain changed, use the Change of Address tool for each version of the old domain.
- Watch Search Console's Pages report for 404s, and server logs for old URLs nobody mapped.
- Update your own links (navigation, emails, ads, profiles) to the new addresses, so visitors skip the redirect.

A migration also moves titles, structured data, internal links and analytics. Our [website migration checklist](https://dardo.studio/en/blog/website-migration-seo-checklist/) covers the rest of the move.

## Questions before you choose

**What is a redirect map?**

A list of every URL on your old site and the URL on the new site it should permanently redirect to, with notes on decisions. It's the core document of a site migration: developers implement it, and SEO checks it before and after launch.

**How do I find all the old URLs?**

Combine the old sitemap, the URLs in Search Console's Pages and Links reports, and URLs your server logs show were visited recently. A crawl of the old site with a tool like Screaming Frog catches pages missing from the sitemap.

**Should I redirect old pages to the home page?**

Only when the home page is genuinely the closest equivalent. Google warns that redirecting many old URLs to one irrelevant page may be treated as a soft 404. Redirect to the closest page or section, or let a page with no equivalent return 404 or 410.

**301 or 308 for a site migration?**

Either is permanent for Google. A 301 is the usual choice for pages; a 308 also preserves the request method, which matters for forms and APIs. Avoid 302 and 307 for a migration: they're temporary.

**How long should I keep redirects?**

Google advises at least a year. Links to your old addresses keep working only while the redirects exist, so many sites keep them indefinitely and update their own links to the new URLs.

**Is the redirect map generator free? Do you keep my URLs?**

It's free and needs no account. The matching runs in your browser; when you fetch a sitemap by address, our server reads that public sitemap and returns its URLs without storing them.

## Sources & further reading

Sources behind this page, with further detail from the original publishers.

- [Google Search Central: Site moves with URL changes](https://developers.google.com/search/docs/crawling-indexing/site-move-with-url-changes) · developers.google.com
- [Google Search Central: Redirects and Google Search](https://developers.google.com/search/docs/crawling-indexing/301-redirects) · developers.google.com
- [Cloudflare: CSV file format for Bulk Redirects](https://developers.cloudflare.com/rules/url-forwarding/bulk-redirects/reference/csv-file-format/) · developers.cloudflare.com
- [Cloudflare Pages: Redirects](https://developers.cloudflare.com/pages/configuration/redirects/) · developers.cloudflare.com
- [Netlify: Redirects and rewrites](https://docs.netlify.com/routing/redirects/) · docs.netlify.com
- [Vercel: Redirects](https://vercel.com/docs/redirects) · vercel.com
- [Next.js: redirects in next.config.js](https://nextjs.org/docs/app/api-reference/config/next-config-js/redirects) · nextjs.org
- [Astro: Configured redirects](https://docs.astro.build/en/guides/routing/#configured-redirects) · docs.astro.build
- [Apache: mod\_alias RedirectMatch](https://httpd.apache.org/docs/current/mod/mod%5Falias.html#redirectmatch) · httpd.apache.org
- [nginx: the return directive](https://nginx.org/en/docs/http/ngx%5Fhttp%5Frewrite%5Fmodule.html#return) · nginx.org
- [Shopify Help Center: URL redirects](https://help.shopify.com/en/manual/online-store/menus-and-links/url-redirect) · help.shopify.com

[Dardo](https://dardo.studio/) · [Free tools](https://dardo.studio/en/tools/) · Redirect map generator

## Plan the rest of the migration

Redirects are one part of moving a site. Check the rest, or have us plan and run it.

[01 · **Migration checklist** · Titles, structured data, analytics and launch checks](https://dardo.studio/en/blog/website-migration-seo-checklist/) · [02 · **Website migration service** · URL inventory, redirect map and post-launch checks](https://dardo.studio/en/services/website-migration/) · [03 · **Talk to Dardo** · Send your dates and platforms](https://dardo.studio/en/contact/)

## Keep exploring.

- [Service · **Website migration services without losing SEO**](https://dardo.studio/en/services/website-migration/)
- [Service · **Astro development: fast content sites and migrations**](https://dardo.studio/en/services/astro-development/)
- [Service · **Webflow design and development for marketing teams**](https://dardo.studio/en/services/webflow-development/)

- [Service · **Framer website design and development for startups**](https://dardo.studio/en/services/framer-development/)

**More to explore**

- [Service · **Technical SEO for new and custom-built websites**](https://dardo.studio/en/services/seo/)
- [Service · **Website redesign services built on what already works**](https://dardo.studio/en/services/website-redesign/)
