SEO Guide
Enterprise Site Migration SEO Playbook
A step-by-step SEO playbook to protect rankings, traffic, and revenue when replatforming or redesigning an enterprise website.
The article
Moving an enterprise website is one of the most high-risk projects a marketing and engineering team will face. With dozens of templates, legacy redirects, and stakeholders involved, it only takes one misstep to lose search visibility. This playbook outlines the SEO workstreams required before, during, and after launch to protect rankings and unlock growth opportunities.
Series Note: This is Part 4 of our Site Infrastructure series. We've covered hub & spoke architecture, location page implementation, and headless CMS SEO. Now we're tackling the scariest project of all: the full site migration.
The Migration Risk Reality
Here's what keeps SEO teams up at night:
| Risk | Impact | Recovery Time |
|---|---|---|
| Missing redirects | 10-50% traffic loss | 3-6 months |
| Canonical confusion | Duplicate content penalties | 2-4 months |
| Broken internal links | Crawl inefficiency | 1-2 months |
| Schema markup errors | Rich result loss | 1-3 months |
| Core Web Vitals regression | Ranking drops | 2-4 weeks |
The good news: every risk is preventable with proper planning.
Phase 1: Build the Migration Blueprint (Weeks 1-2)
Align Stakeholders
Migrations fail when teams work in silos. Lock these in first:
- Executive sponsor — Someone with authority to resolve conflicts
- Migration lead — Single point of accountability
- Cross-functional team — SEO, dev, product, analytics, paid media, RevOps
Communication Cadence
| Phase | Cadence | Attendees |
|---|---|---|
| Planning | Weekly | Full team |
| Pre-launch | Twice weekly | Core team |
| Launch week | Daily standups | Everyone |
| Post-launch | Daily for 7 days, then weekly | Core team |
Document Scope & Risks
Answer these questions in writing:
- Goals: Preservation only, or growth opportunity?
- Domains: Single domain, or multiple properties consolidating?
- Platform change: Same CMS, or moving to headless architecture?
- URL changes: Keeping structure, or implementing hub & spoke?
- Timeline: Hard deadline, or flexible?
Risk Register
Create a risk register with ownership:
| Risk | Likelihood | Impact | Mitigation | Owner |
|---|---|---|---|---|
| Redirect gaps | High | Critical | 100% URL mapping | SEO Lead |
| CWV regression | Medium | High | Performance budget | Dev Lead |
| Schema errors | Medium | Medium | Automated validation | SEO Lead |
Phase 2: Complete URL Inventory (Weeks 2-3)
This is the foundation of your redirect strategy. Skip it, and you're gambling.
Crawl Everything
Use Screaming Frog or Sitebulb with both user agents:
# Desktop crawl
screaming-frog --config desktop.seospiderconfig --export urls-desktop.csv
# Mobile crawl
screaming-frog --config mobile.seospiderconfig --export urls-mobile.csv
Export Data Points
For every URL, capture:
- Status code (200, 301, 404, etc.)
- Canonical URL
- Meta title and description
- H1 tag
- Word count
- Internal links (in and out)
- External backlinks (from Ahrefs/SEMrush)
- Organic traffic (from GA4)
- Conversions (from GA4)
Group by Template
Different templates need different handling:
| Template | Count | SEO Priority | Notes |
|---|---|---|---|
| Homepage | 1 | Critical | All backlinks point here |
| Service pages | 9 | Critical | Revenue pages |
| Location pages | 790 | High | Local SEO critical |
| Blog posts | 150 | Medium | Content marketing hub |
| Resources | 50 | Medium | Lead gen pages |
| Utility pages | 30 | Low | Privacy, terms, etc. |
Flag Content for Pruning
Not everything deserves migration:
- Thin content — Pages under 300 words with no traffic
- Duplicate content — Near-identical pages
- Outdated content — News from 3+ years ago
- Low-value utility — Printer-friendly versions, empty categories
Consolidating weak content during migration can actually improve SEO. Just redirect the pruned URLs to relevant surviving pages.
Phase 3: Architect Information Structure (Weeks 3-4)
Map Keyword Research to New IA
Your URL structure should reflect your hub & spoke architecture:
OLD:
/our-services/seo-services/
/our-services/google-ads-management/
/about-us/locations/sydney/
NEW (Hub & Spoke):
/services/ # Services hub
/services/search-engine-optimization # Service spoke
/services/google-ads-management # Service spoke
/locations/ # Locations hub
/locations/sydney # Location spoke
/locations/sydney/seo # Matrix page
Navigation & Breadcrumbs
Align navigation labels with keyword clusters:
Home > Services > SEO > Sydney
Each breadcrumb element should be:
- A keyword people actually search
- A clickable link (except current page)
- Consistent across all templates
Define URL Rules
Document these decisions:
| Element | Rule | Example |
|---|---|---|
| Case | Lowercase only | /services/seo |
| Separators | Hyphens | /search-engine-optimization |
| Trailing slash | No | /services/seo not /services/seo/ |
| Parameters | Avoid when possible | Use paths instead |
| Depth | Max 4 levels | /services/seo/sydney/case-study |
Phase 4: Develop Redirect Strategy (Weeks 4-5)
One-to-One Mapping
Create a master spreadsheet:
| Source URL | Destination URL | Status | Priority | Notes |
|---|---|---|---|---|
| /our-services/seo/ | /services/search-engine-optimization | 301 | Critical | Top revenue page |
| /blog/old-post/ | /blog/new-post/ | 301 | High | Has backlinks |
| /old-landing-page/ | /services/seo | 301 | Medium | Consolidating |
Redirect Rules
| Scenario | Redirect Type | Example |
|---|---|---|
| Page moved | 301 | /old → /new |
| Page consolidated | 301 | /thin-page → /better-page |
| Page deleted | 301 to parent | /old-post → /blog |
| Temporary change | 302 | Testing only |
Avoid These Mistakes
- Redirect chains —
/a→/b→/c(max 1 hop) - Redirect loops —
/a→/b→/a(infinite) - Soft 404s — 200 status but "not found" content
- Bulk wildcards —
/old/*→/new/(loses specificity)
Test Before Launch
# Use curl to test redirects
curl -I https://example.com/old-url
# Should return:
# HTTP/2 301
# location: https://example.com/new-url
Phase 5: Prepare Technical Foundations (Weeks 5-6)
Staging Environment
Your staging site must:
- Use password protection (not robots noindex)
- Mirror production URL structure exactly
- Include all meta tags and schema markup
- Block search engine crawlers
Replicate Analytics
Set up tracking on staging:
- GA4 with debug mode
- GTM with preview mode
- Conversion tracking
- Event tracking
Validate Technical SEO
On staging, verify:
- All pages return 200 status
- Canonical tags point to correct URLs
- Meta titles under 60 characters
- Meta descriptions under 160 characters
- Schema markup validates in Rich Results Test
- XML sitemap includes all pages
- Robots.txt allows crawling (production config)
- Hreflang tags (if multilingual)
Benchmark Performance
Measure Core Web Vitals on key templates:
| Template | LCP Target | INP Target | CLS Target |
|---|---|---|---|
| Homepage | < 2.0s | < 150ms | < 0.05 |
| Service pages | < 2.5s | < 200ms | < 0.1 |
| Blog posts | < 2.5s | < 200ms | < 0.1 |
| Location pages | < 2.5s | < 200ms | < 0.1 |
Phase 6: Content Refresh & Optimisation (Weeks 6-7)
Update Top Performers
Identify your top 20 pages by:
- Organic traffic
- Conversions
- Backlinks
- Revenue
Refresh these pages:
- Update statistics and dates
- Add new sections based on keyword gaps
- Improve internal linking
- Add structured data
Implement Internal Linking
Follow hub & spoke linking rules:
- Every spoke links back to its hub
- Every hub links to all its spokes
- Related spokes link to each other
- Matrix pages link to both parent spokes
- All deep pages have breadcrumbs
Migration-Specific Messaging
Update hero sections to reassure returning visitors:
"We've redesigned our site to serve you better. Same great services, improved experience."
Phase 7: QA & Launch Readiness (Week 8)
Pre-Launch Crawl
Run a full crawl of staging and compare to production:
| Metric | Production | Staging | Delta |
|---|---|---|---|
| Total pages | 1,050 | 1,050 | 0 |
| Pages with meta title | 1,050 | 1,050 | 0 |
| Pages with canonical | 1,050 | 1,050 | 0 |
| Schema markup | 950 | 1,050 | +100 |
Test Redirects in Batches
Use Screaming Frog's list mode:
- Upload old URLs (1,000 at a time)
- Crawl with "follow redirects"
- Export final destination URLs
- Verify against mapping spreadsheet
Prepare GSC Change-of-Address
If domains are changing:
- Verify new domain in Google Search Console
- Prepare Change of Address request
- Don't submit until launch day
Document Rollback Procedures
What if something goes catastrophically wrong?
- DNS rollback procedure
- CDN cache purge
- Database restore point
- Communication templates
Phase 8: Launch Day Checklist
Pre-Launch (T-2 hours)
- Final staging crawl complete
- All team members on standby
- Monitoring dashboards ready
- Communication channels open
Launch (T-0)
- Remove staging password/noindex
- Deploy to production
- Clear CDN cache
- Submit updated XML sitemap to GSC
- Request indexing for top 50 URLs
- Submit Change of Address (if applicable)
Post-Launch (T+1 hour)
- Verify homepage loads correctly
- Test 10 random redirects manually
- Check Google Search Console for errors
- Monitor server logs for 4XX/5XX spikes
- Verify analytics tracking
Post-Launch (T+4 hours)
- Full crawl of live site
- Compare to pre-launch crawl
- Fix any redirect gaps
- Update stakeholders
Phase 9: Post-Launch Monitoring (Days 1-30)
Daily Checks (First Week)
| Check | Tool | Action if Issue |
|---|---|---|
| Index coverage | GSC | Fix errors immediately |
| Crawl errors | GSC | Investigate 4XX/5XX |
| Organic sessions | GA4 | Compare to baseline |
| Rankings | Ahrefs/SEMrush | Monitor key terms |
| Core Web Vitals | CrUX | Optimize if regressing |
Weekly Reporting
Share with stakeholders:
| Metric | Pre-Launch | Week 1 | Week 2 | Week 3 | Week 4 |
|---|---|---|---|---|---|
| Organic sessions | Baseline | -5% | -2% | +1% | +5% |
| Indexed pages | 1,000 | 950 | 980 | 1,000 | 1,050 |
| Top 10 rankings | 150 | 145 | 148 | 152 | 160 |
| Conversions | Baseline | -10% | -5% | +2% | +8% |
Fix Issues Fast
Common post-launch issues:
| Issue | Symptom | Fix |
|---|---|---|
| Missing redirects | 404 in GSC | Add redirect immediately |
| Wrong canonical | Duplicate in index | Fix canonical tag |
| Slow pages | CWV regression | Optimize performance |
| Broken internal links | Low pages per session | Fix link targets |
Phase 10: Growth Enhancements (Days 31-90)
Once stabilized, shift to growth mode:
A/B Testing
Test new templates informed by migration data:
- Which pages recovered fastest?
- Which templates have best CWV?
- Where are users dropping off?
Content Expansion
Leverage your new hub & spoke structure:
- Add new spokes to existing hubs
- Create matrix pages for high-intent keywords
- Build supporting blog content
Digital PR
Launch campaigns to earn fresh backlinks:
- "New site launch" announcements
- Data studies using migration learnings
- Guest posts on industry publications
Document Lessons Learned
Update your migration playbook for next time:
- What worked well?
- What would you do differently?
- What tools were most useful?
- What team structure was optimal?
Templates & Tooling
| Need | Tool | Notes |
|---|---|---|
| URL inventory | Screaming Frog + Looker Studio | Combine crawls with analytics |
| Redirect QA | Little Warden or ContentKing | Alert on 4XX/5XX spikes |
| Stakeholder updates | Notion or Confluence | Single source of truth |
| Monitoring | GA4, GSC, log analyzer | Cross-reference data |
| Performance | WebPageTest + CrUX | RUM data over lab data |
Key Success Metrics
| Metric | Target | Timeline |
|---|---|---|
| Organic sessions | < 5% drop | 30 days |
| Top 20 rankings | Zero loss | 60 days |
| Core Web Vitals | 10% improvement | 30 days |
| Conversion rate | Maintain or improve | 60 days |
| Index coverage | 100% of intended pages | 14 days |
Real-World Application
At Jordan James Media, we've applied these principles to our own infrastructure:
- Services Hub — Clean URL structure
- Locations Hub — 21 location spokes
- 790 Matrix Pages — Programmatic SEO at scale
- Blog — Content clusters supporting service pages
Every page follows the same redirect and linking principles outlined in this playbook.
Continue the Series
This is Part 4 of our Site Infrastructure series:
- Part 1: Hub & Spoke SEO Architecture: The Complete Guide — The strategy behind content structure
- Part 2: Building 500+ Location Pages — Implementing location hubs at scale
- Part 3: Headless CMS SEO Playbook — Technical architecture for content systems
Related Services
- SEO Services — Full migration support
- Local SEO — Location page optimization
- Web Design & Development — Platform migrations
With disciplined planning, collaborative execution, and relentless post-launch monitoring, enterprise site migrations can become catalysts for growth—not cautionary tales.
Tell me what you need.
You get a straight answer, from me.