Speed of your WordPress site is essential in our day as no one loves to see a slow loading web-site. We will cover some basics in this post to have a super fast yet affordable WordPress site using a VPS and some more services.
Page load speed is a multi variable thing. to have a fast loading WordPress site you need to be sure about:
- Your Server Speed
- Your NS resolve time
- Your Content
Many of the tutorials out there will point you to cache plugins or HTML directly. However if your server is reached in late response times and generates responses slow the HTML and cache are not going to make your site fly.
In this tutorial we will point out some services to you which will speed up your presence over internet.
The first Service we will talk about is the Server.
A shared hosting would generally suffice your needs and is good for people who would like to have things managed for themselves. However huge speed boost we talk will need your hands dirty a little bit. For server we will be using a VPS from Digital Ocean. We use Digital Ocean for most of our solutions and we can simply say the service is great.
To have a very easy setup follow the below.
Signup for an account at Digital Ocean
This step is easy just visit the link and click signup at the top right of the screen. After you sign-up you will be able to create your VPS.
Create a Droplet
Digital Ocean calls each VPS a Droplet. In your member pane you can easily create a droplet simply clicking Create Button.
Important things with droplet creation
The size of your droplet is important. An informative blog with less user interaction would not need much power while a user interactive web-site would need power. You can simply use a $5 droplet at first and then gradually increase its size. Digital Ocean has tutorials for that.
Create your droplet in a location where you expect your traffic is going to be high. Eg if you are in England and will serve to England mainly use London.
This is the OS of your Droplet. You will see WordPress ready ones there but do not use them. they are not optimised. Use Ubuntu 14.04 64 as your image.
Once your Droplet is created Digital Ocean will send you an email with IP of your droplet and SSH Logins for the Droplet.
If you are using Mac OSX you can use Terminal to login to your server. If you are on a Windows PC you can use PuTTY to login your server.
Once you login to your server there are a few things you should do.
run the below command to update your server software.
apt-get update && apt-get upgrade && apt-get dist-upgrade
Install Web Server
Once your Server is up to date. You would need to install it a web-server a mysql server and some more. thanks to people at RtCamp who created Easy Engine this is very simple. Just run the command below.
wget -qO ee rt.cx/ee && sudo bash ee
this command will install Easy Engine on your server which will include PHP , Nginx and MySQL.
when the process is finished Easy engine will ask you several questions.
Enter your name [root]: Your Name Enter your email address [firstname.lastname@example.org]: email@example.com
Create your Website
Creating a website with Easy Engine is very simple run the below command to create our site. Do not forget to place your domain name in the command!
ee site create yourdomain.com --wpfc
This command will create your site with Nginx Fast CGI cache. Which is the best cache method we can use as it is at server side without too much load on server. After all is done it will prompt you the user name and password for WordPress admin. Copy them to a safe place.
As our server is ready we need to test it but as we do not have our domain pointed to the server it will not be possible. As I mentioned above NS lookup is pretty important for performance. For NS I would suggest using Amazon Route 53. This will make sure your domain is resolved very fast in world wide web. I will add the tutorial for Route 53 if it is needed. So place your comment if you need details on that part.
Once NS is also done you can now browse to your WordPress install. Login to your admin dashboard. You will see easy Engine has installed W3 Total Cache as well. You will be using the plugin only for object and db caches. Go to W3 total cache General settings and do the following.
Page Cache : Disabled as Fast CGI cache is doing this for us.
Minify : Disabled
Database Cache : Enable it and set to Memcached
Object Cache : Enable it an set to Memcached.
Browser Cache : Disabled
Now go to Settings and Nginx Helper
Enable Cache Purge
And set the purging options as you wish.
Those settings will result in a very fast loading website. If you want to make it even faster you can use a CDN for static files. I recommend using Amazon Cloud Front for that.
To set your CDN go to W3 Total cache and enable CDN in general Settings. Set it as generic mirror. in CDN settings page place the Cloudfront URL.
Once you are done test your website. You will see a very fast loading WordPress site.
Do not install too many plugins on your WordPress site each plugin will increase request count on your HTML generated which will drop speed. Only install and activate plugins you use the rest will be just dead load on your page.
The total cost of such a setup would be around $6-7 per month if you used $5 Droplet in Digital Ocean.
As you see a fast loading WordPress site is not so hard to have if you use the right tools and right services.