Moving WordPress to a new domain is a different problem from moving to a new server, even though they often happen together. The files and database don’t need to go anywhere — what actually breaks is every URL stored inside the database that still points at the old domain, and there are far more of those than people expect.
Why this is harder than it looks
WordPress stores full URLs, not relative paths, throughout the database — in post content, in menu items, in widget settings, and critically, inside serialized data used heavily by page builders and many plugins. Serialized PHP data encodes the exact character length of each string as part of the format. Change the domain with a plain find-and-replace and every string that was inside serialized data is now the wrong length for what the data structure expects — the page builder layout, the widget, or the plugin setting doesn’t just keep the old URL, it breaks entirely, often silently, showing a blank section or a fatal error instead of an obvious wrong link.
The safe way to do a plain URL search-and-replace
If you’re doing this manually, never run a raw SQL find-and-replace across the whole database. Use a tool built to be serialization-aware — WP-CLI’s wp search-replace command handles this correctly from the command line if you have SSH access, since it specifically detects and correctly re-serializes the data it touches rather than treating everything as plain text.
What still needs manual attention after the URLs are fixed
Even a correct URL replacement doesn’t finish the job on its own. The WordPress address and Site address under Settings → General need updating (or need to already match via wp-config constants). Any hardcoded URLs in a child theme’s functions.php or custom code won’t be touched by a database-level replace. And if the new domain uses HTTPS where the old one didn’t, mixed-content warnings can appear even after the URLs are technically correct, usually from external resources still loading over plain HTTP.
Using a plugin instead
Quick Restore handles the domain-change scenario as a core part of its restore flow — back up on the old domain, restore on the new one, and URL rewriting happens automatically using a serialization-safe method, so page-builder layouts and widget settings survive the move intact rather than needing the manual WP-CLI approach above. This is the same underlying mechanism whether you’re changing the domain entirely, moving from staging to production, or moving a client site from a temporary domain to their real one.
Testing before you commit
Whichever method you use, check the site with your browser’s developer tools open to the Network and Console tabs before calling it done — a genuinely successful URL migration shows zero requests still going to the old domain and zero JavaScript console errors from broken resource paths. Anything showing up there is worth chasing down before real visitors do.
Back up WordPress the easy way
Every paid Quick Restore plan is one payment with 12 months of updates. No subscription.
Free
Try it, no cost — for small sites
Free
- Full-site backup to one .wpqr file
- Manual restore by upload (up to 512 MB)
- Imports All-in-One WP Migration .wpress files
- Restore to a different domain
- Community support
Small sites under 512 MB that want a real backup and a manual restore.
Pro
Restore backups of any size
$39.00one-time
- Everything in Free
- No 512 MB restore limit — any backup size
- Priority email support
- 12 months of updates
- One-time payment, no subscription
A site owner whose backups have outgrown the 512 MB free restore limit.
Pro Plus
Scheduled, hands-off backups
$59.00one-time
- Everything in Pro
- Scheduled backups: every day, week, month, or a custom interval
- Keep the latest N: older scheduled backups are deleted automatically
- Email with a secure download link when each backup completes
- Email alert if a scheduled backup fails
- 12 months of updates
- One-time payment, no subscription
Site owners who want backups to run on their own, with an email when each one is done.
Max
Pro Plus with an agency licence for 5 sites
$199.00one-time
- Everything in Pro Plus
- Agency licence for 5 WordPress installations
- Developer priority support
- 12 months of updates for all 5 sites
- One-time payment, no subscription
Freelancers and agencies managing client sites.