WordPress Migration Checklist Generator
Follow our interactive 7-step zero-downtime WordPress migration checklist to prevent database serialization errors, 404 URL breaks, and SSL certificate issues.
Create Full Database & File Backup
Export complete MySQL database dump (.sql) and download full /wp-content/ directory.
Lower DNS TTL to 300 Seconds
Reduce DNS TTL record settings 24 hours prior to migration to ensure rapid DNS propagation.
Safe Database Search & Replace
Use WP-CLI search-replace or Interconnectit Search Replace DB script to preserve serialized PHP arrays.
Test Target Site via Local Hosts File
Preview the migrated site using your local operating system hosts file prior to updating public DNS.
Update A/CNAME Records & Issue SSL Certificate
Update domain DNS records to point to new server IP and provision Letβs Encrypt / Cloudflare SSL certificate.
Flush Permalinks & Re-generate .htaccess
Log into WordPress wp-admin, navigate to Settings > Permalinks, and click Save to regenerate rewrite rules.
Audit 301 Redirects & Search Console Health
Verify URL redirects and submit updated XML sitemaps to Google Search Console.
Executing Zero-Downtime WordPress Site Migrations
1. Handling PHP Serialized Database Strings
WordPress stores theme option arrays and widget settings as PHP serialized strings. As documented in WP-CLI Search-Replace Guidance, plain SQL text replaces corrupt string length counts, causing theme settings to reset.
2. DNS TTL & Zero-Downtime Propagation
Lowering DNS TTL to 300 seconds ensures worldwide ISP resolvers pick up new IP addresses within 5 minutes. Find ideal hosts in our WordPress Hosting Recommendation Quiz.
3. Post-Migration SEO & Permalink Audits
Check plugin compatibility prior to cutover using our WordPress Plugin Conflict Checker.
4. Automated Static Edge Migration via Nimbica
Nimbica's static edge integration connects to an existing WordPress install and pre-renders its content into static HTML served from global edge locations. This is a distinct scenario from the host-to-host migration this checklist covers: it doesn't require a database search-replace, a DNS TTL change, or a hosts-file preview, since the underlying WordPress install and its domain don't move β only the delivery layer in front of it changes.
5. How to Use This Checklist
- Work through the phases in order β Pre-Migration items (backup, TTL) genuinely need to happen before Database & Files items, which need to happen before DNS & SSL.
- Don't skip the local hosts-file testing step even under time pressure β it's the single step that catches most migration problems before they're visible to real visitors.
- Keep the original site fully intact and untouched until the new site is verified working end-to-end β a migration you can roll back from is much less stressful than one you can't.
- After cutover, actively monitor for 24-48 hours (error logs, Search Console coverage reports, actual page loads) rather than assuming success once DNS has propagated.
6. Common Migration Mistakes
- Using a plain SQL text replace on the database. Always use a serialization-aware tool (WP-CLI's `search-replace`, or a script specifically designed for WordPress's serialized data) β see section 1.
- Forgetting to lower DNS TTL in advance. A high TTL set the day of migration means some visitors keep hitting the old server for hours or days after cutover, seeing a stale or broken version of the site.
- Skipping the permalink flush. A fresh WordPress install on new infrastructure often needs Settings β Permalinks re-saved to regenerate correct rewrite rules β otherwise every non-homepage URL can 404.
- Not verifying 301 redirects for any URL structure change. If the migration also changes URL paths, missing redirects turn every inbound backlink and search result into a 404.
7. Who Should Use This Checklist
Developers and agencies migrating a WordPress site between hosts, site owners doing their first self-managed migration who want a structured reference rather than relying on memory, and anyone planning a migration who wants to identify likely failure points (serialized data, DNS propagation, redirects) before they become live incidents.
8. Limitations
This is a general-purpose checklist covering the migration steps that apply to most standard WordPress installs β it doesn't account for site-specific complexity (multisite networks, custom database tables outside WordPress's standard schema, third-party integrations with hardcoded URLs, or e-commerce order data with special handling requirements). Complex or high-traffic sites should treat this as a starting framework and add site-specific steps rather than a complete migration plan on its own. Checklist progress is not saved between visits.
Migrate your WordPress site to static edge CDN with Nimbica
Transform dynamic PHP rendering bottlenecks into ultra-fast static HTML deployed across 300+ global edge locations.
Frequently Asked Questions
How does PHP serialized data break during WordPress database migrations?
WordPress stores theme options, widget settings, and some plugin configuration as PHP serialized strings β a format that embeds the exact character length of each string value directly in the data (e.g. `s:11:"example.com"`). A naive SQL find-and-replace that changes the domain name changes the string's length without updating that embedded count, which corrupts the serialized structure β the classic symptom is widgets disappearing or theme settings silently resetting to defaults after a migration.
How can I migrate a WordPress site with zero downtime?
Lower DNS TTL to 300 seconds at least 24 hours before the migration so the eventual DNS change propagates quickly, fully copy the database and files to the new host, verify the site works correctly on the new host by testing through your local machine's hosts file (before any public DNS change), and only then update the live DNS records. Because the new host is already verified working before the cutover, most visitors experience no interruption during the DNS transition.
What is the easiest way to migrate WordPress to a static edge CDN?
Nimbica's static edge integration connects to an existing WordPress install and pre-renders its content into static HTML for edge delivery β this is a caching/delivery layer added on top of the current WordPress site, not a host-to-host migration of the underlying WordPress install itself, so it doesn't require the same DNS-cutover process a traditional host migration does.
Does checking off items on this checklist save my progress?
No β checked items live only in the page's in-memory state and reset if you refresh or leave the page. There's no account, sign-in, or saved-progress feature. Treat it as a working reference to check off during a single migration session, and take your own notes if the migration spans multiple days.
Related Tools in This Cluster
WordPress Plugin Conflict Checker
Diagnose known WordPress plugin conflicts and script collisions.
WordPress Hosting Recommendation Quiz
Find the best WordPress hosting architecture for your traffic volume and budget.
WordPress Database Size Analyzer
Estimate database table growth and overhead caused by plugin transients.
