Redirects & Links

Bulk Redirects After a Site Migration: A Checklist

The hard part of a migration is not the plugin, it is the list. Here is how to build a URL map, turn it into working rules, and prove nothing was left behind.

On this page
  1. Start With the List, Not the Plugin
  2. Map Old to New, One to One
  3. Pick the Right Redirect Type
  4. Turn the Map Into Rules Without 300 Clicks
  5. Purge the Cache or Nothing Changes
  6. Verify From the Outside
  7. Keep Them, and Watch What They Catch

The plugin is the easy part of a migration. The work is the map: a list of every URL the old site answered, each one pointing at a deliberate destination on the new site. Build that first in a spreadsheet, then create the rules, then verify from outside your own browser. Skip the map and you will spend the next three months discovering broken URLs one angry email at a time.

Google’s guidance for a site move with URL changes says the same thing in fewer words: map old to new, use permanent redirects, and keep them for at least a year. Here is how to do that on a WordPress site without losing a weekend.

Start With the List, Not the Plugin

You need every URL that used to work, and no single source has all of them. Pull from four places and combine.

The old sitemap is the fastest start, since it lists what the site published. Google Search Console’s pages report tells you what was actually indexed, which is what search engines keep requesting. Analytics gives you the URLs that had real traffic. Server logs catch the rest: old feed URLs, image paths, campaign links, the odd file someone still hotlinks.

Paste the lot into a spreadsheet, remove duplicates, and sort by traffic. That order matters, because if you run out of time you want the top 200 URLs done properly rather than 2,000 done carelessly.

Map Old to New, One to One

Add a second column and fill in the destination for each row. The rule for filling it: send a visitor where they were trying to go. A review of a product goes to the new review of that product, not to the reviews index, and definitely not to the homepage.

Redirecting everything to the homepage is the classic migration mistake. Search engines treat a redirect to an unrelated page as a soft 404, so you throw away the ranking transfer that was the entire point, and visitors bounce because they did not get what they clicked. Where no equivalent exists, use the closest real parent, or accept a clean 404. An honest 404 is easier for everyone than a redirect that lies.

Note one thing WordPress does for free: when you change a post’s slug on the same site, WordPress remembers the old one and forwards requests to it. That covers slug edits and nothing else, so it is not a substitute for the map when the domain or the URL structure changes.

Pick the Right Redirect Type

For a migration, use 301. It signals a permanent move, which is what tells search engines to transfer ranking signals to the new URL and to stop asking for the old one. A 302 says the old URL is coming back, which stalls the whole transfer, and it is the default in more tools than you would expect. The full picture is in 301 vs 302 redirects.

Use 308 only where the request method must be preserved, such as form submissions or API endpoints. For ordinary content moves, 301 is correct.

Turn the Map Into Rules Without 300 Clicks

Look for patterns before you start typing, because most maps collapse into a handful of rules. If the whole site moved to a new domain with the same paths, one rule that sends every visitor to the same path on the other domain covers thousands of URLs at once.

For the leftovers, DevDome Redirect Manager takes a list of custom paths one per line in a single rule, so a spreadsheet column pastes straight in, and a trailing slash matches everything under a path. A catch-all rule on all 404s makes a reasonable safety net for stragglers, as long as it lands somewhere genuinely useful. Rules run in priority order, so put your specific rules above the catch-all.

If you built and tested the migration on staging, export the rules to a file there and import them on the live site rather than rebuilding by hand. One caution worth reading twice: an import replaces every rule on the site, and imported rules arrive stopped, so review them before you start them.

Purge the Cache or Nothing Changes

This is where a correct migration looks broken. Caching plugins and CDNs store finished copies of pages, and a stored copy has no idea you just wrote a redirect rule. You test an old URL, get the old page, and start doubting rules that are perfectly fine.

Clear every layer after you save: the caching plugin, your host’s server cache, and the CDN if you use one. Redirect Manager purges the pages a rule targets when you save or run it, across ten common cache plugins including WP Rocket, LiteSpeed Cache, W3 Total Cache and WP Super Cache. The full failure mode is in why redirects break after caching.

Verify From the Outside

Test logged out, in a private window, on the live domain. Logged-in sessions bypass caches and see a version of the site nobody else gets, which is how a broken redirect passes an internal check.

Run your top URLs through a redirect checker and read two things: the status code should be 301, and the chain should be one hop. If you see 301 to 301 to 200, edit the first rule so it points at the final destination. Confirm too that no rule points back at its own source, which is how a redirect loop starts.

Then finish the housekeeping: submit a sitemap of the new URLs in Search Console, update internal links to point at the new URLs directly rather than through redirects, and leave the old sitemap in place for a while so search engines can work through it.

Keep Them, and Watch What They Catch

For the next few weeks your 404 log is the most useful page on the site. Every entry is a URL your map missed. Check it weekly, add the rules, and the list should shrink toward nothing.

Expect noise in there. Much of the post-migration 404 traffic is automated: crawlers re-checking old paths and scanners probing for files that never existed, arriving from hosting networks rather than real readers. Fix what people and search engines request; ignore the requests for wp-config backups.

Then leave the redirects alone. Per-rule click counts tell you which ones still carry traffic a year later, and the answer is usually more than you expect, because links on other people’s sites never get updated. Deleting a working redirect is a decision with no upside, so keep them running and let them quietly do their job.

Disclosure: DevDome publishes this blog and makes the products it mentions. We describe what they do rather than promise results.

Key takeaways

  • The work is the URL map, not the plugin: every old URL needs a deliberate destination.
  • Use 301 for a permanent move, and keep the redirects at least a year, which is Google's own advice.
  • Do not send everything to the homepage; an irrelevant redirect is treated as a soft 404.
  • Purge caches after saving rules, or a cached page will keep serving the old destination.
  • Verify logged out and from the outside, then watch your 404 log for several weeks.

Sources

  1. Google Search Central: site moves with URL changes — building a URL mapping, using permanent redirects, and keeping them at least a year
  2. Google Search Central: redirects and Google Search — how permanent and temporary redirects are interpreted for ranking signals

Links last checked August 12, 2026.

Frequently asked questions

How long should I keep migration redirects in place?

Google advises keeping them for as long as possible and at least one year, which is roughly how long it takes for ranking signals to settle on the new URLs. In practice there is little reason to ever remove them. Old links on other people's sites and in old emails keep sending people your way long after search engines have caught up.

Can I just redirect every old URL to the homepage?

No. A redirect to a page with no relationship to what the visitor asked for is treated as a soft 404 by search engines, so you lose the ranking transfer you set the redirect up to get. It is also a bad experience: someone looking for a specific review lands on your front page and leaves. Map to the closest real equivalent instead.

Do redirect chains cause problems?

They add latency and they make debugging miserable, since one URL passing through three hops is three chances to break. Point each old URL directly at its final destination. If you have moved twice, update the first redirect to skip the middle step rather than stacking a new rule on top.

What if an old URL has no equivalent on the new site?

Send it to the closest genuinely relevant page, such as the parent category. If nothing fits, letting it return a clean 404 is a legitimate answer and better than a misleading redirect. Search engines handle honest 404s fine; what confuses them is a redirect that lands somewhere unrelated.

DevDome Team WordPress plugin builders

The DevDome team builds lightweight, performance-first WordPress plugins and free tools for site owners, founders and marketers. We write about the exact problems our plugins solve, in plain language for people who run real sites.