Skip to content

How to Move a WordPress Site to a New Host Without Breaking URLs

The safest migration preserves the public URL structure, stages the copy first and verifies both WordPress behavior and external dependencies before switching traffic.

Branded TopNotch editorial graphic for How to Move a WordPress Site to a New Host Without Breaking URLs.

A hosting move sounds straightforward until DNS, SSL, caching, email, scheduled jobs and URL configuration are involved.

The safest migration preserves the public URL structure, stages the copy first and verifies both WordPress behavior and external dependencies before switching traffic. In practice, the useful question is not whether the tactic exists. It is whether it solves the specific constraint in front of you.

The WordPress migration guidance is the best starting point for the WordPress behavior behind a hosting migration. Confirm the platform rule there, then test the full site journey before production.

A practical way to work through it

1. Copy files and database to the new host, then test using a staging domain or hosts-file method before DNS changes

Take a current backup and use staging whenever the change can affect visitors, data or integrations. For a hosting migration, recovery is part of the implementation plan.

2. Preserve home and site URLs unless the domain is intentionally changing

For a hosting migration, check the surrounding dependencies, including caching, email, scheduled jobs and third-party connections. WordPress changes rarely live in complete isolation.

3. Recreate SSL, cron jobs, caching rules, email delivery and server-level redirects

While testing a hosting migration, run the journey as a visitor and as an administrator on both mobile and desktop where relevant. A clean settings screen does not prove the front end works.

4. Lower DNS TTL ahead of the change when appropriate and keep the old environment available briefly for rollback

For a hosting migration, keep a short change log and a rollback point until production verification is complete. That makes the next maintenance decision faster and safer.

A practical example

Work on a current staging copy with a tested backup. Start with Copy files and database to the new host, then test using a staging domain or hosts-file method before DNS changes. Then Preserve home and site URLs unless the domain is intentionally changing. Run the affected visitor journey before moving the change to production.

The safest migration preserves the public URL structure, stages the copy first and verifies both WordPress behavior and external dependencies before switching traffic. If the first check disproves your assumption, change the plan rather than forcing the checklist.

Where this usually goes wrong

  • Changing host and domain at the same time without a clear reason.
  • Forgetting transactional email or DNS records that live outside WordPress.
  • Deleting the old hosting account before the new site has been monitored under real traffic.

How to check whether it worked

Verify a hosting migration on the rendered site, not only in wp-admin. Test the important visitor path, confirm background services still operate and keep the rollback available until those checks pass.

  • Crawl key URLs before and after the move and compare status codes.
  • Test forms, media, logins, scheduled tasks and redirects.
  • Monitor uptime, error logs and Search Console for unexpected changes.

When to handle it yourself—and when to get help

Routine a hosting migration work may be manageable when you have a current backup, staging and a clear rollback. Get specialist help when production data, custom code, hosting or several plugins must change together.

For a hosting migration, the most relevant TopNotch starting points are WordPress Redesign and Technical SEO. Scope should follow the diagnosis; a narrow repair is often more responsible than selling a rebuild.

Related TopNotch guides

A hosting migration should be operationally boring. If the public URLs and user journeys remain stable, search engines and customers have very little to relearn.

Need this implemented?

Turn the guide into actual work.

Discuss the Problem ↗