I Get All of My Stock Photos for Only $0.49! Find Out How

Speed Up WordPress – Your Complete Optimization Guide

WordPress is a very powerful and popular Content Management System (CMS). It currently powers over 26% of all the sites on the internet. That means every 1 in 4 sites that you visit is most likely running WordPress. Sites like EA, CBN, ESPN, etc. all use WordPress to power their sites. I personally think WordPress is the best solution for business owners and even enterprise sites when it comes to simplifying the online marketing of their website.

Even though WordPress is super popular it can also come with a price. And that price is web performance. Originally WordPress was created as a blogging platform. But it has evolved into much more than that. With that evolution comes the need for more functionality. And with so many different configurations out there WordPress can run quite slow if not setup correctly. In this post I want to cover, step by step, exactly how I configure all my WordPress sites and how you can easily achieve speeds of under 500ms load times.

A little bit about me. I have spent over 10 years using WordPress and also work for KeyCDN, a content delivery network. I have spent hundreds of hours optimizing WordPress sites to ensure that they are running at optimal performance. As an internet marketer, WordPress has helped me achieve amazing things and it can also help you! Just follow the steps below to instantly speed up WordPress. I promise you, no matter what your background or level of expertise, you will find something in my post that is useful.

Note: 07.03.16 – I am working on a complete update to this guide, make sure to bookmark it.

1. Fast WordPress Hosting

One of the easiest and most important ways to speed up WordPress is to start with a solid foundation. And that means picking a reliable and fast Web Hosting provider. I’m sure you see guys all the time advertising BlueHost hosting. Unfortunately a lot of those sites are run by affiliate marketers simply trying to make a quick buck. And most of the time the affiliate marketer doesn’t actually use them, they simply refer people to them. Picking a host like BlueHost is one of the worst decisions you could ever make when it comes to hosting your website.

Did you know that BlueHost is owned by EIG? EIG is a corporation that has been buying up all the crappy hosts. Here is a full list of hosts owned by EIG. You can pretty much expect the same horrible service from all of them.

While it is true that I am an affiliate marketer, my passion for web performance has always trumped that. That is why I will only be referring you to web hosting providers that I currently use for my websites. Having a superior web hosting provider means that you don’t have to worry about downtime or speed.

Managed WordPress Hosting – WPHostingSpot

The one host that I use for all of my websites is WebHostingSpot. They offer managed WordPress hosting. What is managed WordPress hosting? Basically managed means what they offer you support 24/7 if you have problems with your websites, and also they are responsible if something goes wrong with your server. Managed WordPress hosting of course costs more but you have to ask yourself. How comfortable are you fixing server issues or problems with your website if it goes down? If you have any doubts, you should be using a managed WordPress host. I choose to pay a little more so that I can focus on what is really important to me, which is content marketing and writing.

Visit WebHostingSpot

WebHostingSpot Features

WebHostingSpot features the best of the best when it comes to server architecture and web performance stack. They offer VPS options from Vultr, Linode, or Digital Ocean. I recommend going with Vultr or Linode. You can pick from available server locations when checking out.wphostingspot

The location of your server is actually very important, as this affects your load times in relation to where your visitors are, DNS lookup times, and even your speed test results. Always pick a central location based where the majority of your visitors are coming from. You can use Google Analytics to see the geographical locations of all your visitors. For example, if 80% of your visitors are coming from the United States, then it would probably be best to choose something centrally located in the United States. I personally prefer Dallas TX because it has a very large datacenter, works great with speed test results, and is fairly centrally located.

WPHostingSpot uses Nginx on all their servers, supports HTTP/2, MariaDB, and the latest PHP7. A lot of cheap hosts you see using Cpanel use Apache servers. When you choose a host, trust me, you want one that runs Nginx as it has been proven to be much faster and more stable than Apache. They also offer a CDN for free along with free SSL certs via Let’s Encrypt.

WPHostingSpot Plans

The plans with WPHostingSpot range from $20 a month all the way up to $150 per month. Now at first glance you might think that is super expensive. It is higher than you might be used to paying. But remember, if something goes wrong, you have support. This pays off in the long run. Make sure to checkout my in-depth review of WPHostingSpot.

Affordable WordPress Hosting – SiteGround

If you are looking for more affordable WordPress hosting, I highly recommend SiteGround. They offer shared hosting with HTTP/2, PHP7, SSD and tons of other features starting at only $3.95 a month! This is about as good as it gets for shared hosting folks. Make sure to check out our in-depth SiteGround review.

siteground shared wordpress hosting

 

2. Content Delivery Network (CDN)

No matter how fast your web hosting provider is, you can never beat the latency issue. When you host your website it is always stored on a single server somewhere in a data center. For visitors across the country, things are much slower because it has to download everything across the globe. A CDN fixes that by storing copies of your assets, like images, CSS, and JavasScript on servers, also known as POPs, around the globe. It also caches them. This way when a visitor from across the globe is looking up your website, the content is delivered from the local POP instead of your web server. Make sure to check out my article on CDN for dummies if you want to learn more about how CDNs work.

I use KeyCDN of course for all of my websites. Now yes I work for them so I might be a little biased. But at $0.04/GB (lowest price globally) with more POPs than MaxCDN, there really is no comparison and it’s a no brainer. KeyCDN also offers origin shield and secure token free of charge which most other providers charge hundreds of dollars for. KeyCDN also has a free Let’s Encrypt integration so you can deploy SSL for free. And they fully support HTTP/2 and the latest protocols so that your content is delivered as fast as possible.

keycdn

If you aren’t using a CDN yet then you are hurting yourself. A blog with a decent amount of traffic usually is in the 20-25GB bandwidth range, and to implement a CDN it costs less than a $3 per month. And suddenly your site is supercharged from multiple POPs all over the world. I used the free CDN Enabler plugin to deploy my CDN. Make sure to also check out my full review of KeyCDN.

3. Lightweight WordPress Themes

WordPress themes can make or break your site. There are a ton of bloated themes out there which can bring your site to crawl. When you looking for a WordPress theme you want to make sure you are buying from a reputable company with good developers and support. I use MyThemeShop on a lot of my websites and couldn’t be happier. I saw a 250ms decrease simply by changing themes, without anything else! Kudos to the team over at MyThemeShop because they know how to code properly, keep things lightweight, and still include schema markup and rich snippets, which are things most competitors don’t.

mythemeshop

I went from MyThemeShop to ThemeForest, and am back on MyThemeShop. Yes, I was stupid. I won’t make that mistake again. I’m not saying that all developers at ThemeForest are bad, but unfortunately a lot simply add bloat to increase their sales. If you are interested I am currently running their Schema theme.

Head over to MyThemeShop and grab a super fast theme!

4. Got Rid of 12 Plugins I Can Live Without

live without you

Src: imgflip

The next step was to get rid of all the unnecessary plugins that I could technically live without. Now thankfully this is where I have to shout out to MyThemeShop again. I had a lot of plugins installed with my ThemeForest theme because I lost functionality leaving MyThemeShop (MTS).

Here are plugins I got rid of:

5. Took My Custom CSS to Bare Minimum

custom css

With my ThemeForest theme, I had to fix a lot of things to make it work the way I wanted. My custom CSS file had 247 lines of code. I went through each line after switching themes and managed to drop this down to 88 lines of code. This just goes to show you how much better these guys code. And I could probably clean this up even more.

New CSS Button

If you are curious, here are my new CSS buttons I am using.

Sample Button

.btn {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0px;
  font-family: Arial;
  color: #ffffff !important;
  font-size: 22px;
  background: #8cc462;
  padding: 12px 22px 12px 22px;
  text-decoration: none;
  border-bottom: 4px solid #6a944a !important;
  position: relative;
  display: inline-block;
}

.btn:hover {
  background: #97d26a;
  text-decoration: none;
}

Here is the HTML code. You could even go one step further and create your own shortcode. But by doing it this way, I get rid of one HTTP request from the button plugin.

<a class="btn" href="" target="_blank">button text</a>

6. Changed Web Fonts

I have been doing a lot of research recently on web font performance. I ditched the Adobe Typekit service. I saw an additional 300ms reduction by doing this. Typekit adds 2 external HTTP requests and it also base64 encodes all the font formats. If you aren’t familiar with fonts you no longer need to serve all the font formats, you only need WOFF and WOFF2 (if you are going for extra compression).

I switched back over to Google Fonts and am using the web font only for my headers. The rest of my site uses a web safe font, “Arial.” This ensures fonts are not slowing down my site whatsoever. Did you know there is a 200ms different between Google’s fastest font and a web safe font? (Update: I have moved back to a Google font for my body text as I could no longer stand Arial lol. But again the external call to Google is much faster than using a third party like Typekit.) And when Typekit goes down, which it does once in a while, it seems like half the internet breaks.

arial vs open sans

Src: KeyCDN

I also added prefetching for the Google fonts domain by adding this to my header.php file.

<link rel="dns-prefetch" href="//fonts.googleapis.com/">

7. WordPress Caching

Speed Up WordPress - Cache Enabler

Obviously everyone knows by now the importance of caching for your WordPress site. There are free caching plugins out there such W3 Total Cache and WP Super Cache, but I have never been that impressed by them as far as speed goes. I used to use WP Rocket, which I was pretty happy with, and it performed well for over a year. However there is a new caching plugin on the block, and it is completely free. I am referring to WordPress Cache Enabler.

Cache Enabler features:

  • Efficient and fast disk cache engine
  • Automated and/or manual clearing of the cache
  • Display of the actual cache size in your dashboard
  • Minification of HTML and inline JavaScript
  • WordPress multisite support
  • Custom Post Type support
  • Expiry Directive
  • Support of 304 Not Modified if page has not modified since last cached
  • WebP Support (when combined with Optimus)
  • HTTP/2 Focused

There really is no configuration needed, and it is by far the easiest and fastest caching plugin I have ever used. Just install and be amazed by the speed! Make sure to check out my full review on WordPress Cache Enabler.

8. Google Analytics – Removed Advertising and Remarketing

Having worked in the corporate agency setting in the past I have always enabled advertising features and remarketing in my Google Analytics accounts by default. However, on my blog I don’t use any of the data, so better to remove it. Why? Because if you are running these features you will actually have a 2nd HTTP request for this file: https://stats.g.doubleclick.net/r/collect? and then your main Google Analytics script will have a 302 redirect in the response header.

google analytics collect

You can fix this by turning both remarketing and advertising reporting features off in your Google Analytics account.

google analytics data collection

You can also disable the features by adding the following code to your Google Analytics script.

  ga('set', 'displayFeaturesTask', null);

After disabling this you should no longer have that 2nd HTTP request and your main script will no longer have a 302 redirect.

google analytics no redirect

9. Installed the Gonzalez Plugin

If you are not familiar with the Gonzalez plugin do yourself a favor and go buy it right now. It is a WordPress plugin developed by Tomasz Dobrzyński for the specific purpose of disabling CSS and Javascript on a page-level basis. It really is pure genius. Now my site was pretty optimized already, especially after doing everything above. But simply by installing Gonzalez I was able to drop down from around 372ms to 276ms. In fact, this plugin is solely responsible for me breaking the 300ms barrier.

I was able to disable 1 script and 4 stylesheets from loading on my homepage. For example, the social warfare script is my social counter plugin. That only needs to load on posts, not my homepage. So I disabled it.

gonzalez wordpress plugin

I will be publishing a full review of this plugin in the near future. For sites that aren’t as optimized as mine, I could easily see this plugin shaving off entire seconds! There is also a free plugin on the WP repository called Plugin Organizer which also does the same thing. You might want to check that out as well.

Test Results – Speed Up WordPress

And here are my speed test results after I did everything above. The tests were run 8 times each.

Before Optimization

brianjackson before optimization

Src: Pingdom

After Optimization

brianjackson after optimization

Src: Pingdom

As you can see I managed to reduce my HTTP requests from 90 down to 44. I decreased my page size from 939.9kb down to 497.6kb. And I decreased my load time from 1.52s down to 276ms!

Other Speed Up WordPress Tips

Here are a few additional things I am already doing that you might want to check out.

Call me crazy but I am actually still not happy with the results. My next goal is to bridge the 200ms barrier into the land of 100 ms! Stay tuned, as I already have some tricks up my sleeves on how to accomplish that. Hopefully my experience above on how to speed up WordPress will be eye opening for you. I would love to hear any feedback below!

GET MORE STUFF LIKE THIS

Marketing, WordPress, Blogging Tips, SEO and Reviews, once a week.

407 Shares
Tweet132
Share210
+117
Share25
Buffer23