Over the last two and a half years, this website has grown from 150 to over 50,000 visitors per day, and that never could have happened without a fast WordPress hosting setup. Site speed plays a major role in creating a positive user experience and in the world of SEO. In this article, I’ll share the fastest WordPress hosting setup I’ve discovered for a lot less money than you might think, the three services I use (two of which are 100% free), and some valuable hosting lessons I’ve learned along the way.
The title of this article says that this setup is the fastest WordPress setup in 2016, and based on my experience with several hosting providers including GoDaddy, HostGator, InMotion, and others, it absolutely is. However, I haven’t tested every WordPress hosting setup available and I don’t know anyone who has. I will say this: My setup outperforms every other setup I’ve ever tried by far.
A Major Requirement For A Fast WordPress Host: Affordability
I quit my job at an Apple Store about a year before this website took off and I didn’t have much money to work with. I was mooching off of my mom’s $9 / month hosting plan when 5 million people read my article about iPhone battery life in February 2014. My website didn’t crash because of one of the services I’ll mention below.
It would be a lot easier to pick “the fastest WordPress setup” if I had a ton of money to throw around, but I don’t—so affordability is a major concern. I do believe my setup outperforms hosting providers that charge 10 times what I pay, which is currently $20 / month.
If you’re not running websites that get 2.5 million pageviews / month, this article is for you as well: I’ll show you a $5 / month setup that will handle many WordPress installations without issue, and it’s completely scalable if you need to step up to a $10 or $20 plan in the future.
How I Test My Website
There are a slew of site speed tests out there, but my favorite by far is webpagetest.org. Webpagetest is a free service that lets you run up to 9 tests at once and displays essential troubleshooting information in minutes. I’ve used it to discover which resources are slowing down my site and made major decisions about the services I use based on its results. It’s not the prettiest service I’ve seen, but it’s the most useful.
My Three Part Super-Fast WordPress Hosting Setup
1. Server: Digital Ocean
A server is a computer that runs “in the cloud”. I’m not a server or Linux expert, so don’t get scared—this setup is so easy that anyone can do it.
The Three Main WordPress Hosting Setups Out There
- Managed WordPress: The hosting company manages everything, including what plugins you can use, caching, CDN, and usually charges by the pageview. In my experience, managed WordPress providers always take the “We host it and we know what we’re doing, so this is as fast as it gets” approach, but I’ve never seen a managed WordPress host that could compare to the the hosting setup I’ll describe. One managed WordPress hosting company would charge me over $2,000 a month to host this website. (They’re a great host, though — check out my WP Engine coupon code and review if you’re interested.)
- Shared Hosting: You’ve probably seen this before—you log into the hosting provider’s website and you see rows of icons, some of which you understand (like email) and some of which you don’t (like MySQL and Apache handlers). Even though it’s supposed to make things easier, shared hosting dashboards like CPanel can be confusing and intimidating. Can a VPS be easier than this? Yes!
- Virtual Private Server (VPS): You pay a monthly fee and you get a virtual computer “in the cloud”. At a basic level, a VPS comes installed with Linux and you connect to it using a Terminal on your computer. Don’t run away—you can do this! You don’t need to be a server expert or have any formal training at all to make this work for you.
The first part of my winning WordPress hosting setup is a virtual private server called a “Droplet” hosted by Digital Ocean. Droplets cost as little as $5 / month, and that’s all you need to start hosting super-fast WordPress websites. You can try it for free—just click this referral link and you’ll get $10 to spend on Digital Ocean for free. If you stick with it, I’ll get a referral fee too—there’s no risk and you have nothing to lose.
Create a $5 / month Digital Ocean Droplet running Ubuntu 14.04 LTS 64-bit, and then follow this Digital Ocean guide to connect to your Droplet using your computer. Connecting to the server for the first time is by far the hardest part of the entire setup—and it’s not that hard!
Setup notes: When you set up the server on Digital Ocean, just leave all the settings on their defaults. If you want to enable backups, go ahead—but you can always do that later.
2. WordPress Stack: EasyEngine
The next part of the setup is EasyEngine, which is the software you install to run WordPress on your server. This used to be complicated, but EasyEngine makes it super easy.
In technical terms, EasyEngine installs a LEMP stack and automatically configures it for WordPress. LEMP stands for Linux, Nginx (pronounced Engine-X, hence the E in LEMP), MySQL, and PHP.
Installing EasyEngine On Your Droplet
After you connect to your server (which we did in the previous step), the entire install process involves copying and pasting two lines of code from EasyEngine’s website—and then you’re done. Top-notch WordPress server: Installed and configured. EasyEngine’s website has a simple walkthrough of how to install EasyEngine on a Digital Ocean Droplet if you need more help.
Why Is EasyEngine So Amazing?
Let’s say I want to install a WordPress site on testwordpress.com. If I want to set it up from start to finish using EasyEngine, I type ee site create testwordpress.com --wpfc. That’s it.
Note: The --wpfc installs W3 Total Cache along with WordPress. My experience has shown W3 Total Cache to be the fastest, most reliable setup for caching WordPress with EasyEngine.
If I want to create a site with free SSL using Let’s Encrypt, EasyEngine has that built in too. (SSL is what makes a website https:// instead of http://, which is another Google SEO ranking factor nowadays.) I’d just type ee site create testwordpress.com --wpfc --letsencrypt. If I had already created testwordpress.com and wanted to add SSL later, I’d just type ee site update testwordpress.com --letsencrypt. Done.
For more information about how to get started with EasyEngine, including a more thorough walkthrough of how to set up EasyEngine with Digital Ocean, visit the Docs page on EasyEngine.io.
Set Up SSL Before You Set Up CloudFlare
If you’re going to use SSL (HTTPS instead of HTTP) with your website, enable it before you move onto the last step. EasyEngine’s built-in LetsEncrypt SSL functionality doesn’t work after a site is connected to CloudFlare. There are other ways to enable it, but it’s easiest to turn it on before you begin.
3. CDN / Security: CloudFlare
CloudFlare takes things a step farther than a traditional CDN and is also a top-notch security provider, protecting my websites from hundreds of attempted attacks per day. And I almost forgot to mention this—EasyEngine has great security features built in too.
Setting Up CloudFlare
CloudFlare’s setup is very easy. Let’s say you registered testwordpress.com using Google Domains. After you create an account on the CloudFlare website and add testwordpress.com, CloudFlare scans the testwordpress.com domain and copies its current DNS records to CloudFlare’s DNS servers. (DNS records link a domain name to its server’s IP address, among other things.)
After the domain’s DNS records are set up, CloudFlare explains how to point the current nameservers of testwordpress.com to CloudFlare’s nameservers. When it asks about payment options, go for the free plan—it’s all you need to start.
To link testwordpress.com to the IP address of my Digital Ocean Droplet, I would add the following records to CloudFlare’s DNS:
- Add an A record for the @ domain (which is shorthand for the root domain—testwordpress.com) and point it to the IP address of my Droplet, which looks like 18.104.22.168.
- Add a CNAME record for the www domain (which covers www.testwordpress.com, if I decide to use that), and point it toward @ (shorthand for testwordpress.com)
How CloudFlare Changed My Life
CloudFlare is a rare example of a free service that outperforms its paid counterparts. My $9 / month server would definitely have crashed if I hadn’t been using CloudFlare when 5 million people visited in February of 2014, and the success of that article changed my life forever—so in essence, CloudFlare changed my life, and I am eternally grateful for the service they provide.
Using webpagetest.org, I’m happy to say that pages on my website load in less than 3 seconds, which is very, very fast considering the amount of traffic I get and the advertising I run to support the website.
Webpagetest shows that my website (2.2 second load time) vastly outperforms websites like The New York Times (12.9 second load time), MacRumors (11.5 second load time), and iMore (18 second load time)—and I bet they spend a lot more on hosting than I do.
The Biggest Lesson I’ve Learned
In the world of WordPress hosting, you don’t always get what you pay for. In my experience, the less I’ve paid, the better the setup I’ve been able to find.
Wrapping It Up: Enjoy Your Fast WordPress Hosting!
I hope this guide has been helpful and saves you a lot of the headaches I encountered while I was getting started. My three-part Digital Ocean, CloudFlare, and EasyEngine WordPress hosting setup has never crashed and I plan on sticking with it!
Thanks so much for reading, and happy hosting,