Content delivery networks, or CDNs, are very useful tools. They can be quite beneficial to SEO, though it’s also possible that they can hurt you if you use them improperly. Which are the best ones to use?
Before you can find out which CDNs are the best, you need to know just how they work. Otherwise, when it comes to evaluating your needs and the features on offer from the CDNs out there, you won’t know your head from your tail.
A CDN is basically a local server that caches your files for you, and loads them to users upon request. If that sounds like what your web host is doing, it’s similar, but CDNs leverage a globalized level of presence to get files to you much faster. They also need a web host server as a basis for your content.
The typical site load is a user requesting to load a page on your site. Their browser sends a request to your web host server, which figures out what files need to be loaded and sends them back. The user sees them load.
The path between the user’s location and the web server can be quite long, however. It might have to hop out to a local router, then out to an ISP router, then out to a network hub, then over to another hub, and another, zigzagging until it reaches a backbone, then do the same in reverse at the data center where your web host holds your files. Some paths are short – Google keeps theirs as short as possible – but others are much longer. You can see a visual representation of this on Monitis.
If your web host is in California and your user is in New York, the data has to hop a long way to get from point A to point B. It’s going to load slower for a user in New York than it will a user in Nevada. This is where a CDN comes in.
Imagine, instead of having to bounce between nodes all the way across the country, if the web host server was ALWAYS “right next door.” That’s how a CDN works. They buy, rent, or lease server space in hubs, nodes, and data centers all across the country and around the world. They then check your website and cache the data. When a user loads your website, instead of your website sending all of the data back, it sends a framework and instructions to pull the files from the CDN. The CDN, which is 10 miles away from the user in an unmarked warehouse, loads those files without the loss of transfer speeds from numerous extra hops.
The trick is that a CDN has thousands of these servers, so pretty much no matter where the user is in the world, there’s always a CDN server nearby.
So how does a content delivery network improve your search engine ranking? Well, the simplest way is just through site load speeds. Google has indicated that site speed is a ranking factor, so the faster your site loads, the better your ranking will be, to a point.
Google understands that there will always be some variance and that sometimes there are unavoidable slowdowns on the web. A temporary DDoS isn’t likely to tank your SEO. Improving your site load speeds by .10 seconds isn’t likely to improve your SEO, at least not noticeably. Essentially, Google just considers a general threshold. Imagine that anything under 2 seconds is “good”, anything from 2 to 5 is “bad” and anything over 5 is “terrible” and you have the right idea. I can’t vouch for what Google’s actual gradients are, but that’s the sort of method you can expect.
There are a lot of ways to speed up the loading of your site. A CDN is just one of them. You can also use file compression to make your files smaller, so they load faster. GZip is generally supported for web protocols. Likewise, you can offload larger media files, like videos, to embed sites like YouTube. You can use image editing software to compress your image files. You can also minify your scripts and codes, to remove unnecessary characters and formatting. This one is a tricky recommendation, though; if you have human developers working on your site regularly, keeping formatting can be a good idea so it’s less messy.
Google has their own recommendations as well. They prefer that you load scripts asynchronously, that you avoid redirects on landing pages, and that you prioritize your visible content rather than behind the scenes content like analytics scripts. You can read more about it here.
Some of Google’s recommendations are a little strict. They tell you to avoid plugins, for example, but plugins are the lifeblood of a good WordPress installation. Well-programmed plugins are fast to load and don’t slow down your site, though, so it’s a toss-up.
There are other ways that a faster site can improve your SEO. Bounce rate is a big one. If users are trying to visit your site, seeing that it takes several seconds to load, and leaving, it’s a signal that your page is loading too slowly. Improving your bounce rate improves your SEO in numerous ways.
There’s also an interesting side effect of modern search technology. When someone uses Siri, Cortana, Alexa, or Google Now, the vocal search, response time is incredibly important. Google in particular will search for the top result, but if that result doesn’t load quickly enough it will default to the next one, to find a fast result.
So can using a CDN hurt your site? Well, not really. Most CDNs are an added layer of security bundled with speed. They help protect against DDoS attacks and make your site more stable. In rare instances they can have negative effects, but for the most part they’re going to outweigh the bad with the good.
So, a good CDN needs to have a huge network, which means it can’t be some local startup. It needs to be reliable, with 100% uptime and redundancy in case of an individual server failure. It needs to actually speed up your site in practice, and needs to support the software, plugins, scripts, and files you need hosted.
The hard part here is not finding a CDN that does all of that. Actually, pretty much every CDN is good enough. The hard part is finding them for free. The best CDNs are ones like Akamai and Cloudfront, which have costs that are based on the size and number of files hosted and the number of loads of those files in a given period. Pricing changes too quickly for me to bother listing them, and even though it’s generally quite cheap, it’s still not free. You can’t beat free on a bill.
Incapsula is a business-class CDN with a lot of different functions, including many that are very highly recommended for large or high profile businesses. They have a firewall, bot suppression, SSL, DDoS protection, and at the high level include uptime SLAs, custom security, load balancing, and an API. All of this, though, is for their paid plans.
It’s difficult to find, but Incapsula also has a free plan. On their pricing page, beneath the main plans, is a small line about a free plan that is mainly for small blogs and include bot mitigation, CDN access, and two-factor authentication. You can navigate to it yourself, or click here to sign up.
The free plan does lose out on some elements. It doesn’t have backdoor protection, SSL support, DDoS protection, failover, or any of the enterprise-level benefits. It also limits your support to just community assistance, which might be a deal-breaker if you’re having issues with it.
Swarmify is primarily a company offering distributed loading for video content, if you don’t want to host all of your videos on YouTube. I’m going to completely ignore all of those features, though, because they’re paid-only. The free element is actually specifically for WordPress websites, called the WordPress Acceleration Plan.
With the WPAP, you get 10GB of image delivery per month, with local geo-serving and email support. It’s not much, it doesn’t support video or scripts, but for an image-heavy website it can be excellent. Do be aware that if you go over your bandwidth allotment, they charge you five cents per gigabyte afterwards.
JSDelivr, with the oh-so-trendy trailing r instead of er, is a CDN that is free and open source.
Google’s App Engine is a non-traditional CDN that doesn’t do basic scripts or media; instead, it’s designed to host and run web-based applications. This means it’s ideal if you’re trying to run a web business or host a task app, but that’s a specialized use case that’s not ideal for everyone.
The primary benefit of the App Engine is two-fold. First, it’s free for up to five million uses per month, with half a gig of storage space and hosting for up to ten projects. Secondly, it’s deeply integrated with all of the other Google services. If you’re used to using Google services, it’s ideal.
On top of that, it’s not just a CDN, it’s a development space. Your developers can use App Engine directly to create and test the app, not just host and run it. This can be invaluable if you don’t have your own local test environment.
I put Cloudflare as last because, even though they’re recommended around the web and are generally considered pretty good, I don’t like them.
They tend to approach their services from a security standpoint more than a delivery standpoint, and they filter bad traffic very aggressively. This is great for DDoS protection, but it also makes them the #1 most common CDN error I see in my time using the web. I can’t tell you how many times I’ve tried to visit a site and found just a Cloudflare error page instead.
That said, if you’re willing to give them a try, they might work out for you. Also, they’re excellent for DDoS protection, at least in the sense that they’ll protect your data. Your site might be difficult or slow to access during a DDoS, but it’s less likely to bug out and reveal data to users or collapse completely.
Coral CDN is an interesting experimental CDN that works not with server farms but with peer-to-peer loading. It’s a cool experiment, but I wouldn’t have recommended using it as a business, because it requires that you append a secondary domain to your own domain, to load the request through their CDN. That’s one way phishing scammers fake a site, so it’s not a great look.
Also, Coral CDN hasn’t worked since 2015. I only bring it up because the idea of a peer to peer CDN is very cool and could, in a better world, be a much more powerful version of a CDN than the traditional data center model. For now, though, you’ll have to content yourself with one of the above options.
Do you have a favorite CDN, paid or free? I’m curious what the general consensus is for good CDNs these days. Let me know in the comments below so I can get some juicy data.