I’ve reduced the page load times on this blog via a few tactics that anyone using WordPress should implement and because I’m not a technical guy I’ve put together a guide for implementing these tactics that non technical people such as myself would better understand. (I’m shaking my fist at the geeks out there that have written guides too difficult for me to comprehend, but deep down I’m more saddened by my lack of tech savvy skills)
Why Page Load Times Matter:
First I’d like to get into why page load times matter. This should be obvious and you can skip on to the guide below, but I’ll share why I started to care more about this topic first. Back in November I read an article from Web Pro News where Matt Cutts indicated that page load speed would become a ranking factor for websites starting in 2010 and recently this was officially announced although it currently affects only 1% of the search terms.
It’s obvious that web visitors don’t like slow loading pages (who does?) and slow page load can lead to higher bounce rate and lower page views on your site because people leave sooner. Combine these two factors along with the new ranking changes and there are plenty of reasons to consider reducing the page load time for your blog.
I’ve included my results from implementing some tactics on this blog later in this post, but please click to continue reading this guide I put together that gives some easy advice to speed up your blog.
How to reduce your blog’s load time:
The obvious stuff is the server you’re running on. I’m on a dedicated server from Softlayer and have used shared hosting in the past. It’s ok, but a dedicated server will give a big performance boost. These other suggestions aren’t dependent on your hosting situation so I’d like to spend more time covering them.
1. Install a Caching Plugin
I spent a lot of time researching page load time and found a wide variety of articles from people with advice that wasn’t the greatest, but I ultimately found the W3 Total Cache Plugin for WordPress. I tried other caching plugins like Super Cache, but after comparing page load using this nifty Page Speed Firefox plugin in conjunction with Google Webmaster Tools I found W3 Total Cache performed the best of all.
What I recommend you do is to install the plugin and then use the Page Speed Firefox plugin to look at your blog and find areas that cause your page to load slowly. There are a wide variety of factors that may influence page load such as ReTweet button, Twitter Counter, Feedburner counter, etc. but there are other factors that affect page load on every single blog that can be easily addressed by a non technical person with a free caching plugin. These include: Page Caching, Minification, Database Caching and CDN implementation (we’ll get to that later)
Because this is a non technical guide there really isn’t any reason for me to tell you what these things mean. It’s also a convenient way of saving me from potential embarrassment, but all you need to know is that the caching plugin can implement these abilities on your blog so that your blog will run faster.
In your W3 Total Cache settings you can simply enable these options via check boxes and then just pick the best option listed in the drop down menu and it’s easy to do this on each sub link:
One thing you need to remember that I failed to realize is that you need to manually enter the Javascript files and CSS files that you want to Minify so that the files can be served as a single package instead of separately. So you’ll need to manually input the files like this:
You can find this file list by running the Page Speed plugin (it will give you the suggestion to serve these all as a single resource. Simply copy paste those into your settings and you’re good to go).
Note: You also should check the boxes as well like Comment Removal and Link break removal (these reduce the total size of the file by removing the comments or line breaks).
2. Implement a Content Delivery Network (CDN)
A Content Delivery Network (CDN) is basically a highly-optimized network of servers all around the world working together to distribute content (CSS and Javascript files, downloadable objects, etc) through hundreds of servers instead of a single host. This ensures visitors get their data from the city closest to them. (I took this description from my new CDN provider MaxCDN)
What’s great is that caching plugin also has support for CDN and when asked about which provider I should use Frederick Townes (the author of the W3 Total Cache plugin) recommended MaxCDN. I checked them out via this CDN test and found MaxCDN to be among the fastest. Armed with the recommendations I signed up for the account for 1 Terabyte of data and I got to setting up an origin pull based solution (the best).
How to set up an Origin Pull Zone:
Log into your Max CDN account and navigate to > Manage Zones > Create Pull Zone > enter information like this (except replacing my URL for your own):
I suggest you chose a label like “Chris Guthrie is Awesome” or something to that effect as it’s important to enter a statement of fact in this field.
Now simply take the Temporary URL that is generated and input that in your CDN settings tab in the host name field within the W3 Total Cache plugin settings and Bam! You’re done.
Optional: You can use the custom URL i.e. netdna.yourdomain.com instead of the Temporary URL but you need to go into your hosting account and change some DNS settings – specifically the CNAME settings to do this and it can take a few days to propagate. In the interest of this being a non technical guide and it not mattering one way or the other I opted not to do this step.
My Results:
Update 2: Current average speed is just 2.5 seconds now according to Google Webmaster Tools
From the first time I installed WordPress and set up all the plugins etc. the load time was very high as you can see above. In fact, I have to assume that one of my WordPress plugin’s was causing some issues in my page load which resulted in some of the spikes. But after implementing the changes with the caching plugin and my CDN the page load has flat lined and stayed constant.
Note: There are still numerous additional strategies I can still implement, but due to my general satisfaction with half assed projects I prefer to focus on the areas that provide the most bang for the buck and require the least amount of brain power to figure out. Besides, anything else is just bragging.
Wrap Up
If you are looking to reduce the page load times on your blog I suggest you install the W3 Total Cache Plugin and check for any issues suggested by the Page Speed Firefox add-on. If you want to really improve your speed I suggest you make use of a content delivery network to serve your static files as well. I suggest you check out MaxCDN as a provider. I spent a lot of time looking for a good option and have been very pleased with MaxCDN thus far and have added them to my resources page. I’ve also heard that WooThemes tend to be pretty light weight / fast WordPress themes – I’m using them on a couple other new sites now so I can report back later.
Related Reading:
WordPress Optimization by Kdavy
38 ways to optimize WordPress (pretty old)
Improving Page Load Time
What have you tried to reduce page load speed times?
Great guide Chris. Will go test this out on my blog now. I like the way you kept the guide very down to earth and straight to the point.
2.5 seconds! Dang that’s fast.
I use W3 also. I was using Super Cache but once I found out W3, I switched.
Great heads up at the CSS and javascript in W3. I added my CSS files that could be combined, saved it but when I refreshed the Page Speed analysis, they still show as needing to be combined.
1.) Why is this? Do you know?
2.) I have two types of css files: One begins with my webpage address and one that starts with http://static.ak.fbcdn.net/. Can they both be combined under Cascading Style Sheets Minify option in W3?
3.) Should I click all the boxes under CSS minify settings or just the ones you have clicked in your picture?
4.) I have some java files to be combined as well. I assume the same procedure can be followed for them as well with the same options clicked, correct?
Your answers to these four questions will be much appreciated.
“I suggest you chose a label like “Chris Guthrie is Awesome” or something to that effect as it’s important to enter a statement of fact in this field.”
Lol.
.-= ProMovieBlogger´s last blog ..Starting a Movie Website: Logo and Branding =-.
1. You need to empty the page cache and/or disable CDN and make your changes, empty page cache and then re-enable CDN
2. You could try and see what happens with the page speed analysis test? I’m not sure
3. I found some of the boxes I clicked caused the javascript / css not to work correctly so what I’d suggest is just play with it and when you’re done look at it via all the different browser settings
4. Yes
Thanks for appreciating the humor as well lol
I’m not currently using CDN. I will try emptying the Firefox cache before trying to combine again.
I just did so and it is showing the CSS files for my site have been combined, however there are still other files to be combined as well.
1.) Can I erase the files from the slots I just combined and place the other ones in their place? Will that undo the combining of the other CSS files?
I do not believe the two types of CSS files can be combined at once together. When I tried to, some elements of my site disappeared. There is no option to combine different types of CSS files, you can only combine one type under CSS once.
Regarding the java files, I have multiple javas served from three different sources. I can only place one set in the combine slots. I have no way of knowing which one to place there.
2.) Do you? Also, which do I choose for each java slot: embed in Header, Header (non-blocking), etc.
3.) For the JS minify settings, which do I choose? Do I just leave the default settings?
Off topic. For your affiliate redirects I noticed that you are using the GoCodes plugin or some plugin to that effect. Have you thought of using the WordPress redirect function combined with QuickAdsSense? Instead of your link saying http://www.makemoneyontheinternet.com/go/speed it would say http://www.makemoneyontheinternet.com/speed yet would produce the same effect. I believe this is what John Chow uses but I can not be sure.
Further off topic. Do you know what plugin this site (http://www.slashfilm.com/page/2/) is using to place ads between posts on their main index?
.-= ProMovieBlogger´s last blog ..Starting a Movie Website: Logo and Branding =-.
1. If certain ones can’t just remove them from the list and save your settings you’re good to go.
2. I have multiple javascript files but I did it via guess and check. I put mine in just header.
(A lot of it is just guess and check style testing unfortunately)
3. I remove comment and line breaks but again if this causes issues with your blog just disable them.
Off topic question: Nope I don’t know the plugin. I use Ninja Affiliate for my linking and put the /go/ in there just because… no real reason I guess lol…
“1. If certain ones can�t just remove them from the list and save your settings you�re good to go.”
I’m not exactly certain what you are saying here.
.-= ProMovieBlogger´s last blog ..ProMovieBlogger featured on Under30CEO =-.
Great detailed post Chris. Thanks for this info. I’ve installed W3 Cache on my wordpress blog. Hopefully I’ll see performance increases as well!
.-= James´s last blog ..AK Anne Klein Greater =-.
Hey Chris, thanks for stopping by my blog. I’m writing post on this very same topic. It’s interesting to read what works for different people. At what point in your daily traffic due you think CDNs would be cost-effective? New bloggers would not really need them but when the number of visitors starts impacting on server load and page load times, it would be worth the $10 a month. I went down a slightly different path with page load speed but the results are still promising.
I think if every blogger who wrote a post on this got together and wrote a super-post, it could be sold as an e-book.
Michael.
.-= Michael Pedzotti´s last blog ..Every 100 visitors is worth $240 =-.
Hey Michael,
I paid for a CDN simply because I want the fastest speed possible and you won’t get it without one. Next to proper configuration of W3 Total Cache and a faster server the only other thing you can do to improve the speed for a significant gain is implementation of a CDN.
I already pay over $200 a month for a dedicated server so another $10 a month for a drop in 1 – 3 seconds in page load on my various blogs is well worth the price – especially since speed is a ranking factor these days.
As for the eBook idea – I don’t know 😀 when I do release a product or service some day I want it to be so good that any time I release something again in the future people will clamor to buy it.
So it’s not actually a monthly deal it looks like. You just buy 1 TB of space and then once you use that up it’s pay as you go at 9 cents per 1 GB for the next 50,000 GB’s then after that there is a price drop.
Knowing that I think it’s an even better deal! I use like 500 MB a day.
Chris, the cheapest plan I can see on the CDN website you recommend is around $40 per month. Am I missing something?
Perhaps their price went up? If so that’s too bad I love the service. I sent them an email to ask what’s up.
If I were you I’d just email them and say you want to pay the old price and see what they say. Worst case scenario is no.
Will CDN drastically help out a shared hosting account – or do I need a dedicated server first? CDN is a lot cheaper than dedicated hosting – good stuff! Found your site off a forum.
.-= Brent´s last blog ..Google Street View funny photo site =-.
I would just recommend testing it out. I don’t have a shared account so I can’t tell for sure, but it’s not a monthly fee or anything. You just pay for the data as you use it up (I’ve yet to use my initial allotment).
So it’s worth trying out first before paying for a dedicated server that’s for sure.
Thanks for the fast response! Can a MaxCDN account make use of multiple websites, or is it one site per account? That would be great for developers to use for their clients’ sites.
As many as you want. I use it for several larger authority blogs right now.
My only suggestion would be, implement the cache and then the delivery network _after_ cleaning up the basic load slowdown problems.
Otherwise, to coin a phrase, you are just pitting “lipstick on a pig”, and having the cache “in the way” during basic loading structure rebuild work can occasionally lead to huge “gotcha” problems.
Or so Dave opines.
Yah that makes sense and I’d agree. Good call. i.e. TweetMeme is pretty bad on load, so I think I’m going to be getting rid of it soon…
Thanks! However, would like to now if there’s a big difference between Super Cache and Total Cache? I use WP-Super Cache and would totally switch for a better performance!
My experience with W3 Cache plugin and MaxCDN:
First off, I’m a system engineer and web developer in WordPress and stand alone sites developed with Dreamweaver. I only mention this because I have experience with many WP plugins and different systems configurations.
W3 Cache was easy to install and set up. Adding the MaxCND was a simple process.
On one blog (over 3300 posts) I’ve had rpc.blogrolling installed forever with no problems. So right after installing and setting up W3 Cache I received an unrelated Attack Report concerning malware on a link in my blogroll. The Blogroll was automatically shutdown.
I uninstalled the blogroll scriipt and wrote links for each outgoing link, about 60.
Also, I should mention that I deleted the Kontera plugin after installing the W3 Cache so those ads should have disappeared.
When I was logged into the blog the new links shows perfectly and there were no Kontera ads.
However, when logged off of my WP blog the Kontera ads were appearing on the first/main page of the blog and the blogroll links were not showing and it appeared as though the old blogroll headings appeared as when they were shutdown.
This was only in Firefox not IE. I cleared the W3 Cache and the browser cache in Firefox – everything including cookies, forms, passwords, etc.
No luck. I worked with the different features of W3 Cache to test the possibilities to no avail.
I decided to post my problem, well detailed at the WordPress.org forum. I began a new thread and after 3 days received no comments.
I found a W3 Cache thread started so I posted my exact thread there just in case they were still chatting.
Bingo – Frederick Townsend answers both threads as follows:
On my new thread he wrote:
“W3TC does not modify the content of your site. If you disable the plugin all of the errors you’re talking about are gone? I’m not sure I understood all of the issues you’re having. ”
My Reply:
“I didn’t say W3TC was modifying my site content.
When I changed my blogroll links and disabled the Kontera in-text link plugin these items remained unchanged when I was in the “log off” mode of the site.
A visitor would still see the old blog roll and the Kontera in-text links were showing up.
Yes, I disabled the W3TC link and it cleared up.
It was only appearing on the main page of the site in Firefox. I cleared the cookies, passwords, et al and even restarted Firefox but these items remained unchanged.
My question was asking why this was occurring and how could I clear this up without disabling the W3TC plugin.”
On the older thread Mr. Townes wrote:
“Are you posting this issue in multiple topics (threads)?”
I answer yes and apologized for any confusion.
Mr. Townes, author of W3 Cache has left no further response, admits he didn’t fully understand my question and failed to work at solving the issue.
I understand the plugin is free but if you write something and put it out there with the hopes of drawing attention to your business then you should respond. As a developer I would certainly be curious about the problem.
In my business you learn to isolate problems in a quest to solve the problem. Apparently Mr. Townes is too busy. So I am but I found time to trash the W3 cache plugin on all twelve sites I personally own. The problem on my blog immediately cleared up.
Deactivated the plugin, however, was NOT the correct answer.
Based on this experience why would I use the plugin.
If your interested in a free detailed optimization analysis of your site or individual pages go here:
http://www.websiteoptimization.com/services/analyze/
This will tell you everything you need to know but were afraid to ask.
When you see all the results you may remain afraid. 😉 Good Luck.
P.S. I would only tell people to be careful with plugins for WordPress.
If you offer comments then have Akismet.
Use All In One SEO Pak to help drive your Search Engine Optimization efforts. This won’t do it all but use it to help out.
Install and activate Google XML Sitemaps.
I discussed cache plugins with some engineers in my company and they warned that some issues could cause problems that you may not be aware of such as my problem logged on and off. The visitor may get a different view, one you may not want. If your using something like phpBay or phpZon or another RSS feed for products caching may be a problem so I wouldn’t use it.
Hmmmmmm, not so fast!
I was all set to try the W3 cache plugin, and now I’m having second thoughts. Glad you wrote this on here, because I certainly wouldn’t have thought to check in the wordpress forums for feedback.
I never saw much people who will guide you through step by step when explaining something which they found by themselves. Thank you Chris. BTW i am using a vps server for my wordpress site rite now, shifting it to dedicated will bring any change in load timings? please let me know
James
Yes, shifting to a dedicated should help but it always depends on the company you’re working with, the power of your VPS and then the power of your dedicated server.
Chris, I am using hostgator’s vps server now. I hope its better than others available in the market. I am waiting for my site to get a boost in traffic so that i can move it to dedicated, Thanks for your advice…
James
[…] http://www.makemoneyontheinternet.com/speed-up-wordpress/ […]
I also use jquery lazy loading plugin with my blogs that have a lot of pictures.. it basically delays the loading of the pictures below the fold for a second so that the pictures above the fold pop up quickly with no delay.
[…] Up WordPress How to speed up your blog (the non technical guide) 11 Ways to Speed Up […]
[…] Up WordPress How to speed up your blog (the non technical guide) 11 Ways to Speed Up […]
[…] on the web: How to speed up your blog (the non technical guide) Hello there! If you are new here, you might want to subscribe to the RSS feed for updates on this […]
I like visiting WP blogs because its user friendly and do not have the patience to stay a minute longer in blogs which takes forever to load. Its really important to load faster n order to keep the visitors engaged.
Did this today and my sites load time halved to about 1.5s. Pretty damn impressive. Just wait and see how long that 1TB for 39.99 lasts…cheers for the guide it helped me.
I do it in my blog and it get faster.
Thanks.
[…] on the web: How to speed up your blog (the non technical guide) Tagged with: web development • wordpress • wordpress optimization About […]