PLEASE SHARE

Your slow website is costing you more money than you think.

A one second delay in load time decreases conversions by 7%!

But what does that actually translate into for this blog specifically?

Let’s take a look at the conversion loss calculator to measure how much money the blog is missing out on every day because of page-load times.

I suggest you do it for your own site as well!

Woah! So reducing site speed by 3 seconds will result in an extra $29,076 per year profit!

Even if I could reduce it by just a second I can make an extra $8,988 a year!

That’s a whole bunch of money I’m leaving on the table! More than some people earn in a year that I’m throwing away by not making a few simple changes.

There are numerous case studies and reports on how site speed directly influences conversion rate.

How To Measure Site Speed

You can use a couple of free tools to measure the speed of your site from various locations.

  • WebPageTest.org – This has a huge amount of locations and browser choices.
  • Pingdom – A much simpler / lightweight approach to testing your site speed.

I actually use both tools to measure my sites speed. I use WebPageTest after each optimisation step to ensure I haven’t increased the load time by mistake and I use Pingdom before and after the speed optimisation is complete.

You also need to consider where your audience is located – for the most part my readers are USA/UK based with India taking the 3rd spot so I made sure I measured the site speed from each of those locations.

How To Make Your Site Load Faster

So now you know how slow your website is and how much money your losing everyday it’s time to fix that!

Here is my original Pingdom test-

And here is the same test, from the same location after my optimisation-

I reduced my load time by 4.37 seconds to just half a second which puts me at least $29,076 better off this year.

Not bad for a day’s work!

So let’s take a look at exactly what I did to achieve that and precisely how each step affected load time.

Testing Details

For the purpose of the granular testing after making each change I used WebPageTest.org.

The reason for this is because it allows me to test from more locations with different browsers and run 5 tests back to back to get an ‘average’ result.

I decided to monitor how my changes affected 3 key pages of the site-

Original Performance

Before we start the test let’s measure how each of the 3 pages currently perform.

PageMiamiLondonDelhi
Home5.682s5.121s7.022s
Tutorial7.974s9.682s9.127s
Forum5.802s5.583s6.728s

Update WordPress & Plugins

The first step in my speed optimisation was to update to the latest version of WordPress and update all of the plugins.

Always make a backup of your site before doing this or making any other changes to your site.

To perform the updates just click on Dashboard > Updates and follow the instructions

Time Saved

PageMiamiTime SavingLondonTime SavingDelhiTime Saving
Home5.293s-0.389s4.772s-0.349s6.492s-0.530s
Tutorial7.799s-0.175s8.173s-1.509s9.127s-0.103s
Forum5.894s+0.092s5.594s+0.011s6.520s-0.208s

Well that took about 60 seconds to do and already the site is loading 0.35 seconds faster on average across all of the tests.

Just another 0.65 seconds towards the first 1 second goal which is worth $8,988 to me!

WPEngine

Update: Please read my WPEngine update.

Next I decided it was time to move away from my cheap shared hosting to a much more robust and professional host.

After a lot of research and reading I settled on WPEngine.com – WordPress & speed is their specialty.

They have some fantastic features such as a CDN, automatic daily backups, one click backup/restore, separate ‘staging’ area to test changes without affecting the live site and a bunch of other stuff.

They have their own custom written hardware based caching system so there is no need for separate caching plugins like W3 Total Cache for example.

The servers run Nginx which is much faster than Apache and resources scale based on demand so your site never slows down even if it hits big spikes of traffic.

And last but not least, they were providing near instant support on Christmas Day!

But how did the move affect the load time of the site?

Time Saved

PageMiamiTime SavingLondonTime SavingDelhiTime Saving
Home3.888s-1.405s4.166s-0.606s5.646s-0.846s
Tutorial6.788s-1.011s4.527s-3.646s7.304s-1.720s
Forum4.764s-1.130s4.966s-0.628s5.82s-0.700s

WOW! – That’s an average saving of 1.299 seconds!

Just a 1 second improvement is worth $8,988 a year, so a 1.299 second improvement is worth about $11,600!

Not bad for a $29 per month investment & it took less than an hour to move my blog over to WPEngine!

Total Time Saved – 1.649 seconds
Total Extra Income – $14,821

Content Delivery Network

A Content Delivery Network (CDN) helps speed up your site by making sure things like your CSS and image files are mirrored all over the world.

So when someone in India requests your webpage they connect to a local server in India making things nice and fast!

This is a great way to ensure your site loads quickly no matter where the user is in the world!

It costs an extra $19.95 per month with WPEngine on their cheapest package and is included free of charge on all others.

Time Saved

PageMiamiTime SavingLondonTime SavingDelhiTime Saving
Home3.476s-0.412s3.762s-0.404s5.040s-0.606s
Tutorial6.237s-0.551s4.258s-0.269s6.439s-0.865s
Forum4.204s-0.560s4.133s-0.833s5.378s-0.442s

So with the CDN enabled we managed to shave an extra 0.549 seconds off the load time! So far so good and that takes us past the 2 second savings goal!

Total Time Saved – 2.198 seconds
Total Extra Income – $20,840

Remove Facebook Comments

I have thought about removing the Facebook comments system quite a lot recently for a number of reasons. Originally I used Facebook comments with the intention of them driving extra traffic from Facebook, Social activity and adding a bit more ‘authenticity’ to the blog.

However a lot of you guys get put off leaving a comment as you tend to like maintaining a separate personal and business life.

Secondly the comments section is a key area for conversion when setup correctly but I haven’t got round to making those changes just yet.

So Facebook comments were removed and I used this plugin (enable it then open every page on your site) to copy all of the comments from Facebook into my WordPress comments database so I didn’t lose any of them.

Time Saved

PageMiamiTime SavingLondonTime SavingDelhiTime Saving
Home3.105s-0.371s3.401s-0.361s4.879s-0.161s
Tutorial5.070s-1.167s4.001s-0.257s6.027s-0.412s
Forum3.924s-0.280s3.928s-0.205s5.104s-0.274s

That makes for yet another average saving of 0.387 seconds!

So in effect having Facebook comments on my site was actually costing me roughly $3,700 a year for the sacrifice in page load time.

So much for them being ‘free’ to use!

Total Time Saved – 2.585 seconds
Total Extra Income – $24,598

Nearly at the 3 second goal now!

Code Optimisation

Now it is important for me to point out that I suck at coding in a big way. So with that in mind someone that knows how to write code could probably have done a much better job.

Anyway the aim of the game here is reduce the total size of the page, the number of HTTP requests and to make sure Javascript is loaded asynchronously so it doesn’t block the rest of the page from loading.

Here is precisely what I did-

  1. Plugin CSS – All CSS that was dynamically inserted by plugins was moved to the themes stylesheet using this tutorial.
  2. Plugin Javascript – Exactly the same step as above but for the Javascript (I did a particularly poor job on this)
  3. Async Java Loading – I made sure Javascript was loaded asynchronously and updated social media sharing buttons. You could probably use this plugin and this one.
  4. Optimised Javascript/CSS – I used this site and this one. Although this plugin might work for you.
  5. Google JQuery – I loaded JQuery from Google
  6. Unused Plugins – I deleted all unused plugins
  7. Removed Analytics – I was running Google Analytics, Statcounter & Clicktale – I removed Statcounter and Clicktale
  8. Optimise Database – I ran WP Optimize to make sure the database was as lean as it could be.

Time Saved

PageMiamiTime SavingLondonTime SavingDelhiTime Saving
Home2.943s-0.162s3.250s-0.151s4.445s-0.434s
Tutorial3.395s-1.675s3.828s-0.173s5.598s-0.429s
Forum3.768s-0.156s3.921s-0.007s4.974s-0.130s

So all of that comes out to an average saving of 0.368 seconds adding another few thousands dollars onto the annual total.

I’m sure someone that knows what they are doing could do much better though! I plan on hiring someone to perform this step once I have finished tweaking the blog to my liking the coming weeks.

I have already made some changes that have undone parts of my code optimisation.

Total Time Saved – 2.953 seconds
Total Extra Income – $28,072

Image Optimisation

You can usually reduce the file sizes of images substantially without sacrificing on quality. This will mean users have to download less data each time they hit your page.

First of all I downloaded my entire site and ran it through the JPEG Reducer which is a great piece of free software. Once that was done I uploaded all the files.

Then I installed WP Smush.it to bulk compress again to ensure maximum savings were made.

Once you have ran the Smush.it plugin please disable and remove it, leaving it enabled actually slows your site down!

Time Saved

PageMiamiTime SavingLondonTime SavingDelhiTime Saving
Home2.835s-0.108s2.912s-0.338s4.292s-0.153s
Tutorial3.192s-0.203s3.814s-0.014s5.344s-0.254s
Forum3.516s-0.252s3.697s-0.224s4.688s-0.286s

With all of the images optimised that amounts to a further saving of 0.203 seconds on average which takes us past our 3 second goal!

Total Time Saved – 3.156 seconds
Total Extra Income – $30,587

Wrapping It Up

So in just 6 hours with a few simple changes I was able to shave 3.156 seconds off the average load time of the site which will results in an extra $30,587 profit because of the increase in conversion rate this will bring.

Not bad for 6 hours work huh?

The biggest change came with the move to WPEngine and enabling the CDN service which took less than an hour!

Those changes on their own accounted for an 1.848 second improvement which is worth roughly $17,910 to my bottom line profits per year.

Granted my hosting now costs $48.95 per month instead of $0.99 per month but I think I can swallow that expense 😉

That only leaves one thing to do – a little jiggy dance in celebration!

WARNING: Steal Your Competitors Search Rankings, Traffic & Income

Page by Page Summary

For all you data geeks check out how each change affected each pages load time step by step.

Homepage

MiamiTime SavingLondonTime SavingDelhiTime Saving
Original5.682s5.121s7.022s
Update WordPress5.293s-0.389s4.772s-0.349s6.492s-0.530s
WPEngine3.888s-1.405s4.166s-0.606s5.646s-0.846s
CDN3.476s-0.412s3.762s-0.404s5.040s-0.606s
Facebook Comments3.105s-0.371s3.401s-0.361s4.879s-0.161s
Code Optimisation2.943s-0.162s3.250s-0.151s4.445s-0.434s
Image Optimisation2.835s-0.108s2.912s-0.338s4.292s-0.153s

Tutorial Page

MiamiTime SavingLondonTime SavingDelhiTime Saving
Original7.974s9.682s9.127s
Update WordPress7.799s-0.175s8.173s-1.509s9.024s-0.103s
WPEngine6.788s-1.011s4.527s-3.646s7.304s-1.720s
CDN6.237s-0.551s4.258s-0.269s6.439s-0.865s
Facebook Comments5.070s-1.167s4.001s-0.257s6.027s-0.412s
Code Optimisation3.395s-1.675s3.828s-0.173s5.598s-0.429s
Image Optimisation3.192s-0.203s3.814s-0.014s5.344s-0.254s

Forum Post

MiamiTime SavingLondonTime SavingDelhiTime Saving
Original5.802s5.583s6.728s
Update WordPress5.894s-0.092s5.594s-0.011s6.520s-0.208s
WPEngine4.764s-1.130s4.966s-0.628s5.820s-0.700s
CDN4.204s-0.560s4.133s-0.833s5.378s-0.442s
Facebook Comments3.924s-0.280s3.928s-0.205s5.104s-0.274s
Code Optimisation3.768s-0.156s3.921s-0.007s4.974s-0.130s
Image Optimisation3.516s-0.252s3.697s-0.224s4.688s-0.286s

96 Responses

  1. 1.14.2013

    Thanks for that Matthew, as always a very detailed and well written article. I’m not sure I’ll change my hosting just yet, but I’ll certainly look at implementing some of your other suggestions.

    It’ll be interesting to see how much difference to your revenue the speed increase will make, if indeed it’s possible for you to quantify it.

  2. Yikes I thought I knew a lot about this and you’ve given me a lot more to do – removing Smush it is a real surprise!

    Thanks for all the detail and references Matt.

  3. 1.14.2013

    Wow, super great and very detailed post about optimizing site speed. Awesome.

    I don’t think that i can afford $50 per month for hosting yet, but when i do, i think i’ll also migrate (hostgator can be really slow sometimes).

    And i found several awesome free plugin from this tutorial, thanks a lot!

    • January 14th, 2013 at 10:01 pm

      Hi,

      Well when your blog reaches that stage you can pat yourself on the back :) I had noticed that with the increase visitor load the site and especially tutorial pages were performing poorly so it had outgrown the host =D

      I would say over and above that it is worth spending time minimising http requests for good results.

  4. 1.15.2013

    Small sites cant afford the luxury of hosting. I have also heard of thesis framework or something which will speed up and rank website fast.

    Are you using wpengine or linode servers ?

    • January 15th, 2013 at 9:50 am

      Hi,

      Well regardless of the size of your site, the fact of the matter is for every second longer it takes to load – you lose 7% of your profits. Perhaps poor hosting is why they cant afford good hosting ^^

      Thesis is a lightweight framework/theme for WordPress – I have investigated getting the site converted to it but the cost vs reward was borderline.

  5. Casey Dennison
    1.15.2013

    Great write up Matt!

    Look’s like I’ll be upgrading to a new host, soon. Your blog is coming along pretty well. This year should be a good one, and I’m sure I’ll be around to watch it grow even bigger.

    Take care,

    Casey

    • January 15th, 2013 at 9:51 am

      Hi Casey,

      Thanks very much – it’s getting there slowly now :)

  6. 1.15.2013

    Traffic influences the revenue, instead of the loading time of a website.

    Of course, loading speed of each website must me fast for all visitors, don’t use any heavy scripts which cause a site get slower. If a site get loads of traffic, consider VPS hosting or dedicated servers as main web hosting, not “shared” servers. e.g: 50,000+ unique visitors per month.

    Both are more expensive but good investment for huge traffic.

    • January 15th, 2013 at 9:53 am

      Hi,

      Yes traffic does influence revenue but design/speed/conversion influences it much more. You can be sure I earn more money from 100 visitors than most people earn from 1000.

  7. 1.19.2013

    Hi Matthew,

    Great tutorial. What about W3 total Cache? Do you also use it to speed up your site?

    • January 19th, 2013 at 10:28 am

      Hi,

      No WPEngine have their own custom written hardware based caching system so there is no need for separate caching plugins like W3 Total Cache.

  8. 1.19.2013

    I learned more from this post than 95% of all other articles ever read! I new a bit about this, but I didn’t think there was this much to it. I’m turning up the heat and maximizing my site for better results from my existing traffic!

    • January 21st, 2013 at 12:22 pm

      Thanks very much :) Your site definitely needs the speed treatment!

  9. 1.20.2013

    Very cool post. Almost convinced me to sign-up to WP Engine. Good job hah :)

  10. Ian Wilcox
    1.31.2013

    Hi Matt,

    Linode is showing up as your host on a sneeky whois search.

    You have a UK website are you hosting it in the states or in the UK and are you still with Wpengine ?

    How have they been ?

    Like your blog keep it up!

    • January 31st, 2013 at 1:24 pm

      Hi,

      Yes I’m still with WPEngine and intend to stick with them for the performance gain it offers. The site is now hosted in the USA though but my audience is 25% USA, 20% UK and 5% India which is why I tested from all 3 locations :)

      The support is superb!

  11. 2.1.2013

    Matthew you a rock star. I’ve been using wpengine for a while now with my sites and clients sites. Love it. Only down fall is they don’t handle email…. not a huge biggie, but be nice to have the option.

    You also added a few more todo’s for my team to get site speed even tighter. Love the way you positioned this post.

    • February 5th, 2013 at 9:54 am

      Yeah I’ve got to say out of all the hosts I’ve used the past 10 years I have been more impressed with WPEngine than any other. Even my dealings with RackSpace left a lot to be desired.

      I’m all about conversion/extracting value and site speed is often overlooked as a crucial factor in that.

      P.s. the email problem is easily solved with http://www.makeuseof.com/tag/outlook-handles-email-domain-hosting/

  12. 2.3.2013

    With the exception of the hosting (which really depends on the client’s preference), I think most of tips here are great.

    • February 4th, 2013 at 11:46 am

      Thanks :)

      Although if the current host is affecting the clients conversion, it should not be their ‘preference’

  13. 2.11.2013

    Hi Matt,

    Great post! All I ever do is use WP Super Cache and a CDN while on shared hosting (hostgator). But after reading your post, I’m excited to try out some code and image optimization!

    • February 11th, 2013 at 5:05 pm

      No worrys – I’m going to hire someone to do the entire blog properly once I’ve stopped tweaking it lol

  14. fesada
    2.13.2013

    IMHO you could get the same results by using w3total cache or any other caching plugin together with a cdn like maxcdn. This will have been cheaper than using wpengine. However though wpengine has some unique features. But is it worth it price? I don’t know

    • February 18th, 2013 at 10:53 am

      Hi,

      Yes you can use that combination and I do so on my other sites (that exact setup actually) – but WPEngine do so much more than that :)

      • February 20th, 2013 at 6:37 am

        What more does it do? Besides speed what do you get more?

        • February 21st, 2013 at 1:40 pm

          The support is awesome, they take care of the updates – its all fully managed!

  15. hydride
    3.19.2013

    Hey Matthew, thanks for the post. Love it, almost tempted to switch, but then I saw the price.

    What about just switching over to Cloud Fare for the poor guys?

    • March 19th, 2013 at 9:25 am

      Hi,

      Yes they are a premium host and you should integrate the other suggestions first (although the host change had the biggest impact) – you can certainly give cloudflare a bash but make sure you measure the before/after effect!

  16. 4.16.2013

    Hi Matt, great article. I just used some of your steps to optimise a voucher code site that I haven’t done anything with in a while.

    1st TEST: pingdom was showing load time of 4.25s and page size of 675.1KB performance grade of 83/100

    – removed a plugin which was not in use. Ran the test again

    2nd TEST: pingdom now showing 2.91s and page size of 650.3KB performance grade 85/100

    – linked to google to load jquery.js instead of loading locally

    3rd TEST: pingdom now showing 1.44s :)

    Still got the images to reduce but I remember using smush.it before to do most of them

    • April 22nd, 2013 at 11:55 am

      Hi Gary,

      Great results! Amazing to see how an inactive plugin was holding you back that much!

      Thats money right there!

  17. extremeluck
    5.1.2013

    Hi Matt,

    What was the other host with $0.99 per month?

  18. 6.13.2013

    Nice article Matt,
    Never thought that the load time can affect the conversions rate.
    But I see that you use WPEngine hosting, is it better than other hosts like HostGator or Bluehost.
    I am on HG and am not facing issues with it.
    What are your views on it ?

    • June 13th, 2013 at 8:48 am

      Hi,

      Do a speed test and see how it performs for you – there is a huge difference between budget shared hosting and professional hosting.

      • June 20th, 2013 at 12:46 am

        As far as I can see this site is still hosted on stablehost. It uses stablehost DNS.

        • June 20th, 2013 at 1:38 am

          Actually it looks more like linode. Anyway let me know what exact hosting.plan you use. I noticed load time of your site is pretty good, even you have a lot of object on pages. For example loading my site takes longer time there are 5x less http requests that there.

          • June 20th, 2013 at 8:24 am

            Its the WPEngine personal plan with the CDN addon

        • June 20th, 2013 at 8:24 am

          The nameservers are with stablehost but WPEngine doesn’t use nameservers for its hosting configuration, its just an A record on the DNS.

  19. 6.19.2013

    Hi Matt,

    quick question, why is your page rank so low?

  20. 7.31.2013

    Hey Matt

    Thanks for this post. My adsense account told me my site was on the slow side so this has come just at the right time.

  21. 8.14.2013

    Love your posts. The best thing about this or any other article of yours is the way you write “title of the post”. That’s why inspite of having extremely busy schedule you consumed my 20 minutes. By the way it’s all worthwhile.

    • August 15th, 2013 at 7:09 am

      Thanks – I’ve actually had complaints about the titles before lol

  22. 9.11.2013

    Hey Matt, how’s your downtime with WPengine?

    I have pretty bad experience with them so far (downtime, they don’t have their own DNS, nor email servers), since I signed up with them 5 months ago.

    Today there was a “catastrophic failure” of the server and my site will be down for at least 24 hours and reversed to 2 days before, in best case scenario.

    I had a couple of problems on HostGator, but never this often and especially not of this magnitude.

    • September 11th, 2013 at 10:45 pm

      According to my pingdom account zero in the last 6 months.

      What happened exactly?

  23. 9.11.2013

    Hey, I guess I am just unlucky then!

    This is what happened:

    “Around Noon CST today the server that hosts your site encountered a catastrophic hardware failure. Our Datacenter partner Linode immediately initiated emergency procedures to bring the server back online. Over the last 4 hours, we have been attempting to bring the server online and now believe it is beyond repair.”

    They go on to say they will move my site to a completely new server, etc.

    • September 14th, 2013 at 4:06 pm

      Ahhh well to have to replace an entire server sounds pretty hardcore to be honest, just luck of the draw with that and I was on a different server.

      Push for some compensation though :)

      • September 14th, 2013 at 5:19 pm

        Yes, it’s pretty unfortunate. They kept their promise though, and fixed everything sooner than expected. I did ask for kind of compensation and they promised they will take care of it. Thanks for the replies Matt!

        • September 16th, 2013 at 9:59 am

          No worrys – glad to hear its sorted sorry about the problems!

          • September 26th, 2013 at 7:54 pm

            Hey Matt,

            just to follow up on this – they gave me 3 months worth of hosting for free because of all the trouble. Thanks again!

          • September 30th, 2013 at 11:39 am

            That’s great to hear!

  24. Tino
    9.25.2013

    Great article Matt, you posted it at a perfect time for my business as we just updated our site and was looking to reduce the load time and increase speed. Thanks and keep up the good work.

  25. 9.25.2013

    Great tutorial! There’s definitely a lot more I could be doing to speed up my sites, this post has inspired me to take some action!

  26. 10.16.2013

    For people who are using VPS or Dedicated Server, you can try with Varnish cache layer before your web server software like: apache, nginx,…You will be very surprised because of its performance. I believe your site will response in milliseconds (not second right now). I’ve used Varnish in some of my websites written on my own CMS and Yii framework, not WordPress but I’ve also search on Google and found out that there are some tutorials guide you how to implement it. Hope this helps.

    • October 18th, 2013 at 11:20 am

      Yes implementing varnish and also making the switch to nginx will help with site speed – but most people aren’t on a VPS or dedi and won’t have access to do that.

      Its also hugely technical to setup =\

  27. 11.19.2013

    You’ve done it again Matt! Great tutorial! I’m gonna go speed up my site now!

  28. 11.27.2013

    Thank you, this is the information I need and I will apply to my website 😀

  29. 12.2.2013

    It has been nearly a year. Do you feel increasing the speed of your site has added more money to your pocket?

    How are you quantifying this? Granted your reports every month have shown increases, but is there really anyway to track this?

    Thanks!

    • December 4th, 2013 at 10:54 am

      Yes for sure, I get huge amounts of feedback about how fast the site is so its definitely keeping people engaged and converting!

      • December 4th, 2013 at 4:23 pm

        Ok thanks Matt.

        I do enjoy your post(s) tremendously, but it would be cool to find a way to quantify the increase in site speed.

        Though I think that would be extremely hard to do.

        Thanks,

        Ryan

        • December 5th, 2013 at 8:49 am

          Hi Ryan,

          There are a number of studies around about this by people that have isolated that metric to measure its impact.

          The thing I would love to isolate and measure with it though is how site speed affects rankings.

  30. 12.4.2013

    I decided to follow-up on an email I had received from you. o**! You have exposed me to another world. I am very thankful and excited.

    Your instructional style is perfect for me and I am sure others. Keep up the wonderful work and I will continue to share your knowledge with others.

  31. 12.8.2013

    I could not imagine paying $30 each month for my network sites. Would go broke really fast.

  32. 5.5.2014

    Fantastic post Mathew, going to take advantage of your recommendations. I ran the test for my site and it pretty much came out same as your before making the changes.

    I have the smush it plugin but didn’t know about deactivating it.

    Plan on implementing your suggestions except for changing hosts.
    I like Blue host and have been using them for 4 years now.

  33. 7.16.2014

    Hey Matt are you still using wp engine? I heard a while back that they were bought buy another company and service is not as good any more.

    Thanks Josh

  34. vietnamrum
    7.23.2014

    Great article as always.

    I think you should put an update on this page at the WPEngine section stating you dont recommend them with a link to http://www.matthewwoodward.co.uk/reviews/webhost-trusted-wp-engine-hijacked-business-avoid-them/

    Cheers.

    Vietnamrum

    • July 23rd, 2014 at 4:13 pm

      Nice spot :) I updated the original review but missed that – updated thanks :)

  35. 7.26.2014

    I agree regarding your WPEngine recommendation on this page. Quite confusing since this post has an updated posting date, and I had previously read your WPEngine review.

    I’d be interested to know how your site currently performs since you moved away from WPEngine.

  36. 11.15.2014

    Hi Matt,

    Thank you again for an excellent tutorial on a subject we all struggle with.

    A quick question, does customizing the robot.txt files to exclude indexing of duplicate content like categories, archives etc… also have an impact on overall speed of the site?

    Cheers :)

  37. Walder
    5.13.2015

    Great, Matt excellent post. I was reading one of your post and this post brought me to this other and I feel very happy and motivated. I’ll put your advice into practice immediately.

  38. R.Rogerson
    5.13.2015

    Load Times have been semi-important for a long time.
    But, like most other things – it’s not until a Search Engine mentions it that it becomes recognised.

    Years ago both Google and Yahoo start talking about page load speeds.
    The upshot was a bunch of half-baked SEOs bleating about PageSpeed as a ranking factor … missing that it was Slow sites that got the ranking adjustment, downwards. Fast sites did not get a boost.
    Then motivators from the UX world picked up the torch, and those from the Mobile world … and it fell mostly on deaf ears … because it doesn’t increasing rankings!

    There’s tons you can do to speed up your sites.
    Most of the blame will lie with crummy templates bought from supposedly reputable theme sites.
    The truth of the matter is that most of those designers couldn’t code their way out of a paper bag. They are photoshop jockeys that convert pretty images into html markup.
    They are more than happy to leave the template with 12 CSS files, loading 2 different JS libraries (locally, no looking for 3rd parties like Googles JQ api), and then loading 15 different plugins … most of them not even used on most pages!

    The next culprit is then the server setup and the CMS code.
    You’d be amazed at the number of hosts that still don’t setup basic cache directives correctly.
    Then you have the joy of dynamic sites with poorly considered header responses.
    Things like cache control headers etc. are alien (h***, lets face it, it was about a handful of years ago that the main CMS out there acknowledged their lack of proper http responses).

    Even with tools that tell you what is wrong and how to fix it (yahoo and google both made tools!), the “professionals” still don’t bother!

  39. R.Rogerson
    5.13.2015

    So … where to start?

    1) Reduce requests >> Merge files!
    Most of your CSS files can be put into a single CSS file.
    Same goes for JS.
    You have to be careful of the order – keep files loading in the same order as they appeared in the header/body
    Images can be trickier – you may opt for spritemaps, or for data-images in css files (or spritemaps in css-data-images).

    2) Compression >> Gzip/Deflate
    Make sure that what you send is as small as possible.
    If at all possible, save compressed versions and send those. Failing that, set the server to compress them when sent.
    Images can be saved with better filters.
    There are sites like smush.it, or software like pngcrush you can use.

    3) Optimise the resource references >> HTML it right.
    Make sure images are defined with a size. Make sure you load as much JS at the bottom of body as you can.

    4) Load smarter >> Use 3rd party libraries.
    Both Google and Yahoo supply URLs for things like JQuery and others.
    You can load them from their servers.
    That means less resources from your server, plus increased chances of users already having the files cached.
    Be smart, use a load mechanism that looks for good responses or that time out after a second or two – and then load a local version from your server (saves hanging and slowing your site down).

    5) Ditch the bad requests >> No 404’s/301’s
    Do Not reference resources that are at the wrong address. 404’s sow things down. 301’s slow things down.
    This is especially true of 3rd party content, like advertisers etc. Be aware that if you are loading content from a 3rd party, they may load multiple files … so that little frame that loads from their site may load a couple of images, a CSS file or 6…

    6) Asynch/Defer >> Load smarter
    In many cases, you can load JS and external resources asynchronously, or in a deferred state. This means no bottlenecks waiting for them to finish loading before the next set get fetched.
    Becareful – if you have dependant code that relies on other files, or values from other scripts/functions … load order may mess with your results.

    7) Cache, Cache Cache >> re-use it
    In most cases, content and resources won’t have changed. Making people reload all those files is silly.
    Make sure things like CSS/JS/Images that haven’t changed send correct cache headers so people don’t have to re-download.

    For every step you take – test, test and test again.
    Refresh the page, clear out the browser cache, clear out any website cache, use proxies to test.
    Try using things like gtmetrix.com, pingdom.com webpagespeedtest.org etc.

    None of this is rocket science.
    None of this is new.
    But you could, in most cases, get your site to load in 2.2 or less seconds.
    Anything over that may need more looking at.

    • May 14th, 2015 at 2:27 am

      Solid extra tips =D

      • R.Rogerson
        May 14th, 2015 at 2:56 pm

        Of course they are solid tips – I made them 😀

        A cheat option is to get the host to deploy the Page Speed Mod.
        Personally, I much prefer to get hands on and make tweaks in the code, the DB and the files … but for time and quick solutions, using a server mod that handles compression, caching, conjoining files etc., it’s worth looking at.

  40. 5.14.2015

    Nice Tutorial Mathew. But Regarding the plugins.

    I made a nice list in my blog. Check it out. It might be helpful.

    http://www.99blogger.com/top-10-wordpress-plugins-to-speed-up-your-website/

    I made the list from my experience with nearly 40 client’s websites.

  41. reg
    6.17.2015

    got rid of facebook comments and whoa! that was really slowing my site down – thanks for taking the time to put together this and all your other articles Matt

  42. Lintas3D Studio
    7.29.2015

    I want to be your student, I want study more about it.

What are your thoughts?

* Name, Email, Comment are Required