I'll assume that some of you will already know what a CDN is if you're reading this post but, if you own your own website and DON'T know what a CDN is, read on anyway as the acronym is something that you'll probably stumble across at some point in time. Firstly, before we deal with the SEO side of things, here's a quick explanation of what a CDN (content delivery network) is.
*If you don't want to read the entire post, skip down to the bottom of the page for our top two tips.
What is a CDN (content delivery network) and how does it work?
A CDN does pretty much what is says on the tin. In other words, it's a network of computers (servers) that are located all around the world that can delivery (or serve) specific types of content to the end user. Since they're a geographically distributed group of global servers that work in tandem with each other, they provide a fast and relaible way of delivering content across the Internet. As you may already have heard, a faster website is generally better for SEO.
One oft overlooked aspect of CDNs is that the servers are placed at the exchange points (called an IXP) that intersect different networks. These are the locations where various providers connect to each other to exchange data across networks so, by connecting to these locations, a CDN provider can deliver data at a higher speed.
What kind of content is distributed and why?
To answer both of these questions from the page speed side of any SEO benefits, let's say you run a small business in London and have your own website to generate new business. E.g. you're a makeup artist that provides a range of services for things like weddings and parties. When doing your job, you take lots of lovely photos to showcase your work and upload them to your website for others to see. This is where problems can arise.
If the photos aren't optimised and compressed properly, the size of the image files (usually ending in ".jpg") will typically be quite large and take up lots of space on the server that your website is hosted on. However, even if you DO optimise the images prior to uploading but have lots of them in the same gallery, it can still take quite a long time for the page to load for new visitors. This is because the server that your website is hosted on has to work a lot harder each time someone visits your gallery page. Not only will this lose you some of your visitors who'll become frustrated by having to wait, it will also hurt your SEO too. It's not just your users who like fast loading sites, search engines like Bing and Google do as well and they'll start to demote you in search results if your site takes an eon to load.
What types of files are hosted on a CDN?
Why use a CDN? Faster load time equals better SEO
From an SEO and user experience perspective, this is where a CDN can be useful for the little guys like us too. If your website gets a lot of traffic and your server (usually a shared hosting environment for the majority of everyday websites) begins to creek under the strain, then you may benefit from using a CDN. This can be true in reverse too. In other words, if it's shared, low budget hosting, even if your site doesn't get a lot of traffic, some others on the same server might, and that'll slow your site down too. Sure, you could pay for a dedicated server with a ton of memory but that works out kinda expensive.
Another critical factor is your userbase. If you're in the UK but your website gets lots of visitors from the USA and you don't use a CDN, it will take longer for all your files to load (especially images and video) on an American's PC or phone when they visit your website. For UK visitors, your site will load quicker. This is because the distance between the user and the content they're requesting really matters. If a CDN can deliver content (e.g. an image or video) from a closer location to end users in different countries, the page will load quicker and the user is less likely to get fed up and leave. If that continues to happen, it will be detrimental to your site's bounce rate too, although there is some debate as to whether or not this is a significant ranking factor.
Aside from faster website loading time, a CDN can offer better security and also help stop a dreaded DDoS (denial of service) attack whereby your server is inundated with more traffic in a very short space of time than it can handle. This can take the shape of incoming messages, connections requests etc. Despite being illegal, they're still quite common for bigger websites even though launching one can land the perpetrator with a ten-year jail sentence.
Also, if your hosting company caps your website's bandwidth consumption, then a CDN can help mitigate this by using options such as caching and other optimisation techniques. Basically, a CDN can help to reduce the amount of data used by your server, which has the knock-on effect of lowering your bandwidth use.
Finally, although reliability has improved for most hosting providers, they can still be prone to hardware failures. Because a CDN works differently by distributing your data to various locations, they're able to better cope with a failure in one location, meaning that less (or no) downtime if it occurs.
The potential SEO disadvantages of using a CDN
An interesting post over at Blue Media goes into some detail about some of the lesser-discussed drawbacks of using a CDN. In the article, they discuss the topic of how hosting your images in particular through a CDN can actually hurt your SEO. You don't need to be an SEO expert to know that in SEO land, it's no secret that original, relevant images on your website's pages will help you rank better. Stock images are OK, but your own unique photos are better.
Google knows the difference between them as it'll be able to recognise the same stock photo on another site so it's far better to use one that's never appeared anywhere on the internet before. The post goes on to add that if you have a great image but it's hosted via a CDN, then Google won't be able to relate it directly to your website as it's not being served from your own hosting server. It also won't matter if you've painstakingly used alt tags with descriptive captions on them all either; if they're physically located elsewhere, it's 'curtains' for your image optimisation strategy. The post makes the distinction that, from Google's perspective, user experience is all that matters, not how well your website will rank, which is a valid point.
*Tip One - In summary - Should I use a CDN on my site?
If you've managed to get this far without nodding off, then I hope you'll be able to better answer that question yourself. In other words, weigh up the key factors and decide whether or not it's right for you. To summarise, if it's a simple site with well-written, spam-free textual content and only has a few images dotted around and your target audience is in the same country as you, then you probably don't need to bother with a CDN. Conversely, if your audience is intended to be the entire world, then use a CDN.
*Tip Two - One last thing you should try if you're still not sure
The best advice I can give you in this post is to try using a CDN to see if it makes a difference. CDNs aren't an "all in" type of thing; you can toggle your CDN on or off if you use a CMS (content management system) like WordPress, Joomla, or Drupal. They all have plugins/extensions available to easily set up a CDN and once configured, make a note of how well your website is ranking for a few key search terms and then activate your CDN. Leave your site for several weeks because you won't see a difference overnight, and then see if you've moved up or down in search engines. This will be a great yardstick and you'll have a much better idea as to whether you should disable your CDN or not.