I was chatting with a Google engineer last week at SMX discussing the future direction of search. As he was talking, the penny dropped.
Perhaps you’ve heard recently that Google officially announced that site speed will soon impact ranking.
I figured this was a little strange. On the whole, most sites load fairly quickly nowadays and as broadband speeds continue to increase around the world my thoughts were that page load speeds would become less of an issue, not more.
After all, if it were about user experience post search results, Google would have implemented this factor long ago when connection speeds were much slower than they are today.
As a result, I kind of didn’t pay much attention to how fast our sites were loading as I didn’t think it was an issue.
However, after talking with the Google rep, I’ve changed my mind. It’s going to be VERY important.
The important missing piece of the puzzle is Google “Caffeine”.
This caffeine project has been a huge deal for Google. It represents a massive investment in infrastructure and a big shift away from how they’ve been doing things. As I discovered, a big part of this project is moving to a “Live” index.
What this means in essence is that as soon as you publish a page, they want it in their index for people to find. When I asked this engineer, “How ‘fast’ do you want it?” he replied, “Our aim is the speed of light.” In other words, their goal is instant availability.
This is where site speed comes in. How will they be able to achieve this if each page on all of the sites around the world takes 15-30 seconds to download? The slower your site, the further they will be away from their live index goal. Crawl times will become an increasingly important factor.
So now I believe that site speed is simply an issue that we can no longer ignore. The bottom line is fast sites will be given preference and I know this is true after speaking to one of their top people.
How to get your site fast
As a result, I’ve done a lot of research on how to get our sites blazing fast. Now of course, you’ll want to have a lean, clean, lightweight site that doesn’t carry with it a huge amount of excess data like big unoptimized images. That’s a no-brainer.
Nonetheless, here are a few cool (sort of advanced things) you can do to make your site fly. I would say that 99% of sites are not doing this stuff at the moment so you have a chance dominate them in this area.
These tips will go from easiest to hardest and are WordPress oriented, however the principles apply to any site building platform.
1) Install a caching plug-in for your content management system.
The caching plug-in will create static versions of the content so the site doesn’t need to talk to the database. It just serves up the content as quickly as it possibly can, without changing the URL’s at all.
We use WordPress for almost all our sites and have found the following caching plug-ins to be the best.
So here’s a little known trick. Rather than loading it from your site, load it from Google itself using their own public code libraries. The beauty of this is that if you load it from Google directly, it will be superfast for the Google spiders. Plus, if that visitor has been to another site that’s accessed the same file, the browser will pull it from the cache, rather than try to download it again, making it faster for the end user too.
Here’s how we do that for Prototype, JQuery and Scriptaculous.
You can just remove what you don’t need. If you want to dig in more, check out the documentation here.
3) Serve all your page assets from a Content Delivery Network (CDN)
If you have a reasonably busy site (at least a couple of hundred people a day) you should consider pushing all your big files out to a CDN instead of loading them all from your own server.
Essentially, CDNs are big groups of servers spread out around the world. When you upload a file to a CDN (Content Delivery Network), it won’t live just on one server. It will live on servers around the globe allowing visitors to pull the file requested from a CDN node server that is close to them geographically, not off the original web hosting server.
Now this might sound difficult, but it’s actually VERY easy. Here is the coolest thing. The best CDN in the world is called Akamai. Most people agree on this. It’s what most of the biggest media companies in the world serve their content on. They have the best system, and the most nodes, so they tend to serve content from servers that are geographically closer to users all around the world.
However, it used to be that this was VERY expensive and really not within the realms of small companies like ours (and perhaps yours).
This has recently changed.
Right now, this information isn’t advertised publicly, so you’ll need to contact them direct for their prices. However, I’ve discovered that it ends up costing no more than most other CDN providers. You’ll need to buy at least 1000 gig in bulk, however, it’s pay as you go, and not a monthly fee.
Here’s a good tutorial on how you set it up.
Now it might feel a bit confusing at first, however, it’s surprisingly easy. It basically works like this:
- You specify the original server that hosts all the content in a config file in Akamai.
- You create a special subdomain like http://akamai.superlever.com
- You then point (via a CNAME) that subdomain to an edge subdomain you set up with Akamai. For example http://superlever.edgeserve.net.
- You then point all the references to http://akamai.superlever.com/images/image.jpg instead of http://www.superlever.com/images/image.jpg
- You can do this using wordpress plugins like CDN Re-writes, W3 Cache etc.
In doing this, here’s what effectively what happens:
Akamai receives (via the CNAME) the request of:
Which then maps over the top of:
The first time the file is requested, it is pulled onto the Akamai network and from there it is distributed across the nodes.
In future (for as long as you cache it), the Akamai network pulls the files from local servers around the world, instead of your original host.
The magic behind this is that the end user, regardless of location feels as if your site is hosted on a server within his or her city, not somewhere on the other side of the planet.
Pretty amazing stuff huh?
The Akamai documentation is a bit intense and at times, can seem confusing. Best to stay within the confines of this guide and you’ll find it a whole lot easier:
Plus, feel free to ask questions or to share your ideas below.
By the way, I know we still have other things we can do to make this blog faster. We’re not preaching here!