Migrating your WordPress site to a new host sounds intimidating, but I've done this process hundreds of times for clients and I can tell you: it's straightforward when you follow the right steps. Whether you're moving from Bluehost, SiteGround, GoDaddy, or any other host, this guide will walk you through every single step.

I've seen migrations go smoothly and I've seen them go sideways when people skip steps. This guide is designed to help you avoid the pitfalls. By the end, your site will be running on WP Engine's lightning-fast infrastructure with zero downtime.

Let's get started.

What You'll Need Before Starting

Before you begin the migration, make sure you have the following ready:

Don't have a WP Engine account yet? No problem → I'll walk you through that in Step 2.

Step 1: Back Up Your Current Site

This is the most critical step. Never, ever start a migration without a fresh backup. I've learned this the hard way early in my career, and I refuse to let you make the same mistake.

Option A: Use a Backup Plugin

The easiest way to create a complete backup is with a plugin. Here are my top recommendations:

Option B: Manual Backup via Your Host

Most hosting providers offer built-in backup tools. Log into your current hosting control panel (cPanel, Plesk, or a custom dashboard) and look for:

Option C: Manual Backup via FTP + phpMyAdmin

For the technically inclined, you can manually back up your site:

  1. Connect to your site via FTP/SFTP using FileZilla or your preferred client
  2. Download the entire public_html (or www) folder to your computer
  3. Export your database via phpMyAdmin → go to your database, click "Export," and choose "Quick" method with SQL format

Pro Tip

Store your backup in at least two places → your local computer AND a cloud service like Google Drive or Dropbox. Redundancy saves lives (or at least websites).

Verify Your Backup

After creating the backup, check that the file size looks reasonable and that the backup file isn't corrupted. A typical WordPress site backup ranges from 100MB to 2GB depending on media files. If your backup is only a few kilobytes, something went wrong.

Step 2: Create Your WP Engine Account

If you haven't already, head to WP Engine's website and sign up for an account. Here's what to expect:

  1. Choose your plan → The Startup plan ($20/month) is perfect for a single site. If you have multiple sites, the Professional plan supports up to 10 sites.
  2. Complete the signup process → You'll need to provide payment information. Use code WPE20 to get 20% off your first payment.
  3. Set up your install → Once logged into the WP Engine User Portal, click "Create Install" and give your site a name. This creates a staging URL like yoursitename.wpengine.com where your migrated site will live.

Take note of your WP Engine install name and the SFTP credentials provided in the portal → you'll need these for the migration.

Need help choosing a plan? I break down the options in my full WP Engine review.

Step 3: Migrate Your Site to WP Engine

Now comes the actual migration. WP Engine offers two main methods → I'll cover both.

Method A: WP Engine Automated Migration Plugin (Recommended)

This is the easiest and most reliable method for most users. WP Engine provides a free migration plugin that handles everything for you.

  1. Install the plugin on your current site: In your WordPress dashboard, go to Plugins → Add New, then search for "WP Engine Automated Migration" (or get it from the WordPress plugin directory). Install and activate it.
  2. Get your migration credentials: Log into your WP Engine User Portal. Go to your install → Settings → Migrations. You'll find your migration key and email/transfer URL.
  3. Enter credentials in the plugin: Back in your WordPress dashboard, go to WP Engine Migration → Settings. Enter the migration key and your WP Engine account email.
  4. Start the migration: Click "Start Migration." The plugin will begin transferring your files and database to WP Engine's servers.
  5. Wait for completion: Depending on your site size, this can take anywhere from 10 minutes to a few hours. You'll receive an email notification when it's done. You can also check the progress in the plugin dashboard.

Important

During the migration, continue using your site as normal. The migration plugin works in the background and creates a snapshot of your site. Any changes made after the migration starts won't be transferred → so avoid publishing new posts or making significant changes during this window.

Method B: Duplicator Plugin (Alternative)

If for some reason the WP Engine migration plugin doesn't work with your setup, the Duplicator plugin is a reliable fallback that I've used successfully on dozens of migrations.

  1. Install and activate Duplicator on your current site
  2. Create a new "Package" → this bundles your files and database into a portable archive
  3. Download both the installer.php file and the archive file (usually a .zip or .daf)
  4. Upload both files to your WP Engine install via SFTP using the credentials from your WP Engine portal
  5. Visit yourdomain.wpengine.com/installer.php in your browser and follow the Duplicator setup wizard
  6. Complete the installation → Duplicator will import your database and configure wp-config.php automatically
  7. Delete the installer files after completion (Duplicator prompts you to do this)

Method C: Request Free Professional Migration

If your site is complex (large e-commerce store, multisite, custom applications), WP Engine offers free professional migration assistance. After signing up, submit a migration request through your user portal and their team will handle the entire process for you. This is especially useful if you're not comfortable with the technical steps above.

For detailed instructions, you can always reference the WP Engine support documentation, which covers migration in depth.

Step 4: Test Your Site on WP Engine (Before Going Live)

After the migration completes, your site is live on WP Engine's staging URL → something like yoursitename.wpengine.com. Do not skip testing. This is where you catch issues before your visitors see them.

What to Test:

Test Item What to Check
Homepage Loads correctly, all images display, layout intact
Internal pages Test key pages (About, Services, Contact, blog posts)
Forms Submit test entries through contact forms, checkout flows
E-commerce Add to cart, complete a test purchase, verify payment processing
Media library All images, videos, and files transferred correctly
Plugins All plugins activated and functioning as expected
Permalinks Go to Settings → Permalinks and click "Save Changes" to reset them
SSL/HTTPS WP Engine provides free SSL → verify the padlock appears
Admin login Confirm you can log into wp-admin on the new server

Fix Broken Links

If you notice broken links or missing images, it's usually a search-and-replace issue with the database URLs. WP Engine handles this automatically with their migration plugin, but if you used Duplicator or a manual method, you may need to run a search and replace. The Better Search Replace plugin works well for this → just replace your old domain with your new WP Engine staging URL.

Check Performance

Run a speed test on your WP Engine staging URL using Google PageSpeed Insights. You should see immediate improvements compared to your old host. WP Engine's EverCache and CDN typically deliver significantly better Core Web Vitals scores.

Step 5: Update Your DNS Settings

Once you've confirmed everything works on the staging URL, it's time to point your domain to WP Engine. This is done by updating your DNS records.

Find Your WP Engine IP Addresses

In your WP Engine User Portal, go to your install → Domains. WP Engine will provide you with:

Update DNS at Your Registrar

Log into your domain registrar or DNS provider (GoDaddy, Namecheap, Cloudflare, etc.) and update the following records:

Record Type Name/Host Value
A Record @ (or leave blank) WP Engine IP address
CNAME www WP Engine CNAME target

If you're using Cloudflare as your DNS provider, make sure the proxy status (orange cloud) is set correctly. WP Engine recommends setting the proxy to "DNS Only" (grey cloud) for the A record to avoid SSL conflicts, though you can use Cloudflare's proxy if you configure it properly.

Reduce TTL Before Migration (Pro Tip)

If you planned ahead, you should have reduced your DNS TTL (Time To Live) to 300 seconds (5 minutes) at least 24 hours before the migration. This makes DNS propagation much faster. If you didn't do this, don't worry → propagation will still happen, it just might take longer.

Step 6: Final Cutover

After updating your DNS, here's what happens next:

  1. Add your domain in WP Engine: In your User Portal, go to your install → Domains → Add Domain. Enter your domain name (e.g., example.com and www.example.com). WP Engine will verify the DNS and provision SSL certificates automatically.
  2. Wait for DNS propagation: This typically takes 1 to 48 hours, though most changes propagate within 1-4 hours. You can check propagation status using tools like DNS Checker.
  3. Test your live domain: Once propagation is complete, visit your actual domain (not the WP Engine staging URL) and verify everything works.
  4. Force HTTPS: In your WP Engine portal, enable "Force HTTPS" to ensure all traffic uses SSL. This is critical for SEO and security.

Don't Cancel Your Old Host Yet!

Keep your old hosting active for at least 7 days after the migration. This gives you a safety net in case anything goes wrong. After a week of smooth sailing on WP Engine, you can safely cancel your old hosting.

Troubleshooting Common Migration Issues

Even with a smooth migration, you might encounter a few bumps. Here are the most common issues I've encountered and how to fix them:

Site Shows Mixed Content Warning

If you see a warning that your site is "not fully secure" after migration, it's because some resources (images, scripts, stylesheets) are still loading over HTTP instead of HTTPS.

Fix: Install and run the Better Search Replace plugin to replace all instances of http://yourdomain.com with https://yourdomain.com in the database. Alternatively, enable the "Force HTTPS" setting in your WP Engine portal.

Pages Return 404 Errors

If your homepage loads but internal pages show 404 errors, it's a permalink issue.

Fix: Log into your WordPress admin dashboard, go to Settings → Permalinks, and simply click "Save Changes." This flushes the rewrite rules and fixes most 404 issues. If the problem persists, check that your .htaccess file was transferred correctly.

Database Connection Error

If you see "Error establishing a database connection," your wp-config.php file has incorrect database credentials.

Fix: WP Engine manages database credentials automatically. If you used Duplicator, re-run the installer. If you used the WP Engine migration plugin, contact their support → they can regenerate the correct credentials.

Email Stopped Working

WP Engine does not host email services. If your email was handled by your previous host, you'll need to set up email separately.

Fix: Update your MX records at your DNS provider to point to your email service. Common options include:

Critical: Do not change your MX records during DNS propagation for your website. Wait until your site DNS is fully propagated, then update MX records separately to avoid email disruption.

Slow Migration or Plugin Timeout

For very large sites (over 5GB), the migration plugin may time out or stall.

Fix: Try the Duplicator method instead, or request free professional migration from WP Engine's team. They have tools and server-level access that can handle large migrations without timeout issues.

After Migration: Optimization Tips

Now that your site is on WP Engine, take advantage of everything the platform offers:

For more optimization tips, check out WPBeginner's WordPress performance guides and the WP Engine knowledge base.

Ready to Migrate to WP Engine?

Get started today and use code WPE20 for 20% off your first payment!

Get WP Engine (20% Off)

Need Help With Your Migration?

If you're not comfortable handling the migration yourself, or if your site is particularly complex (large e-commerce store, custom applications, multisite network), I offer professional WordPress migration services. I'll handle the entire process → backup, migration, testing, DNS updates, and post-migration optimization → so you can focus on running your business.

Get in touch with me here to discuss your migration needs.

Frequently Asked Questions

Q: How long does it take to migrate a WordPress site to WP Engine?
A: A typical WordPress migration to WP Engine takes 30 minutes to 2 hours depending on your site size. Small sites under 1GB can migrate in under 30 minutes using the WP Engine migration plugin. Larger sites or those with complex databases may take longer. DNS propagation after the migration adds an additional 1-48 hours.
Q: Will my website go down during the migration to WP Engine?
A: No, your site stays live during the entire migration process. The WP Engine migration creates a copy of your site on their servers first. Your original site remains untouched until you update your DNS settings. Even during DNS propagation, visitors will see either the old or new site→never an error page.
Q: Can WP Engine migrate my site for free?
A: Yes. WP Engine offers free automated migration through their migration plugin. For more complex migrations, WP Engine also provides complimentary professional migration support from their expert team. You can request this through your user portal after signing up.
Q: Do I need to cancel my old hosting after migrating to WP Engine?
A: You should keep your old hosting active until you confirm the migration is fully working and DNS has propagated (usually 24-48 hours). After verifying everything works on WP Engine, you can safely cancel your old hosting. Don't cancel prematurely→you may need the old site as a fallback.
Disclosure: I may earn a commission if you purchase through my links at no extra cost to you. I only recommend products I've personally used and trust for my clients.