–Matt Cutts, Google’s Spam Czar
In our experience of ranking websites, site speed plays into about 1/3 of the overall factor for SEO success. We’ve ranked sites in highly competitive niches by only working on site speed. That is not to say that this is a cold hard fact globally, but it certainty has been our experience.
There are a number of different blog posts that have talked about optimizing a landing page or one-site websites. This post will talk about optimizing the entire site, inner pages, gallery pages etc, and will specifically cater to WordPress users.
With WordPress gaining more and more of the website market, we wanted to take this opportunity to create the ultimate WordPress SEO site speed guide, based on our experience and a what we’ve learned from other sources.
The Nielsen Norman Group published a study in 1993 that made 3 main points:
While this study was posted in 1993, nothing has really changed in the overall understanding of the way the human mind interprets attention span. If anything, it has become more sensitive.
Figure out what you want: lots of bells and whistles, or a site that loads fast and ranks well. In many cases you cannot have both. Google does not show their cards very often, but one thing they have continued to talk about, is page speed. They’ve even made a browser plugin and have developed a number of tools to help webmasters analyze their sites for speed.
Great user experience does not mean adding every plugin and widget that looks cool to you. It means curating your content in a way that will allow your users to browse your site with minimal effort.
If your site takes 5 extra seconds to load your StumbleUpon share button, chances are your users are going to hit the back button before they would share it on StumbleUpon.
Start by doing a site speed check. How fast or slow your site is loading at this point is important, but not as important as seeing what files are loading, how large they are, where they are loading from, etc. Tools.pingdom.com has really become the standard for a “quick check” and is really quite thorough. In order to see what to improve on, we need to find out where we are at. They even offer a really cool paid option if you want to check your site’s speed throughout the month.
In this example our test site loaded in about 2.15 seconds, which isn’t that bad. Ideally sites should shoot for under 1 second load times.
Test Site Issues
Looking at the “waterfall” you can see that it took well over 1 second for the site to start loading. This can most definitely be chalked up to a hosting issue, or more likely a slow DNS server. Other than that, the site only loaded 30 files, most of them were under 100kb, and the entire page size was under 100kb.
Find yourself a top level hosting provider. We personally love LiquidWeb / Storm but there are a lot of good options out there. Go with a big name and not a reseller. Stay away from “consumer hosting” companies such as Godaddy. We could give a lot of personal recommendations. There is currently a huge discussion going on about the benefits of an Ngnix server but that is for another day.
If you are looking for a good host, here is our top picks:
Content Delivery Networks
To put it simply, a CDN distributes your content to servers across the globe, rather than having it sit on one server. The advantage to this is your data will travel shorter distances to get to where it needs to be. There are numerous other advantages to a CDN and very little downsides. If you can afford it, do it.
CDN’s are really an optimal solution for anyone looking to speed up their site speed. Pricing for CloudFlare which is one of the most popular CDN options start at free, and go all the way up to thousands of dollars per month.
Amazon’s Cloudfront is for the big boys and girls. A lot of the top sites on the internet use them for hosting and CDNs. Note: you need to know your stuff. I’ve been a Linux geek for over 10 years and know my way around an Apache server, and my conversation with Amazon’s representative was slightly over my head. The internet as a global entity and is a total different world.
There are a lot of options out there. One thing to note is that pretty much any of the major CDN’s out there will increase your site speed by 50%.
A few other CDN’s that I have worked with in the past in one way or another are:
Go back to tools.pingdom.com (or whatever you are speed testing your site with) and check to see how many files your site is loading. Ideally your site should be loading less than 100 files. Less than 50 is great, and under 25 files is superb.
Moz.com preaches SEO all day every day. With a site like that, everyone is watching them. They are literally one of the best examples of a modern CMS (not WordPress, but good for the sake of this example) that does not load a bunch of files or requests.
The best way to reduce your requests is to go down the list 1 by 1 and ask yourself “Do I really need this request or file?” If the answer is no, then find a way to scrap it.
An example of an HTTP request can be any of the following:
How important is it to have a Twitter feed on every page in your sidebar? Most companies just don’t need it. Here are a few tips:
Here is a very simple way of looking at image optimization: keep your image file sizes as small as possible. There are plugins (which can slow down your site), scripts, image compression, caching, and all sorts of different tools that can do this for you.
If you are a developer or have one at your disposal, put all of your images into a CSS sprite. An image sprite is a collection of images put into a single image. Using sprites will reduce the number of images that your page loads and save valuable load time. If you have only a few images and they are very small it might not be worth it, but site’s with lot’s of images could very well see some great speed savings from this.
If you need some help getting your sprites sprited, you can check out this (free) online tool to help you get started.
In addition to spriting, you can compress your PNGs and reduce Jpeg quality. This is a bit more advanced but if you are looking to shave every millisecond from your load time, then this is the way to go.
If you want to take things a little bit “above and beyond” then check out this little tool (free). Pngout is a nifty little tool that compresses the living hell out of your .png images. You need to be familiar with the Windows command line, but it is pretty easy to use. Once you are done trash the larger of the 2 files and upload the smaller one. If you have a site with a ton of images, this will definitely shrink overall site speed.
You might think this section is all about “optimization plugins” but really the first part about getting rid of them. Start by getting rid of any plugin that you don’t need. Do you really need a Facebook like plugin on your home page? Is that important to you really? Somehow I think that converting a customer is more important than getting a like. Do your customers need to see your Tweets in a live feed? Probably not.
W3 Total Cache
“W3 Total Cache improves the user experience of your site by increasing server performance, reducing the download times and providing transparent content delivery network (CDN) integration.”
This is a very controversial plugin. Maybe the fact that it was compromised in the past. If you do not know what you are doing this plugin could harm your site and cause negative effects on your SEO. I highly recommend that you read up on the plugin’s documentation and play around with it on a test site before you go activating it.
Unlike normal websites, WordPress saves a lot of it’s data (such as the text within this post) inside a MySQL database. Like anything, over time it can become bloated and poorly optimized.
We can get all fancy here and tell you to log into your ssh and start typing commands or running mysql queries, but to keep it safe there is a great plugin that can do all of this for you. Simply named “Optimize Database after Deleting Revisions,” this plugin will optimize your database by running a normal query, and will then delete all of your old post meta data, revisions, etc. Be warned that you should read the plugin documentation first, as this plugin does delete quite a bit of data from your database.
Once you have your database optimized, you should be left feeling fresh and clean. If you have a very large site this will more than likely add some precious speed to your site.
Chances are you are already “stuck” with the theme you’ve chosen. If you are starting from scratch and installing a new theme, try to find one that is very small in size and isn’t bloated with a ton of calls.
One trick I like to do is find the demo theme I am considering and do a site speed analysis on the bare bones site. This will not only give you a baseline of how fast it will be, but it will show you what files it loads and how large it is by default.
Custom themes made by designers can be great, but a lot of the times aren’t coded correctly after the initial design is made.
One thing we like to do is find a bare bones responsive theme and build off of that. Here are a few of our favorite bare bones WordPress themes (and are mostly responsive)
Designers and UX enthusiasts are demanding more and more features in WordPress. This is causing themes to become larger and bloated with all sorts of features that you don’t need.
If you’ve gotten this far and you are finding 100’s of files that load each refresh, and tons of “features” built into your theme that you just don’t need, now might be the time to do a theme change.
We are making a section just for sliders because it has been a hot topic of conversation lately. Get rid of them if you can. Use a static image, they work really well for a call to action. Numerous studies have shown that they are terrible for user experience, and can be generally annoying a lot of the times.
Aside from that, they can be huge speed hogs. They typically incorporate their own set of files to be loaded, most of the time in a plugin. They also load 4+ large images that are most of the time very sizable.
If you follow all of these recommendations I can pretty much guarantee you that your overall SEO will improve. In addition, your users will be much happier. Improving the speed of your site can definitely become an addiction, so be careful and always know when to quit 🙂
Also making decisions can be tricky. It is hard to decide on a CDN provider or a new plugin. I’ve been trying to get elite-strategies.com on a CDN for months but just can’t make a decision. Eventually you have to pull the trigger.
There is always “more” you can do. You can do external database hosting, get faster servers, etc but you have to know when enough is enough.
We're glad you stopped by. We blog about SEO to contribute to the community, and to help educate those looking to learn more about it.
Part 1 - An SEO's Guide to Tumblr
Part 3 - The value of Tumblr links revisited