Website speed matters. Fast-loading sites perform better on all fronts: better user experience, higher conversions, more engagement, even higher search rankings. If you’re after mobile traffic (everyone is), site speed becomes even more important. No one wants to download a 4MB website on their smartphone, but most sites are that way. Your website can be different.

How fast is fast enough?

While 1-second load time would be nice, if you manage to get a load time under 3 seconds, you’re doing fine. If it’s under 7 seconds, it’s okay too (but you have to try to improve it). Over 10 seconds and you’re losing money in noticeable quantities.

At peak traffic times, more than 75% of online consumers left for a competitor’s site rather than suffer delays.

According to this scientific study tolerable waiting time for information retrieval is approximately 2 seconds. Adding feedback, like a progress bar, can push tolerable waiting time to 38 seconds (so if your site is slow, add progress bars or equivalent).

A site that loads in 3 seconds experiences 22% fewer page views, a 50% higher bounce rate, and a 22% fewer conversions than a site that loads in 1 second. While a site that loads in 5 seconds experiences 35% fewer page views, a 105% higher bounce rate, and 38% fewer conversions.

Only 25% of the Alexa 2000 uses a CDN. A fifth of sites fail to implement relatively simple performance-enhancing techniques. Some sites are of course fast. The fastest of them (according to Strangeloop study) were CVS.com (1.02s), Polo.com (1.9s), eCrater.com (1.95s). Amazon’s page load time was 3.26s.

Tools to analyze your site speed:

Pingdom. Test the load time of that page, analyze it and find bottlenecks

A thing to remember here is that scores don’t matter – it’s how fast your site is what makes a difference. These scoring tools let you look at potential issues and advise on best practices, but they will not solve your site’s problems for you.

How to make Google Analytics speed tracking more accurate

You’ve probably seen that Google Analytics will tell you your site speed, page speed etc. Pretty useful stuff. I urge you not to just look at average page load time, but go deeper (e.g. look at the Distributions tab to see page load speed distributions). ‘DOM Timings’ reports are useful as they show how long it takes for your pages to become usable.

Its’ pretty accurate since all load speed data in Google Analytics is taken from users’ browsers. The problem is that it only takes in data from about 1-5% of the visits, and hence it’s often not a statistically valid sample size. Instead of 5%, you could store it for 100% of visitors without any downsides. You only need to add this little line to your Google Analytics script:

_gaq.push([‘_setSiteSpeedSampleRate’, 100]);

Add it above the ‘trackpageview’ line in your Google Analytics code (hat tip to Dan Barker). Make sure you don’t break your Google Analytics code when adding this :)

Note that not all browsers support it (Safari), you will never see a 100% sample rate, but this will increase it significantly.

Are you thinking about mobile users? You should.

Let me say that I have Google Analytics access to hundreds of sites across the world. I see how many mobile users there are on these sites, and I always look at the growth rate. In my experience, for most sites in the US mobile visitors add up to around 30%-40% of total viewers. The trend is up everywhere. Back that with the global statistics that say web surfing on mobile devices will surpass desktop computers by 2015, and you have a serious case on your hands.

#2 Host your static files in the cloud that uses a CDN

Serve static content from a cookieless domain, backed by a CDN. Why cookieless domains? Every time a browser sends an HTTP request, it has to send all associated cookies that have been set for that domain and path along with it. Static content, such as images, javascript and CSS files, don’t need to be accompanied by cookies. You can decrease latency by serving static resources from a domain that doesn’t serve cookies.

PageSpeed improves web page latency and bandwidth usage by changing the resources on that web page to implement web performance best practices. It will automatically apply web performance best practices to web pages and associated assets (CSS, JavaScript, images) without requiring that you modify your existing content or workflow. Plug’n’play.

Memcached is an open source high-performance distributed memory object caching system intended for use in speeding up dynamic web applications by alleviating database load.

Consult with your system admin first about your particular setup, but in most cases Memcached will be a great help (or alternatively look at Redis).

Unlike PageSpeed, this doesn’t do anything upon installing, so you need to configure your sites to use it. If you use WordPress, it plays nicely with W3 Total Cache plugin and you can set Memcached to do the caching.

#5 Optimize your images

Images can be large, and make your website slow to load. That’s why you need to reduce the file size of your photos that you use on your blog posts and other content, logo files, graphics etc. The good thing is that you can significantly reduce image size without compromising quality.

If you use WordPress, use a plugin like EWWW Image Optimizer which optimizes your images as you upload them (can also optimize them in bulk in Media Library).

Everybody else check out Kraken as a great image optimization service.

#6 Use a fast web host

Not all web hosts are made equal. In fact, your web host makes a huge difference.

If you have a decent amount of traffic, you should not be on hosts like Bluehost, Hostgator, GoDaddy and other low budget web hosts like that.

WP Engine – Web hosting made for WordPress. Blazing fast, fanatic support, stuff that dreams are made of. If you run WordPress and want a fast site, this is it.

Storm on Demand – The best priced cloud hosting service out there. Runs ConversionXL too. Great support.

#7 Minimize round-trip times (RTTs)

RTT refers to all the requests required when a user accesses your website. This is not a size of file issue, but a number of requests issue. Each asset that needs loading – css files, javascript files, images files etc – is requested individually. So your browser sends a request to the web server, which sends information back. The same for each file. That’s why an important strategy for speeding up web page performance is to minimize the number of round trips that need to be made.

Combine all your javascript files into one to minimize requests. If you’re technically inclined, check out Google Closure Compiler.

Combine images with CSS sprites. The higher the number of images used on a page, the more roundtrips there are between visitor’s browser and the web server. Ideally you merge all tiny background images into one, and use CSS to show them. Your front-end developer (CSS guy) should take care of it. Some tools to create CSS sprites: Compass, SpritePad, Spriteme.

Avoid CSS @import. Instead of @import, use a <link> tag for each stylesheet. This allows the browser to download stylesheets in parallel, which results in faster page load times.

#8 Use caching (plugins)

Many caching tools will already take care of the issues mentioned in step 7. If you use WordPress, you should really take a look at W3 Total Cache plugin.

#9 Compress your website with gzip

Compression reduces response times by reducing the size of the HTTP response. Gzipping generally reduces the response size by about 70%. Some caching extensions / plugins do it automatically, sometimes you need to set it up manually at the web server level. Here’s one of many millions of manuals on how to do it.

#10 Add an Expires header

Browsers use cache to reduce the number and size of HTTP requests and hence making web pages load faster. A web server uses the Expires header in the HTTP response to tell the browser how long a component can be cached. For static components: implement “Never expire” policy by setting far future Expires header, and for dynamic components use an appropriate Cache-Control header to help the browser with conditional requests.

While most caching systems take care of it, you need to look into it.

#11 Switch off all the plugins you don’t need or use

I see a lot of WordPress and other sites that have a ton of plugins / extensions installed that are actually not used. Many of them require loading different css and javascript files – all that slows down your site. Perform a plugin audit and switch off all the plugins you don’t use.

Conclusion

Improving site speed is part of conversion optimization. It’s often a low-hanging fruit that you can get done right away – improving user experience and revenue at the same time.

Peep Laja

Peep Laja is an entrepreneur and conversion optimization expert. He's been doing digital marketing for 10+ years in Europe, Middle East, Central America and the US. He has extensive experience across verticals: in the past he’s run a software company in Europe, an SEO agency in Panama, real estate portal in Dubai and worked for an international non-profit.
Today he runs a conversion optimization agency Markitekt.

Great post Peep. I really wanted to try Site5 for hosting since they are blazing fast as well (http://bit.ly/13ezNTd). I’m on Hostgator at the moment and I am sure you know they suck massively at speed. We’re currently working on a new site and when everything is done we want to move onto a faster hosting company. WP Engine and Site5 seem great but what you say about CDN is also something to consider.

If Peep’s fantastic advice seems too complicated for your WordPress site, just try wpengine.com and you’ll get most of the speed improvements. It’s more expensive than normal hosting, but it’s like getting your own sysadmin for virtually free.

What a great, information packed post. My biggest take away is that I need to stop using such cheap hosting. Hostgator was great to get started, but I’m generating a significant amount of traffic now to my websites. I’m going to upgrade to wp engine, as they seem like a really solid company. Thanks again for the great resource!

Great post, very thorough. We had so many page speed issues while we were on our old host, but since switching over to InMotion we’ve been golden. The stats you pulled for load delays are great. Will make for a good sales pitch.

Peep, how big of an improvement have you seen on your blog by using Cloudflare? We saw about 15% improvement in 3 separate websites, what did you get? That is for the US load times because that is about 90% of our traffic, we tested it for 1.5 months.

Hi Peep,
Thanks so much for this post. These are very useful nuggets, and I even implemented that image compressor on our wp site, and it seems to have helped load speed markedly.
Keep on rockin!

seanAug 20, 2013 @ 11:10:51

I didn’t notice much of a speed improvement when I used cloudflare or encapsula (free versions)…but when I used max cdn with W3 total cache (blue host pro shared hosting) my website loaded in under one second. With pingdom tools, like Peep said, you can find your bottlenecks. If you are using a wordpress theme, you will likely find that you have unneeded javascript requests and a bloated CSS file that is slowing down your site. If you pay a developer to delete unused JS and thin out your CSS file, your website will be screaming fast.

A faster web site means a better visitor experience. A slow website will lead to a poor user experience. Your bounce rate will grow. Page views will drop. Most important, you will lose money.Great article Peep!

It is true load speed affects a large percentage of your site’s success. People won’t wait for your slow site to load because there’s always that other link below (or above) yours in search results that might give them exactly what they’re searching for way faster than what your site can offer. I always make sure that my clients’ sites are within the acceptable page load speed to keep their businesses profitable and produce loyal customers. I use Pingdom because, well, as what’s stated above, it give you robust reports. Whenever I notice just a little bit of drag I immediately call our web developers to look for the issue and do something about it. That and other things keep my Clients satisfied so I make sure to stay on top of it at all times. :)

I have another idea for the images (it works great for email campaign design too): if your website is responsive, and your images adjust fluidly with the theme, double the dimensions of your image, and drop the JPG compression. In other words, if you normally crop your image to 300 x 200 at 80% quality, use 600 x 400 at 20-30% quality. The image will scale down to the correct size, but the filesize is significantly reduced.

#12 Try ZetaTCP on your server or ask your web hosting guy to install it –
For those websites that need to reach international audience, this is a must. Speed improvement is several times faster on top of the other improvements that you have achieved by implementing from #1 to #11. Find it here – http://www.appexnetworks.com.

This is why we have to choose a valuable web hosting provider. Actually we have to pay more, but we will never get any disappointment. Especially for a targetted geo place website, the webmasters will need to think this deeply.

I am already doing a number of these (have had a good experience with Max CDN, GPS helps, etc) but I think my next step is to move away from Bluehost to another host. How much of an impact can that have? Great tips.

Peep LajaOct 17, 2013 @ 20:59:42

Depends on your site, no universal rule here – but shared hosting is always going to be slower as it’s oversold.

Thanks for the tools here. I never used the speed tools you mentioned or Google Analytics so I will be checking them out. Also using a fast web host was surprising as I did not think it mattered. All the tips were awesome, some of them over my head. Thanks for this comprehensive and insightful post.

Hi Peep, Thanks for this information. I run a website providing youtube video repeating. It contains several videos but it takes too much time to load. I have checked it in Pingdom tool and the test showed that my site takes 60 seconds to load. I know 60 seconds is extra high but what could i do, i didn’t know how to lower down it. Information provided here is really useful and i am going to implement it.

Hey Peep – I completely agree with #6 about using fast web hosts. In my tests I’ve found the smaller hosts perform much better than the larger ones, with the exception of a HostGator and BlueHost. GoDaddy definitely lags though. Here are the numbers I saw if you’re curious: http://www.hostbenchmarker.com/page-speed-test

It is nice to read the information provided in your blog and i like this information because it is based on reality and i like this information. And it provides knowledge and useful information to the visitors of this site and i would like to visit this site again.

Well, very good post with informative information. I really appreciate the fact that you approach these topics from a stand point of knowledge and information. This is the first time, I visited at your site and became your fan. You are bookmarked. Please keep on posting.