How a Content Delivery Network (CDN) Could Improve Your Search Rankings
With search engines adopting loading speed as criteria for ranking, it is important to optimise your website and minimise your page load times. There are many ways of achieving this and the use of a Content Delivery Network (CDN) is a very effective one.
Before we go into how CDNs work, let’s explore how loading speed can impact your search engine rankings, conversions and engagement.
Why Site Loading Speeds Matter
When Googlebot hits your website, it also checks how fast it takes for each page to load. That loading speed is then included in Google’s algorithm for ranking. If the duplicate ‘rule’ didn’t exist and you had two websites with identical link profiles, identical content etc., Google would place the website with the faster loading speed in a higher spot in its SERP.
Decreased Bounce Rate
Loading times impact bounce rate. You can find reports of this all over the web, but here here is an example. If people navigate away from your site even before it loaded, you may have the best content marketing strategy in the world, the cure for cancer or the real answers to existence, but people won’t read any of it.
Secondly, Google detects if people pressed the back button and returned to the SERP quickly and will ask them if they don’t want that result to show in the future. So not only have we encountered a user experience issue, we have also indirectly given Google another reason not to show your page.
This is perhaps an even more important factor than the speed metric of a bot hitting your pages. Google’s results are personalised by user, even more so if someone uses Google Now, where Google has access to a wealth of information about them and will serve results based on those implicit requestsbased on what Google knows about their users. This brings us to another point.
Results Offered by Personal Assistants
You might have heard of Google Glass, that little technological wonder that will act as your personal assistant, whether you want it to take a snap for you or search for something on the fly. You may be running around a new town and decide you want to find the nearest flower shop to surprise your gorgeous partner. So you just say to Google Glass, “Okay Google, show me the nearest florists.”
What some people might not realise is that the software that makes this happen is already bundled in every single Android device. It’s called Google Now and it works just like it does on Google Glass, with the exception that it can work both with voice and typed commands. I have been experimenting with this myself.
Google Now isn’t the only one of its kind. Apple has Siri, which is based on the Bing search engine, while Windows Phone will have Cortana (named after the AI of Microsoft’s own video game hit, Halo).
These are electronic personal assistants. They will keep track of your reminders, tell you how long it will take you to get to work with current traffic, show you the nearest restaurants and offer you site content based on previous searches. In this case, the search engine doesn’t just sit there waiting for you to search, it will actively serve you new content that it thinks may interest you. You can then have a look at the content or dismiss it, and knowing Google, it will keep tabs on what you dismissed without even looking at.
Google Now is so proactive that it will tell you where you have last parked your car, even if you never told Google that you had a car and even if your Android device (a Google Nexus 7 was the culprit) didn’t have any internet connection. How does it know? Your device has motion sensors and a GPS.
If your content happens to be delivered through this ‘passive user search’ and it doesn’t load fast enough when clicked on, the user will bounce back and tell Google Now that they aren’t interested in receiving updates from you anymore. This will have a ripple effect on the active searches. If you didn’t want an update from a certain website when Google Now offered it to you, it won’t be offered when you actively search for the same subject matter.
How Can a CDN Help Loading Speeds?
Now that we are all up to speed, here is one of the solutions that can help you stay speedy: the Content Delivery Network.
In a few words, a CDN is a network of computers placed in various areas of the world that communicate between themselves and the server of origin where all the content comes from. The term ‘cloud’ might come to mind, and that’s exactly what this is – the use of a cloud network to serve website’s content.
Above: How your website serves traffic without a CDN
Above: And here’s how your website serves traffic with a CDN
If you live in the UK and Joe connects to you from the US, it will take longer for your content to reach Joe, thus increasing loading times.
However, if your content is relayed to a server in the US, it will take less time for your data to reach Joe.
With a CDN your content is relayed from your hosting server to the CDN and from the CDN to the user. You might think ‘But won’t this add loading time because of the extra step?’
No, because your pages will be cached by the CDN. A cached page is basically a static copy of your original page. If you take WordPress as an example, every time a user sends a query to your website, Worpdress puts together the page dynamically and this requires time.
I can hear you object, “But I can cache pages on my own server.”
Yes, you can, but there is still the little detail of Joe trying to connect to you from the other side of the world. In fact many caching plugins can work in conjunction with CDNs.
A CDN combines the power of caching with the power of cloud computing to deliver content at the highest speed it can.
Note that the CDN doesn’t replace your server, it assists your server by adding relay points all over the world. A CDN with more relay points might be better than one with less relay points, but I’d advise you to try a few to check how reliable they are, as the number of nodes isn’t the only thing that matters.
A Content Delivery Network works as an inverted proxy. With a normal proxy the user is hidden behind the proxy. The query goes from the user to the proxy which then relays the query to world wide web. With a CDN, a query comes from a user to the proxy CDN, which effectively acts on behalf of the original server and relays the previously cached content to the user.
Other Benefits of a CDN
The power of a CDN isn’t all in the speed. There are other beneficial features (depending on your CDN provider and your subscription plan). Benefits include spam protection, hotlinking protection and more. Here is a list.
Protection from Spam and Common Threats
Many CDNs offer anti-spam protection. Remember when I mentioned that the CDN acts as a proxy? Because of that, a lot of spam never reaches your server, and the same applies to common threats and hacks attempted by bots.
The CDN will also use their cloud data to figure out whether a visitor has good or bad reputation, so it will decide whether it should serve content to them. This will prevent hackers and known threats from reaching your web content.
Aside from the obvious security protection this offers, it also affects loading speed because your server isn’t bombarded by spam or burdened by some malicious code that was injected into your website without your knowledge.
Further, if Google detects malware on your site, it won’t rank high.
If the CDN has this feature, other people won’t be able to just link directly to your images and use your bandwidth to show said images on their web pages.
Prevention of DoS/DDoS Attacks
A Denial of Service attack is a way of impeding a server from delivering content to users. The most common way of performing it is by flooding the server with many requests, to the point of overload. Since the server is busy trying to respond to all of those requests, it can’t handle real ones as well causing the service to slow down or halt all together.
A Denial of Service attack is performed by one source, using one internet connection. You could locate the source of the DoS and block it, therefore thwarting its efforts to stop you from delivering your content.
A Distributed Denial of Service attack is a DoS attack originating from many places at once, thus it’s harder to stop. CDNs may offer you protection from DDoS attacks, subject to your subscription plan.
Above: How a Denial of Service attack works
Above: How a Distributed Denial of Service attacks works
Less Bandwidth Usage
If you have a hosting plan with limited bandwidth usage, you will be happy to know that a CDN will help you use less of it, because the requests are handled by their servers.
This will also put less strain on your host, which will also increase speed.
Another great feature of CDNs is the ability to keep your site online even when your server is down. Because your pages are cached, you can tell the CDN to keep those cached files for an amount of time of your choosing and serve those while your site is down. This is great when you need to maintain your site or when your server has temporarily given up on you.
Usually a CDN will give you power over what you have cached, so you can purge the files they stored at any time. This will cause the CDN to refresh the cache and update said files. If you don’t do this manually, the CDN will do it periodically. How often this happens is subject to your subscription plan.
This might result in higher traffic and in the case of my personal web site this is the case. Because I curate a gaming site, a lot of gamers are tech savvy enough to use an ad or script blocker. That skews my Google Analytics and my CDN stats have shown me two to three times the traffic that Analytics does. The CDN also shows me which of these visits are from real people and which are from bots.
Whether you have a discrepancy between your analytics and your Content Delivery Network depends entirely on your audience, so this might not happen to you.
Minimise the Amount of Network Connections
When you use external sources, such as ads for your web site, Twitter feeds et al, whenever a user connects to your web site, they also have to connect to all of these other bits. A good CDN will have a system in place where all of these connections will be consolidated into one, so the user agent will not need to fetch all these elements from different places in the web. This will once again reduce loading speeds.
I Update My Website a Lot – Will a CDN Work for Me?
That depends on your CDN’s settings. If you tell your CDN to cache everything, including your HTML, then you will find that your changes won’t show straight away, which is not a good thing.
However if you decide not to cache the HTML, but cache everything else that won’t likely change, your interactive elements and those that tend to change will be served directly from your server in real time. This means a slight decrease in performance because the user connecting to you from the other side of the world still has to connect to your server of origin, but it won’t be as slow as not having a CDN at all.
This is where using a caching system on your own server helps, as you will have the power to compress and cache your pages in a way that won’t affect interactivity but that will still allow faster loading speed than not having any local caching at all.
If the only interactive thing you are worried about is comments, there is an alternative to the above: use an external commenting system such as Disqus or Facebook. This way the code of your actual page doesn’t change as the comments are handled by a third party, and you can tell the CDN to cache everything, including the HTML.
The external commenting systems will store a copy of your comments in your own web site, so don’t worry about losing your comments.
The downside of third party comment systems is that you are forcing your users to register or log into a system, and you are also at the mercy of the potential UX issues those third party comment systems can present due to bad design decisions you have no power over.
Will My Ecommerce Site Work With a CDN?
An ecommerce site is a highly interactive site so what I explained above still applies. Generally speaking you will not want to cache your HTML, but you can cache the rest. If you need to update a large number of products on your site, some CDN systems will have a “development mode” where they will not cache your content for a set period of time. Once you are done, you can tell the CDN to start caching again.
Are CDNs Expensive?
That depends on your CDN and on what kind of features you want. Some CDNs are free (for WordPress you can use Jetpack’s Photon as a starting point), some offer various packages, and there is even one that offers a pay-as-you go plan.
Which CDN Service Is Best for Me?
This is highly subjective and dependant on your needs and budget. Some CDNs will have plans based on bandwidth, others will be free with limited functionality, while others again will have plans based on features (or lack of). Let’s have a look at some CDNs.
Photon is a free CDN system offered by WordPress and it uses WordPress’ own network to store your images. You just need to install the Jetpack plugin and Photon will be up and running in one click.
However, it only stores image and it doesn’t work with web sites that use an SSL certificate (where pages show as https://)
Cloudflare is a nice option if you just want to try a CDN as it has a free plan. You can then upgrade to other plans later if you so wish, but you are under no obligation to do so. The paid plans include more features, better spam protection and so on, but they are not limited by bandwidth usage. The free plan won’t support SSL.
It isn’t as easy to implement as Photon, but Photon is the exception to the rule.
MaxCDN has a 30 day trial but no free plan. It’s a popular CDN solution. MaxCDN offers most of its features on all plans (but not all), but the pricing is based on bandwidth usage and the number of web sites you have. By paying extra you can also expand the amount of server nodes available to you, to have as many servers as possible as close as possible to your users.
Another CDN with a free plan as well as paid plans. Incapsula’s free plan seems to offer fewer features than Cloudflare’s, and MaxCDN’s starter plans also seem to do a bit better than Incapsula’s personal plan in terms of features. However, Incapsula’s plans aren’t limited by bandwidth usage, unlike MaxCDN’s, and the higher level plans are solid.
CDN.net is an interesting one because it is a pay-as-you go CDN. They boast a large network of locations. You have no minimum commitments and you can pick which locations you want to pay for. They have a 30 day trial which is a great way to gauge how much you would be spending if you used them instead of another service with fixed plans.
The downside of this is that if you have an unexpected spike of traffic, you will wind up paying a lot more than what you might have budgeted for. They protect you against DDoS, but there is no information about whether this impacts your costs due to the increased traffic, albeit spam traffic. While they promote having many locations, the price tag changes depending on how many server locations you want to use.
Page loading speed is an important factor first of all from a user experience perspective, and secondly from a search engine point of view. If you want to rank higher in search engines and reduce your bounce rate, the first thing to look at is at how fast your web page loads. The best content in the world will be ineffective if your users leave your web page even before it loaded.