New 24/7 monitoring and daily cloud backups now included in every Shield Pro plan.

Migration

Learn how to migrate WordPress to a new host.

Hosting migration means moving files, database, and DNS with minimal downtime. A rehearsed checklist prevents broken media, login loops, and lost email during the switch.

Time: 2-4 hours Level: Advanced
Neil McNaught, founder of BugShield and WordPress author
Written by
Written by
Updated
Updated

What this problem looks like

Migration is backup and restore plus DNS timing. Most downtime comes from waiting on DNS propagation, not file transfer.

Move email separately if the domain MX records change. WordPress migration does not automatically move mailboxes.

Step 1: Prepare the new server

  • Match or exceed PHP version and extensions from the old host.
  • Create database and user with strong passwords.
  • Install SSL certificate for the domain.
  • Note whether you need dedicated IP or IPv6 support.

Step 2: Transfer files and database

Zip wp-content on the old server, download via File Manager or SFTP, and upload to the new document root. Export SQL and import on the new database.

Only run the commands below if you have SSH access to both servers.

bash
rsync -avz oldhost:/path/to/wp-content/ ./wp-content/
wp search-replace 'https://tempsubdomain.host.com' 'https://example.com' --all-tables

Step 3: Test before DNS switch

Edit your local hosts file to point example.com at the new server IP. Browse the site and wp-admin privately before public cutover.

Step 4: DNS cutover checklist

  1. Lower TTL to 300 seconds a day before migration.
  2. Update A record to new IP.
  3. Wait for propagation and test from mobile data.
  4. Cancel old host only after a week of stable traffic.

Step 5: Post-migration fixes

Open wp-config.php on the new server and confirm database credentials match the new host. Regenerate permalinks, flush object cache, and reauthorize CDN integrations.

Update cron: search for DISABLE_WP_CRON in wp-config.php first. Disable wp-cron if the new host uses system cron, or keep default wp-cron if traffic-driven cron is acceptable.

When to stop DIY and hire help

WooCommerce and multisite migrations have extra tables and DNS risk. BugShield migrates WordPress to new hosts at a confirmed fixed price with rollback planning.

Questions answered

WordPress hosting migration FAQs

Answers about backups, DNS, email, database replacement, zero-downtime planning, and checking a WordPress site after migration.

How long does DNS propagation take?

Anywhere from minutes to 48 hours depending on TTL and ISP caches. Lower TTL before you migrate.

Can I migrate without downtime?

Near-zero downtime is possible with DNS switching after a tested clone, but some sessions may hit the old server briefly.

Do I need to reinstall WordPress core?

You can copy core files or run a fresh core download on the new host with the same wp-config.php and wp-content.

What about serialized data in migrations?

Use WP-CLI search-replace or migration plugins that handle serialization. Avoid blind SQL replace.

What should I back up before migrating WordPress to a new host?

Save the database, uploads, themes, plugins, configuration, server rules, DNS records, email settings, and any files stored outside the normal WordPress directories.

How can I reduce downtime during a WordPress migration?

Prepare and test the new server first, lower DNS TTL in advance, pause writes briefly for the final sync, then switch DNS only after the copied site passes checks.

Should I move DNS and email at the same time as WordPress?

Not unless necessary. Record every DNS entry and preserve MX, SPF, DKIM, and DMARC values so moving the website does not interrupt email.

How do I migrate a busy WooCommerce store without losing orders?

Use a maintenance window or incremental database sync, stop new transactions during the final copy, and reconcile any orders created around the cutover.

Can I test the new WordPress host before changing DNS?

Yes. Use a temporary hostname or local hosts-file entry with a valid test method, then check the site without sending normal visitors to the new server.

What should I test after migrating WordPress?

Test HTTPS, wp-admin, media, forms, email, scheduled jobs, caching, redirects, analytics, and complete checkout or membership journeys before closing the old host.

Would you rather a developer fixed it?

Request a fix at a confirmed price and speak directly with the BugShield developer working on your site.

Request a Fix