Bulk Redirect Old URLs After a CMS Migration

Every time you migrate a CMS, restructure site navigation, or change your URL naming convention, you create hundreds or thousands of broken URLs. Bulk redirects are the only way to avoid a mass 404 catastrophe — and doing it manually is not an option at scale.

The scale problem

A typical blog with 3 years of content might have 500 articles. A move from WordPress to a headless CMS often changes the URL structure entirely — /2021/04/15/post-title becomes /blog/post-title. That is 500 unique redirect rules that cannot be covered by a single wildcard pattern.

Each of those old URLs likely has at least some indexed pages in Google, inbound links from other sites, or saved bookmarks from readers. Letting them 404 means losing all of that accumulated traffic and ranking authority.

The SEO impact compounds over time. Google does not immediately remove 404 pages from its index — it takes weeks or months. During that window, users clicking search results land on broken pages, increasing bounce rates and eroding the site's quality signals.

The manual approach does not scale

# .htaccess — manually adding 500 lines
Redirect 301 /2021/04/15/post-one /blog/post-one
Redirect 301 /2021/05/02/post-two /blog/post-two
Redirect 301 /2021/06/10/post-three /blog/post-three
# ... 497 more lines ...

# One wrong entry breaks all subsequent redirects.
# No validation, no preview, no audit trail.

Editing .htaccess files directly is error-prone. A single syntax mistake can break all redirects below it. There is no way to preview changes before they go live, no history of who edited what, and no easy way to bulk edit or roll back.

With RedirectIQ: bulk import in 2 minutes

Export your old URLs from your CMS or Google Search Console. Create a CSV with two columns and import it:

old_url,new_url
/2021/04/15/post-one,/blog/post-one
/2021/05/02/post-two,/blog/post-two
/2021/06/10/post-three,/blog/post-three
  • Import up to thousands of rules in a single CSV upload.
  • Preview all rules before they go live — catch mistakes before users see them.
  • Add a wildcard catch-all for any URLs you missed: /old-section/*/new-section/*
  • Full audit log so you can see exactly when each rule was imported and by whom.
Import your redirect rules →

Related use cases