WPEngine WordPress Migration Steps

This tutorial explains the WPEngine migration steps for moving your WordPress website from a shared hosting account to WPEngine. See the WPEngine Review for the overview and planning the WordPress migration.

Website Self-Migration or Paid Migration Service?

I chose self-migration for my WordPress website because I work in a technical field, enjoy learning about technology and I’m my own webmaster. Self-migration is the best way to know nearly everything about configuring and managing your WordPress site.

If your interests and expertise lie elsewhere you can hire a 3rd party migration service who will handle the migration for you.

WPEngine WordPress Migration Steps

I studied the WPEngine Migration Process instructions before moving the website and created a custom task list to guide me through the migration. My migration steps are:

  • Subscribe to VaultPress for site backups
    • VaultPress makes daily and real-time backups of your entire WordPress install to the Cloud.
    • Use VaultPress to recover from any mistakes made during the shared hosting account clean-up process.
  • Clean-up Files
    • If you’ve placed WordPress post content (e.g. photos, video or audio files, etc.) in /public_html/ or anywhere except wp-content/uploads/, move the items to a folder in wp-content/uploads/ so VaultPress will include it in the WordPress backup. Remember to update your posts with the location of the moved content. See the VaultPress backup content description in the project introduction for details.
  • Upgrade WordPress to the latest release
  • Upgrade Plugins
    • Upgrade all plugins.
    • Check WPE disallowed plugins list and make the necessary adjustments.
    • Install the WPEngine Ready plugin to check if your WordPress install is ready for WP Engine. It will report any issues.
  • Managed DNS
  • Migrate Email
    • Subscribe to Google Apps for Business.
    • Configure Gmail DNS records.
    • Synchronize the shared hosting Pop3 e-mail with the new GMail accounts.
    • Install the WordPress SMTP mail plugin to send email notices from wordpress@mydomain.com.Note: Email may have odd problems until the old shared hosting account is closed due to conflicts with shared host mail server. Despite enabling Remote Mail Exchanger on my shared hosting account, WordPress could not send e-mail notifications for things like new Comments until the shared hosting account was closed.
  • WP Engine Sign-up
    • Choose a hosting plan.
    • I strongly recommend buying an SSL certificate to enable secure access via https for all WordPress logins. SSL is also required for e-commerce to encrypt credit card data. WP Engine can provide and install an SSL certificate for a nominal annual fee.
  • Restore your website to WPEngine with Vaultpress
    • Do not modify the default WP Engine WordPress install. VaultPress requires the MySQL WordPress database already exists with a valid wp-config.php to connect to the database. The current database and site content will be overwritten with the website backup.
    • Disable the VaultPress plugin on the new WP Engine site to prevent potential conflicts with the live shared hosting account.
  • Immediately disable search engine indexing on mydomain.wpengine.com
    • Update robots.txt in the root directory of the WP Engine temporary domain to deny all crawlers. The robots.txt should be:
      User-agent: *
      Disallow: /
    • This will prevent Google from crawling the temporary mydomain.wpengine.com and potential issues with indexing duplicate content until the old shared hosting account is closed.
  • Enable Force SSL Logins and SSL Admin Access in wp-config.php
    If Force SSL were enabled on your old site, it will already be set in wp-config.php when it was restored by VaultPress. If not, I highly recommend forcing SSL Admin and user logins.

    • You should never login over an unencrypted (http) connection due to the risk of a hacker intercepting your credentials… especially if using unencrypted WiFi connection.
    • Wait until WP Engine Tech Support confirms the SSL certificate is installed before logging into WordPress.
  • Fake-out DNS or Update the WordPress Site & Home URLs for testing the temporary domain
    • The fake-out local DNS is the best method to test the new site using the WP Engine IP address while leaving the WordPress Site and Home URLs unchanged.
    • I travel a lot for business and lacked admin rights to the laptop computer to modify the Windows hosts file to fake-out DNS, so I modified the Worpress Site and Home URLs from www.mydomain.com to mydomain.wpengine.com. The URLs will be updated to the primary domain before going live.
  • Test new site on the WP Engine temporary domain before going live
    • Test everything and fix any issues. WP Engine technical support was extremely helpful.
  • Update Google Webmaster Tools account
    • Add the mydomain.wpengine.com site to your Google Webmaster Tools account to ensure duplicate content is not being indexed and monitor for unexpected traffic.
  • Going Live
    • Review the WP Engine Going Live instructions.
    • Update robots.txt to enable search engine indexing on the newly migrated site at WP Engine. See my robots.txt for a live example.
    • Update the WordPress Home and Site URLs from the temporary mydomain.wpengine.com to your preferred domain, either the www.mydomain.com or mydomain.com version.
      • Be consistent with the domain naming you were using on shared hosting, www or non-www, because Google considers www.mydomain.com and mydomain.com to be completely different domains. Changing it could hurt your backlinks and search ranking.
    • Create the preferred domain in the WP Engine management portal, then delete the mydomain.wpengine.com domain (it doesn’t delete the WordPress install or files) and add redirects to your preferred domain.
    • Update your DNS records to point the A Record to the WP Engine IP Address for your site. Your site IP address is found in the WordPress Dashboard by clicking on the WP Engine widget.
      • Web traffic will now start flowing to your WP Engine site!
    • Stop VaultPress backups on the old shared hosting account.
      Disable the VaultPress plugin on the shared hosting site.
    • Enable VaultPress on the new WP Engine site.
      • Create an SFTP account for VaultPress in the my.wpengine.com management portal.
      • Enable the VaultPress plugin.
      • Log into your VaultPress account to configure the WP Engine SFTP credentials.
    • Leave both sites up for a few days to ensure all DNS records are updated and no traffic is going to the shared hosting account.
  • Verify no traffic is going to the old site, then close the shared hosting account
    • Close the shared hosting plan only and be absolutely certain to keep the domain registration service.

I spent a full week researching and planning the shared hosting migration to WP Engine. The website migration process was completed in a day followed by two days of testing before going live.

WPEngine Technical Support

If you have problems or questions, WPEngine Support is fantastic! You can contact Support via live chat or open a support ticket. Site Down tickets have highest priority. Most of my ZenDesk tickets are resolved the same day, even on the weekends by experts.

Using Cloudflare with WPEngine

I later subscribed to CloudFlare’s Content Distribution Network (CDN) because I wanted control over traffic filtering as explained in the project overview. This required turning off the WP Engine CDN, disabling Dyn DNS and updating the domain registrar name servers to route traffic through Cloudflare.

The following diagram illustrates my WordPress site with WP Engine before- and after enabling CloudFlare:

WPEngine and CloudFlare Website Diagram

WPEngine and CloudFlare Website Diagram

Next up: WPEngine migration with VaultPress to restore to a Different Site.

Take care,

Bob Jackson

Copyright © 2016 HandymanHowTo.com   Reproduction strictly prohibited.

, , ,

No comments yet.

Leave a Reply