This review explains the benefits and migration process for moving WordPress from shared hosting to WPEngine.
Shared Hosting is Too Slow
Shared website hosting is a great and inexpensive way to register your own domain and build a WordPress website. Nearly all the services (domain registration, DNS, email, site backups, etc.) and tools (cPanel with File Manager, Web Mail, etc.) are included for one-stop shopping. I ran HandymanHowTo.com on a shared hosting plan for years and was highly satisfied. But as your website traffic grows, you may run into problems with shared hosting:
- Slow website – shared hosting isn’t tuned or optimized for WordPress
- CPU throttling – significantly slows down your website response time during peak traffic periods when you need it most
- Hacked website – shared hosting providers don’t provide security or clean-up services
A slow website can reduce your website traffic because visitors will give up and leave before the page loads.
I considered upgrading to Virtual Private Server (VPS) and the more expensive dedicated hosting plans. However, I didn’t want to be bothered with root level operating system access (the ultimate security risk in my view), server configuration, WordPress tuning and performance. My time is best spent building high quality site content and I prefer leave server duties to the professionals.
After researching managed WordPress hosting providers, my reasons for migrating to WP Engine are the extensive online help information, free malware cleanup and great technical support; with the Professional Plan and higher, I can call technical support for emergencies and speak to a real person – I only had to call once.
WP Engine is fully-managed WordPress hosting service. The key benefits of WP Engine are:
WPEngine takes care of WordPress installs, database backups, upgrades, tuning, performance and security.
WP Engine will speed up your WordPress site
My site is response time is now over 1000% faster!
If your website is ever hacked, WP Engine will fix it for free.
WP Engine technical support is superb, going beyond the call of duty in my experience. The technical support rep’s name, title and photo are displayed in the support tickets; you get to know who’s solving your problem.
Migrating to WPEngine will require some WordPress site administrative changes because:
- cPanel is not available.
- WPEngine does not provide email or DNS services.
- No shell or SSH access.
- Daily database and file backups are provided, however the /wp-content/uploads/ folder and .zip, .gz, and .tgz files are not backed up by WPEngine because the folder and files are usually very large. (WP Engine does keep full site backups for emergencies, however these are accessible only by technical support.) More on site backups later.
The new process for managing DNS, email and website files is explained in the following sections of this WP Engine review.
WP Engine does impose certain restrictions for performance and security. I ran into two minor issues when migrating to WP Engine:
- Disallowed plugins because the WordPress plugins are either already provided (caching plugins), are insecure or cause database thrashing.I was using a Sitemaps plugin on the disallowed list. WP Engine sent a polite e-mail notice and thanked me when I substituted an approved plugin.
- File permissions for operations and security.
I could not set executable file permissions on the Sucuri server side scanning script and WP Engine’s security policies would not allow it to be changed. My Sucuri subscription was a carry over from the old shared hosting account which is not needed because all WP Engine hosting plans include firewall, malware scanning and free malware cleanup. WP Engine and Sucuri are partners and it’s included in WP Engine’s security processes. I kept my Sucuri subscription and use the premium WordPress plugin (for paid Sucuri subscribers only) because I like the audit trails, activity logs and extra layer of web application firewall.
WP Engine Dashboard
The WP Engine interface has two parts:
- The WP Engine portal at my.wpengine.com (subscriber login required).
Domains, redirects, SFTP logins, WordPress installs, phpMyAdmin, backups and traffic reports are available here:
The WP Engine widget is the top left gear icon in the following image, which displays the WP Engine settings (IP addresses are obfuscated in the screen grab):
The WPEngine dashboard widget is only displayed for users with WordPress administrative rights. Access to the WP Engine Quick Links menu item (top center in the above image) can also be restricted.
WPEngine is Fast
My WordPress site is over 11 times faster after migrating to WPEngine! The following Pingdom report compares my website response times for shared hosting versus WP Engine. The shared hosting response times are highly variable with jagged spikes and valleys while the WP Engine response times are steady and predictable:
Migrating WordPress from Shared Hosting to WPEngine
Shared hosting plans combine all services under one roof. WPEngine specializes only in WordPress hosting, so it’s necessary and desirable to diversity the DNS, email, site backup and content distribution network (CDN) services with best-in-class service providers.
The following diagram illustrates the changes I made when migrating from shared hosting to WPEngine:
You may substitute your preferred DNS, email, backup and CDN services in lieu of the one I’ve chosen.
Domain Name Registrar
My shared hosting provider is also the domain name registrar. I cancelled the shared hosting plan but kept my domain name registration with my old provider because there wasn’t a compelling reason to change registrars. I’ll likely transfer my domain to another registrar that supports two-factor authentication as an extra layer of account security to prevent domain name theft.
Dyn Managed DNS Express
The Domain Name System (DNS) is the “phone book” that translates a website domain name such as www.HandymanHowTo.com into the IP address of the web server.
After researching managed DNS services I subscribed to Dyn Managed DNS Express because of the features (Global Anycast network, DDoS security, easy to use web portal) and the affordable tiered pricing plan.
The Dyn How To Switch Managed DNS Providers In Five Easy Steps tutorial was very helpful making the change.
Google Apps for Business
I took WP Engine’s recommendation and subscribed to Google Apps for Business, which includes Gmail, to create email accounts for things like email@example.com, firstname.lastname@example.org and email@example.com.
Google Apps for Business is currently priced at $5/month per user with a free 30 day trial. You can minimize the number of paid users (Google App account logins) by configuring email aliases for things like firstname.lastname@example.org because it only needs to send notifications, but never receives email.
CloudFlare Content Distribution Network
WP Engine includes the NetDNA Content Distribution Network (CDN) with the Professional and higher hosting plans and it’s available for an extra fee with the Personal plan. I tried NetDNA for a while and it worked very well. However, there’s no way to configure rules to block or filter bad traffic with NetDNA.
I subscribed to CloudFlare because:
- CloudFlare provides both CDN and Security.
- I can filter traffic by selectively blocking entire countries and IP subnets with CloudFlare.
WP Engine pricing plans are based on the number “visits“, which are the total unique IP addresses seen on your website in 24 hours. The daily visits are added to calculate the total number of visits in a month.
Blocking the bad traffic (threats, misbehaving crawlers/bots, spammers, etc.) prevents it from ever reaching the WP Engine web servers. My daily visits are now significantly reduced so I don’t exceed my hosting plan quota. BTW – WP Engine never throttles or blocks your traffic if you go over your plan and they have very reasonable overage pricing.
- CloudFlare Always Online will display your website even if your web server is down.
- CloudFlare Analytics provides traffic reports itemizes the page views for regular traffic, crawlers/bots and threats with threat origins.
Everything is managed through the user-friendly CloudFlare dashboard.
CloudFlare’s authoritative DNS is included and required to route your site traffic to the CloudFlare network
The CloudFlare DNS tool will automatically import your existing DNS records and update your A Record with CloudFlare’s IP address. Very nice! Only web traffic for DNS A, AAAA and CNAME records are routed through CloudFlare’s network. Email traffic bypasses CloudFlare.
CloudFlare DNS requires disabling the Dyn Managed DNS Express service because your domain registrar DNS name servers must be changed to CloudFlare. Backup name servers are not supported or needed with CloudFlare’s Anycast global network.
The WP Engine with CloudFlare website architecture is illustrated in the following diagram and reflects my final site WordPress configuration. The changes are:
- CDN moved from WP Engine to CloudFlare
- Dyn DNS replaced with CloudFlare DNS
VaultPress – WordPress Backup & Security
VaultPress is a cloud-based WordPress web site backup & restore service that is a owned by Automattic, the people who created WordPress.com. VaultPress performs both real-time and daily WordPress backups to the cloud, including the database and /wp-content/uploads/ folder that WP Engine excludes from restore points.
You should subscribe to VaultPress before migrating to WP Engine to create a backup your shared hosting site, then Restore to a different site on WP Engine to migrate the WordPress database and files. VaultPress made migrating to WP Engine very easy.
WPEngine Website Management Tools
cPanel is not available with WPEngine because as a managed WordPress host, they restrict back end access to many of the applications available with cPanel. WP Engine does provide phpMyAdmin. You’ll need a couple of inexpensive tools and applications to fill the gap when migrating to WP Engine.
Website Monitoring Tools
Website monitoring tools are especially helpful when migrating to a new host to know if the old and new websites are down, DNS is working and measure the site performance. Web site monitoring tools test your website from locations across the globe and confirm outages by testing from different locations. The tools can perform test ranging from simple availability checks to sophisticated transaction monitoring for logins, e-commerce and registration forms. I like Uptrends and Pingdom.
File Transfer Program (FTP)
WP Engine does not allow insecure FTP connections and forces Secure FTP (SFTP). That’s good encrypt your login credentials and file transfer session.
UltraEdit Text Editor
UltraEdit is an outstanding programmer’s editor with syntax highlight, column editing mode, macros, file compare and too many other features to list here. UltraEdit supports SFTP connections for remote file editing on your website to make it as easy as working with local files on your computer. One click and your connected to your WP Engine SFTP account. Edit files online and save it to the web server or your computer.
If I’m uploading images (for example, Apple iPhone icons) or backing up a small number of files, I use FileZilla. For editing robots.txt, .htaccess or theme files such as functions.php or custom.css, UltraEdit is way more convenient.
The WP Engine migration steps are explained in the WPEngine WordPress Migration Steps tutorial.
Thanks for reading,