A web migration is one of the highest-risk SEO moments for any site. Domain changes, URL restructures, platform migrations (WordPress to another CMS, for example), or site consolidations can cause organic traffic drops of 30–80% if redirects are not implemented correctly. This guide covers the complete process: from the pre-migration audit through post-migration monitoring and the long-term redirect cleanup strategy.
Migration types and SEO risk level
| Migration type | SEO risk | Redirects needed | Estimated recovery time |
|---|---|---|---|
| HTTP → HTTPS (same domain) | Low | All URLs | 2–4 weeks |
| URL structure change | Medium | All affected URLs | 1–3 months |
| Domain change | High | All site URLs | 3–6 months |
| Platform migration + URLs | Very high | All site URLs | 3–9 months |
| Merging two sites | Very high | All URLs from both sites | 4–12 months |
Phase 1: URL audit before migrating
The first step is to obtain a complete inventory of all current site URLs that have SEO value. Not all URLs deserve an individual redirect — pages with no organic traffic, no backlinks, and no structural importance can simply return a 404.
Which URLs to prioritize for redirection
- 1.URLs with organic traffic in the last 12 months (export from Google Search Console → Performance → Pages).
- 2.URLs with valuable external backlinks (export from Ahrefs, Semrush, or Google Search Console → Links).
- 3.URLs linked from main navigation, the footer, or the XML sitemap.
- 4.URLs appearing in search results (available in GSC → Indexed pages).
- 5.URLs with relevant referral traffic (Analytics → Acquisition → Referral).
Practical rule: if a URL has received at least 10 organic visits in the last 6 months OR has at least one external backlink, it deserves an individual 301 redirect to its equivalent in the new site.
Phase 2: Redirect mapping
Mapping involves associating each old URL with its equivalent on the new site. This process is manual and requires editorial judgment — it cannot be fully automated.
Types of mapping
- •1-to-1 mapping: each old URL has an equivalent URL on the new site. This is the ideal case and the simplest to implement.
- •Category mapping: a discontinued product URL redirects to its parent category. Acceptable if there is no relevant equivalent.
- •Homepage mapping: only as a last resort and only for URLs with no traffic or backlinks. Google treats homepage redirects as a "soft 404" for content with no relevant equivalent.
- •Wildcard redirect: when an entire section changes URL structure (/blog/year/month/slug → /blog/slug), you can use a regex rule that captures the slug and reinserts it in the new structure.
Mapping document structure
Create a spreadsheet with these columns: Source URL, Destination URL, Mapping type (1-to-1 / category / wildcard), Priority (high/medium/low based on traffic+backlinks), Status (pending/implemented/verified), and Owner.
Phase 3: Redirect architecture
The architecture defines how redirects are technically implemented. The goal is for each old URL to reach the final destination in a single hop, without chains.
Specific rules vs. general rules
Specific rules (exact URL-to-URL) always take priority over general rules (regex or wildcard). Implement the specific ones first, then the general ones. This prevents a general rule from intercepting a URL that has its own specific redirect.
Example implementation in Apache
# 1. Specific redirects (highest priority) Redirect 301 /blog/old-article /resources/new-article Redirect 301 /products/old-category /catalog/new-category # 2. Wildcard rule for the entire /blog/ section RewriteRule ^blog/(.*)$ /resources/$1 [R=301,L] # 3. Any remaining /blog/ URLs not mapped go to /resources/ Redirect 301 /blog/ /resources/
Phase 4: Staging testing before launch
Never implement redirects directly in production without testing them first. A configuration error can create redirect loops or break access to entire sections of the site.
Testing checklist for staging
- 1.Verify a representative sample of URLs from each type (specific, wildcard, full sections).
- 2.Confirm no redirect loops exist (A → B → A).
- 3.Verify no chains exist (A → B → C when A should go directly to C).
- 4.Confirm HTTP codes are 301 (not 302) for permanent redirects.
- 5.Test behavior on mobile and desktop if you have separate m. URLs.
- 6.Verify that internal links on the new site no longer pass through old URLs.
- 7.Confirm the XML sitemap contains only the new URLs.
- 8.Block the staging environment from crawlers (robots.txt Disallow: /) during testing.
Use iRankly's Redirect Chain Analyzer to verify in bulk that the most important staging URLs resolve correctly without chains or loops.
Try the tool for free
Redirect Chain AnalyzerAnalyze your URLs with {tool} by iRankly. No sign-up, no credit card.
Phase 5: Post-migration monitoring
The first 30–60 days after launch are critical. Google needs time to crawl the new URLs, process the redirects, and update its index. During this period, actively monitor warning signals.
Metrics to monitor weekly
- •Coverage errors in Google Search Console (excluded URLs, 404 errors, server errors).
- •Impressions and clicks in GSC → Performance. A sustained drop beyond the first 2–3 weeks indicates problems.
- •Organic traffic in Analytics segmented by site section.
- •Rankings for your main keywords (position tracking tool).
- •Crawl errors in GSC → Settings → Crawl stats.
- •Number of indexed URLs (GSC → Index → Pages). Should stabilize gradually.
It is normal to see a traffic drop of 10–30% during the first 2–4 weeks after a large migration. If the drop exceeds 50% and does not recover within 6–8 weeks, there is a problem requiring immediate intervention.
When and how to remove old redirects
Redirects are not free — they consume server resources and add latency. But removing them prematurely can produce 404s that destroy accumulated rankings.
| Redirect age | Recommended action |
|---|---|
| 0–6 months | Keep all redirects active without exception |
| 6–12 months | Remove redirects for URLs with no traffic or backlinks (verify in GSC and Ahrefs) |
| 12–24 months | Remove most redirects, keep only those receiving active traffic or backlinks |
| More than 24 months | Review case by case. Only keep redirects for URLs with active external backlinks |
Before removing any redirect, verify in Google Search Console that the source URL no longer appears in click or impression reports, and in Ahrefs/Semrush that it has no active backlinks pointing to it.