100 Shares

Site speed is a major factor for the success (or lack thereof) for a website.   It is something that is often not strongly focused on within blogging communities, mostly because bloggers have so much on their plates – from content curation to social media management, working vendors and figuring out how to make money with their blog without working 15 hours a day, sometimes some of the more technical elements of running a blog can be overlooked.

wordpress-speed-bloggenesis

PIN FOR LATER

 

In some cases, thats not a big deal – but in others, it could directly affect the success of your site.

One such area, is your site speed, or page loading time – basically, the amount of time it takes for the elements on your page to become visible to a visitor.   There are many factors in play that will affect these numbers, and we’ll go through some of the big offenders down below.

But the bottom line is – if your site doesn’t load quickly, you will lose visitors – plain and simple.

Don’t think thats a big deal?   Consider how it is that you acquire visitors.   Do you pay for traffic?   Do you work hard to offer great service so that people will send you referrals?   Do you work hard to write great content so that other sites link to you and send you traffic?

Consider the cost to acquire every single one of those customers  – if your page load time is hovering around 10 seconds or higher, you could be losing as many as 50% (or more) of your visitors who land on your page, and are too impatient to wait for it to load (source: Kissmetrics).

Additionally, if it wasn’t bad enough to lose visitors due to impatience, the other factor to consider is that your rankings will actually improve, as you work to improve your page load times.   Google has made it clear that the faster your site is, the more weight they will give your site in the seach engines (source: Matt Cutts/Search Engine Land).

So, what do we need to do?

The first step, is to figure out whether or not you have a problem in the first place, when it comes to your page load time.

GXMetrix is an awesome tool that will analyze your page load time, and make suggestions on how to speed things up.

Once you know what you’re working with, you can go through some of the suggestions below to clean things up.   This is an ongoing process you should pay attention to and remember to check a few times a year, just to make sure your site is staying nice and zippy.  🙂

 

10 Ways To Speed Up Your WordPress Site

 

1.  Make sure you are with a GREAT webhost.

There are a lot of really small niche web hosting companies who offer great support – but in a lot of cases, those small niche hosting companies are actually just resellers who are selling the webhosting services of larger, potentially problem laden companies.

Now the upside with these small hosting companies, is that you often will get GREAT service.  But along with great service, you also should expect your site to actually be up/live/online more than 99% of the time.

I see a lot of bloggers talk about these small niche web hosting companies they work with and they make comments like “every time my site goes down, Joe is so great- he answers my call or email right away, and he has my site up and running again within 30 minutes!”   That is certainly great support, but if this is the 4th time in 2 months that your site has gone down – even if its only for a 5-10 minutes each time – that is a problem!   Joe can provide amazing customer service and be a wonderful guy – but if he’s reselling hosting service from a larger company who is more plagued with downtime, then that will affect your site, and its really not worth it.

My hands down, unequivocal best recommendation for web hosting is Liquid Web.

I’ve been with them for almost 10 years, and I can count on 1 hand the number of times my sites have been down in that time period.  Plus, their support is amazing as well (they call it “heroic support” and they truly live up to it).

So yes, you can and should expect to have both high uptime and great support.   I know budgets can often be small, especially for bloggers just starting out – but this is one area you shouldn’t skimp on – with packages starting at $14, its a no-brainer.

 

2.  Optimize your image sizes

With our high megapixel cameras, this can be one of the biggest offenders on our sites.   We upload images straight from our cameras, and then allow WordPress to handle the resizing for us.   What many don’t realize, is that images always load in their full resolution first, and are then resized down to whatever specific dimensions are specified when you insert it into a post. This causes a double delay, both in the huge initial load time, and then in the recalculation of the new image size.

Ideally, you want your images to be loaded natively in the exact size that they will display on your site.  But I know thats a lot of extra work, so even just taking a few steps to greatly reduce the initial upload size will help a ton.

There are 2 plugins I recommend for managing your images when it comes to page load times:

  1. Resize images before upload – does exactly what it says – you upload a pack of 5mp images and it will resize them first to whatever maximum dimension you set, and then upload that reduced image size.   I recommend setting your upload limits to no more than 1000 x 1000 – unless you are uploading images that are intended to be full screen.
  2. WP Smushit – goes into the code for the images and removes code, and junk – stuff thats really unnecessary – helping to decrease the overall size of the image.

 

3.  Use a CDN

While we are talking about optimizing images, lets talk CDNs – or Content Delivery Networks.  Basically, images take up a lot of bandwidth on your server.   If you host JUST your images on a separate – faster server, you could load your pages and images much more quickly. This is what you get with a CDN.

The absolute most simple way to set it up, is by activating Jetpack and turning on the Photon feature.   I don’t love Jetpack though because it is bloated and will slow your site down in other ways.

Max CDN is a better option although a bit more complicated to set up – it is well worth the time.   It comes as part of the W3 Total Cache plugin and you can find set up instructions here.

 

4.  Use a caching plugin

Caching is basically a fancy word for saving elements of a page so that they can be most quickly loaded the next time someone visits your site.   W3 Total Cache is my favorite plugin when it comes to caching.   Its free, simple to use and install, and it provides a pretty drastic improvement in your page load time.

Simply install and activate.   Check out this blog post for a list of the “best” settings to use when activating W3TC.   This is definitely a plugin you’ll want to test as you update each setting, to make sure tehre are nounintended effects on your site.

 

5.  Add Expires Headers

This is a really techy looking one, but essentially, it tells browsers that they can cache (save) particular elements of your page as part of their long term cache- so that they don’t have to come back as often to download new content.   There are 2 ways you can accomplish this…

The most direct and efficient is through your .htaccess file.   You can essentially copy/paste the code below into that file, and you’re set.   Note, the number at the end of each line represents seconds, so that number essentially represents a full month – meaning the header is telling the browser, that your image elements won’t expire for a full month – you can change that number as you see fit:

ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/css A2592000
ExpiresByType text/javascript A2592000
ExpiresByType application/x-javascript A2592000

If you are allergic to code and htaccess files and anything techy like that, there is a plugin that you can install that will basically do the same thing – Far Future Expiry Header.

 

6.  Reduce the number of 3rd party apps and/or Ad networks that you use

Ad networks can be good for your wallet (although in my opinion there are more lucrative ways to monetize your blog), but they are a HUGE drain on your page load time.   Every time you have a function or widget on your site that requires a call out to a 3rd party website to retrieve some information, it will drastically slow down your website.

These can be tough to define as its not always obvious whether a feature loads locally on your own site, or whether it has to go out to another website, but here are a few tell-tale signs that a plugin or app will be making 3rd party requests to function:

  • When you install a plugin, and it takes you to a 3rd party website where you have to create an account and set up your widgets there, before being brought back to your main site – that is likely an app or plugin that will require call-outs to that website every time pages are loading on your website.   Examples of this:   ShareThis, Shareaholic, SumoMe
  • When you have to enter in an API code when installing / activating a plugin
  • When someone wants you to install a badge or snippet of text on your page, and they give you a bit of javascript code to install in your sidebar
  • Participation in an ad network that actively manages ad placement on your site, from my experience, will result in a very high number of 3rd party requests.   If your page speed is super high and the other fixes on this post aren’t making a huge difference, talk to your ad network manager about options for decreasing the number of advertising requests that are being made.

Now I should clarify, this is not to say that you should never use 3rd party services that require off site requests.   But try to keep them to a bare minimum.   Many of the best plugins for your site will require those (for example, integrations with your email marketing service provider).  But if you run a speed test and find that your site is making 150 3rd party requests to load a single page – that is beyond excessive.

Run a site speed test here:  http://tools.pingdom.com/

As you look down the left side of your results – any URLs that come up that are not yours, are 3rd party requests.   Look through those and their corresponding load times.  This will give you some insight as to which are worth keeping, and which you could probably let go.

 

7. Block people from hotlinking to your content
If someone is sharing one of your posts, and they include one of your images in the post – they “should” be downloading that image, and reuploading it to their own site.   So that it is stored on their server, and whenever people load their article, the contents are loaded directly from their site.  But what can happen sometimes, is people get lazy, and they direct link to YOUR image, hosted on your site.   So that every time a visitor loads THEIR website, it has to pull the image from YOUR server.  This is a suck on your bandwidth, and can slow your site down (especially if their site gets a lot of traffic).  You can read more on hotlinking here.

As you have more and more people sharing your content, or more scrapers who steal your content – this can become a huge drag on your server.

Its a pretty easy fix, simply add the following code in your root .htaccess file (or ask your webhost to do it for you):

disable hotlinking of images
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?your-site.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://i.imgur.com/mSXyvtS.png [NC,R,L]

  1. Make sure you  replace “your-site.com” with your domain name where you see the red code above.   
  2. Use Picmonkey or Canva to create a graphic similar to this http://i.imgur.com/mSXyvtS.png.   I recommend adding your URL into the graphic so people will know how to find your site (especially for people who are stealing your content).   Upload that graphic to http://imgur.com (it can’t load off of your media library otherwise it too would be blocked). Take the “Direct URL” that they give you, and add that into the code, replacing the blue text. 

8. Turn off pingbacks and trackbacks

Trackbacks and pingbacks are a built in WP system that notifiies you, when other people link to your content, and then updates the data within the post.

These links will still exist whether you have pingbacks/trackbacks enabled or not – but turning them off will eliminate a setting that causes WP and therefore your server, to perform a lot of work.   More work, more server load = a slower site.

To turn them of go to Settings > Discussion and find the line that reads “

 

8. Find and remove/replace other plugins are sucking up all of your resources

I know we’re talking about a lot of plugins here, and many will say “the more plugins you add, the more it will slow down your site” – but some of these can be activated temporarily to perform their functions, and then deactivated afterwards.  The P3 Profiler plugin is one that falls into this category, and this can give you a lot of insight into what your other plugins are doing when it comes to slowing down your server.

Once you install and activate P3, it will show you data on which plugins are the biggest drains.  You can then evaluate whether they are worth keeping, and if there are alternate plugins that could do the same functionality, without the speed loss.

 

9.  Optimize your database

WordPress auto-saves just about everything that you do when you are creating a post – this is great when your computer crashes and you forgot to hit save or publish.   But the problem comes when your database gets filled with thousands of saved post-revisions, as well as spam comments and trashed items.

There is a great plugin called WP-Optimize which regularly optimizes your database to remove some of those excess revsions and will help to keep your database lean and running efficiently.   Be sure you have a backup of your DB (I recommend Backup Buddy) in place before running WP-Optimize.

 

10.  Enable GZIP Compression

When someone loads a page on your site, there is a lot of data that is transferred between your server, and your visitors.   You can enable compression of that content so that it transfers much more quickly, before being “unzipped” on other side by your browser.   This significantly lowers the size of information that is sent, which in turn will lower the time it takes to load your pages.

This is another one that looks scary, but is a simple code addition to your .htaccess file.

## ENABLE GZIP COMPRESSION ##
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
## ENABLE GZIP COMPRESSION ##

Simply add that to your root .htaccess file, or send it to your host to add.

 


 

Final Thoughts:  Its important that you test your site thoroughly after each speed enhancement is implemented, to make sure there are no issues with the front end display or functionality of your site.   While most people can set up these optimizations without issues, some of these speed improvements can have unintended effects on other plugins or functionality of your site, depending on how your site is configured.   Additionally, if you implement some of the caching features – you’ll want to deactivate those during testing as caching can make it difficult to test your site (since your browser could be serving older/saved versions of the pages).  Keep an ear out from your readers/customers – if anyone lets you know they are having trouble accessing a page, images aren’t loading, or javascript elements aren’t working – you’ll need to go back and either remove the setting that caused that issue, or troubleshoot.

 

BG-sound-off

Do you have any other tips for increasing page speed?   Did you find any of these tips worked especially well for you?   I’d love to hear from you in the comments below!

(Visited 1,343 times, 1 visits today)
100 Shares
Was this post helpful?
I'd be grateful if you would share it with others who may find it valuable. Thank you!