Website migration checklist. 49 steps.
A website migration checklist is the plan that keeps your traffic, rankings, and conversions alive when you change domain, platform, or URL structure. 49 steps across 8 phases, tool-agnostic, built for real SaaS sites.
The five things that actually matter
- 01A website migration without a checklist is how you lose 30-50% of your organic traffic overnight.
- 02Redirects are the single biggest risk. Every old URL needs a 301 to its new home.
- 03Snapshot everything (rankings, traffic, backlinks, Core Web Vitals) before you touch anything.
- 04Monitor 404s in search console daily for the first two weeks post-launch.
- 05A 10-15% traffic dip for 2-4 weeks is normal. Bigger or longer means something broke.
Pre-migration audit
Snapshot everything that works today before you touch anything.
- 01
Crawl the old site and export every URL
DeveloperSEOA full crawl (Screaming Frog, Sitebulb, or similar) is your source of truth. Export URLs with status codes, titles, meta descriptions, H1s, and word counts. Without this you're migrating blind. - 02
Export top 100 pages by traffic from your analytics and search console
SEOMarketerPulled from GA4, Plausible, Fathom, or Simple Analytics plus Google Search Console or Bing Webmaster Tools. These are the pages you cannot afford to break - they drive most of your traffic and revenue. - 03
Export top pages by backlinks
SEOFrom Ahrefs, Semrush, or the Search Console links report. Pages with backlinks have banked authority - if you kill them without redirecting, that authority evaporates. - 04
Snapshot rankings for your top 50 keywords
SEOYou need a before/after benchmark. Without it you cannot tell whether a post-migration drop is noise, seasonality, or a real problem. - 05
Document all existing redirects
DeveloperSEOIf the old site already has redirects and you only redirect from the current URLs, you create chains or break the original links. Map every hop so nothing is lost. - 06
Inventory forms, integrations, pixels, and third-party scripts
DeveloperMarketerHubSpot forms, Stripe checkouts, Intercom, Meta Pixel, LinkedIn Insight tag, A/B testing tools - anything that breaks silently on launch costs revenue. List them now. - 07
Capture a Core Web Vitals baseline for top templates
DeveloperSEORun PageSpeed Insights or WebPageTest on homepage, a key landing page, and a blog post. You need numbers to prove the new site is as fast or faster.
Content & IA
Decide what's kept, merged, or killed - and map every URL.
- 08
Build the URL map: old URL to new URL
SEOThe spreadsheet that runs the whole migration. Every URL from your crawl gets a decision: keep (same URL), redirect (new URL), or kill (redirect to nearest relevant page). - 09
Decide what's kept, merged, or killed
SEOFounderBefore killing a page, check for backlinks and traffic. Low-performing pages with no links are fine to drop. High-performing pages or those with backlinks must redirect to something relevant. - 10
Rewrite or recreate content for the pages you're keeping
MarketerA redesign without content upgrades is a missed opportunity. Fix outdated copy, sharpen headlines, remove what doesn't earn its place. - 11
Preserve H1s and primary keywords on high-traffic pages
SEOMarketerRanking pages rank for a reason. Don't rewrite the H1 of a page pulling 10K monthly visitors unless you've tested the change. Keep the signal Google already trusts. - 12
Migrate images with alt text intact
DeveloperMarketerAlt text is accessibility and image SEO. It's often lost in a CMS migration because it lives in a separate field - double-check it survived.
Technical SEO
Redirects, canonicals, sitemaps, schema - the plumbing that keeps rankings.
- 13
Implement 301 redirects for every changed URL
DeveloperSEO301s (permanent) pass link equity. 302s (temporary) don't, and Google may ignore them. No redirect chains - redirect straight from old to final destination. - 14
Add canonical tags on every page
DeveloperSEOTells search engines which version of a URL is the real one. Critical when you have parameter URLs, print versions, or tracking params. Self-referencing canonicals are the default. - 15
Update robots.txt - and make sure it's not blocking the new site
DeveloperSEOThe classic migration disaster: Disallow: / left in from staging. Check it on launch day. Also allowlist important paths and point to your sitemap. - 16
Regenerate and publish the XML sitemap
DeveloperSEOIt must reflect the new URL structure, exclude non-canonical pages, and be accessible at a known path (commonly /sitemap.xml). Submit it to search console after launch. - 17
Add structured data (Organization, BreadcrumbList, Article, Product, FAQ)
DeveloperSEOJSON-LD schema helps search engines understand your content and unlocks rich results. At minimum: Organization on every page, BreadcrumbList in nav, Article on posts, Product on pricing, FAQ where relevant. - 18
Set up hreflang if you're multilingual
DeveloperSEOWithout hreflang, Google may show the wrong language version to users or flag pages as duplicate content across locales. Every language variant must reference every other one. - 19
Update internal links to point to new URLs directly
DeveloperSEODon't rely on redirects for internal navigation. Redirect chains slow crawling and waste crawl budget. Find-and-replace the old domain and paths throughout the new codebase. - 20
Handle pagination, filters, and faceted navigation correctly
DeveloperSEONoindex filter combinations with thin content. Canonicalize pagination to the first page only if content is identical. Get this wrong and you create thousands of low-quality pages. - 21
Add FAQPage schema to every page with a FAQ section
DeveloperSEOFAQPage JSON-LD marks up your question-answer pairs for rich results and gives AI engines (ChatGPT, Perplexity, Google AI Overviews) a structured source to cite. Having a visible FAQ accordion is not enough - the schema is the signal. - 22
Structure key answers in self-contained Q&A blocks (AEO)
SEOMarketerAI engines extract answers from pages where the question and answer appear together, are concise, and don't require context from surrounding paragraphs. Rewrite FAQ sections and definition blocks as direct, standalone answers - not buried in long prose. - 23
Complete Organization schema with full entity signals
DeveloperSEOInclude sameAs links (LinkedIn, Crunchbase, X, Wikipedia if applicable), logo, contactPoint, and address. A complete entity profile helps AI engines confidently attribute content to your brand and surfaces you in knowledge panels and AI-generated brand mentions.
A clean migration keeps your traffic. It doesn't fix a site that wasn't converting in the first place. The Web Growth Audit is a conversion-focused playbook for SaaS sites - run it before you migrate so you're not just moving a leaky funnel.
Performance & accessibility
Core Web Vitals pass, mobile solid, accessible to everyone.
- 24
Core Web Vitals pass on every key template
DeveloperLCP under 2.5s, INP under 200ms, CLS under 0.1. Run it on homepage, landing pages, blog post, product page. Failing CWV is both a ranking factor and a conversion killer. - 25
Optimize images: modern formats, responsive sizes, lazy loading
DeveloperWebP or AVIF, srcset for responsive sizes, loading='lazy' below the fold. Next.js Image component handles most of this. Image weight is usually the biggest performance lever. - 26
Nail the font loading strategy
DeveloperUse font-display: swap or optional to prevent invisible text. Self-host or use next/font to avoid third-party round trips. Subsetting cuts file size dramatically. - 27
Test mobile rendering on real devices
DeveloperMarketerEmulators lie. Real phones on real 4G reveal layout shifts, unresponsive taps, and performance issues you'll never catch in Chrome DevTools. - 28
Accessibility pass: contrast, alt text, focus states, keyboard nav
DeveloperMarketerWCAG AA is the baseline. Run Lighthouse and axe, then keyboard-test the key flows. Accessibility is also SEO - better semantics, better structure, better rankings.
QA & pre-launch checks
Broken links, forms, responsiveness, cross-browser - catch it on staging, not live.
- 29
Crawl staging with a link checker before DNS cutover
DeveloperSEORun Screaming Frog or a link checker against the staging URL. Export all 404s, redirect chains, and broken internal links. Fix before going live - far easier than patching a live site under traffic. - 30
Test every form, CTA, and conversion path on staging
DeveloperMarketerContact forms, demo requests, newsletter signups, checkout flows, gated downloads - click through every one and verify the submission lands in the right tool. This is how you catch a broken HubSpot form ID or misconfigured webhook before it costs you leads. - 31
QA across browsers: Chrome, Firefox, Safari, Edge
DeveloperMarketerRendering bugs that don't show in Chrome are real. Safari on iOS is the biggest offender. Test key templates - homepage, landing page, blog post, pricing - in each browser before launch. - 32
Test responsive layouts at key breakpoints
DeveloperMarketer320px (small phone), 390px (iPhone 15), 768px (tablet), 1280px and 1440px (desktop). Pay attention to navigation collapse, image sizing, and text overflow. DevTools emulation is not a substitute for real devices.
Tracking & analytics
Analytics, search console, tag manager, consent - all firing on the new domain.
- 33
Reinstall your analytics tool on the new domain or platform
DeveloperMarketerGA4, Plausible, Fathom, Simple Analytics, Matomo - whatever you use, verify it fires on every page before launch. Test in the tool's real-time view with a test visit. - 34
Add or update your search console property
SEOMarketerGoogle Search Console and Bing Webmaster Tools - verify ownership of the new property (DNS or file upload). If the domain is changing, use GSC's Change of Address tool. If staying on the same domain, re-verify after a platform switch to confirm access. - 35
Submit the new sitemap to search console
SEOSpeeds up discovery of the new URL structure. Keep watching the coverage report for errors in the first two weeks. - 36
Reconfigure conversion events and goals
MarketerDeveloperForm submits, button clicks, signup completions, purchases. GA4 events, Plausible goals, custom Fathom events - rebuild them on the new platform and verify each one fires. - 37
Migrate the tag manager container and test every tag
DeveloperMarketerGTM, Stape, or server-side equivalent. The container has pixels, pixels have triggers, triggers have variables. Any of them can silently break. Use preview mode page by page. - 38
Verify the cookie consent banner works with the new tracking setup
DeveloperMarketerConsent gates analytics, pixels, and marketing tags. If the banner isn't wired correctly, you either break tracking or break GDPR compliance - both expensive.
Launch day
The cutover. Ordered, reversible, monitored.
- 39
Plan the DNS cutover - lower TTL 24 hours before launch
DeveloperOnly applies if switching hosts or domains. A lower TTL means DNS changes propagate faster if something goes wrong. Default is often 24-48 hours. Drop it to 300 seconds a day ahead, raise it back after launch. - 40
Confirm the SSL certificate is active on the new host
DeveloperBrowsers block pages without valid HTTPS. Verify the cert is issued, auto-renewal is on, and HSTS is configured appropriately. Test on mobile and desktop before flipping DNS. - 41
Keep the old site or CMS accessible on staging for at least 30 days
DeveloperFounderYou will need to reference it. Content you forgot to migrate, a form integration nobody documented, a tracking script that only lives in one template. Don't tear it down on launch day. - 42
Monitor 404s in search console daily for the first two weeks
SEO404s surface redirects you missed. Check the coverage report every morning, fix each one by adding the right redirect. This is where you save the traffic you'd otherwise lose.
Post-launch
The first 30 days decide whether you kept your traffic.
- 43
Watch rankings and traffic for top 50 pages
SEOMarketerA 10-15 percent dip for 2-4 weeks post-migration is normal. Anything bigger or longer is a signal to investigate. Compare against your pre-migration snapshot from step 4. - 44
Request indexing for your top 20 pages in search console
SEOForces Google to look at the new versions immediately instead of waiting for the next crawl. Use the URL Inspection tool - one at a time, but worth it for the pages that matter. - 45
Resubmit your disavow file if the domain changed and you had one
SEODisavow files are per-property. A domain migration resets the slate. If you had toxic backlinks to disavow on the old domain, resubmit on the new one. - 46
Update Google Business Profile, social profiles, and directories
MarketerFounderLinkedIn, X, Facebook, Instagram, Crunchbase, G2, Capterra, Product Hunt - anywhere your URL is listed. Inconsistent URLs weaken trust signals and split referral traffic. - 47
Reach out to your top 10 backlink owners to update the link
SEOMarketerRedirects work, but direct links are stronger and faster. A short, friendly email to the biggest linkers is one of the highest-leverage post-migration moves most teams skip. - 48
Update privacy policy and terms of service URLs everywhere they're referenced
FounderMarketerEmail footers, in-app links, cookie banner policy links, SaaS subscription agreements, onboarding flows. A stale URL in a GDPR-required policy link creates compliance exposure and breaks user trust at the worst moment. - 49
Verify cookie consent fires correctly and withdrawing consent stops tracking
DeveloperMarketerTest incognito on the live URL. The banner must fire before any tracking scripts run, consent state must be stored, and declining must actually suppress analytics and ad pixels. Platform migrations often silently break the consent-to-script wiring.
Migration vs redesign vs rebuild - which one are you doing?
Most projects mix all three. Know which risks you're inheriting before you scope the work.
| Type | What changes | Risk profile | Typical effort |
|---|---|---|---|
| Redesign | Same URLs, new look and feel | Low SEO risk, high UX risk | 2-6 weeks |
| Migration | Same content, new domain / platform / URL structure | High SEO risk if redirects miss, low UX risk | 4-12 weeks |
| Rebuild | Full ground-up rewrite: new stack, new content, new URLs | High SEO risk and high UX risk | 2-6 months |
Frequently asked questions
Thirteen questions I get every time someone's planning a migration.
People also ask
What tools do I need for a website migration?
A crawler (Screaming Frog, Sitebulb), an analytics export (GA4, Plausible, Fathom), a backlink source (Ahrefs, Semrush, or Search Console), search console access, and a redirect implementation method (server config, CDN rules, or framework middleware).
Is a redirect chain a problem?
Yes. Each hop slows crawl and dilutes link equity. Always redirect from the original URL straight to the final destination, even when the intermediate hop still exists.
Can I change content and URLs in the same migration?
You can, but it makes diagnosing post-migration traffic drops harder. If you have the option, migrate URLs first, stabilize rankings, then revise content.
Do I need to disable the old sitemap?
Yes. After launch, remove the old sitemap from search console and replace with the new one. Leaving the old one causes 404 noise in your coverage reports.
Migrating soon, or already shipped and the numbers look off?
The Web Growth Auditis a conversion-focused playbook for SaaS websites - not a migration service. Run it before launch so you're not just moving a leaky funnel, or after launch if traffic came back but conversions didn't. Delivered in Notion and Figma in two weeks.
This website migration checklist covers everything from the pre-migration crawl and URL mapping to 301 redirects, canonical tags, structured data, AEO best practices (FAQPage schema, entity signals, Q&A content structure), QA (broken links, cross-browser, responsiveness, form testing), Core Web Vitals, analytics reinstallation (GA4, Plausible, Fathom, Matomo), search console setup, legal compliance (privacy policy URLs, cookie consent), and post-launch 404 monitoring. Compiled by Margus Veeber, Head of Web at Pipedrive, from 15+ years of running and growing SaaS websites.