A Few Words on CDNs

Why use a Content Delivery Network – CDN?

What is a CDN?

A CDN or Content Delivery Network is essentially a network of geographically dispersed servers. Each CDN node (also called “Edge Servers”) caches the static content of a site like the images, CSS/JS files and other page-related structural components. The majority of an end-user’s page load time is spent on retrieving this content as HTTP requests, and so it makes sense to provide these “building blocks” of a site’s content in as many server nodes as possible, distributed throughout the world.

When a user requests your site, the node closest in proximity to the user will deliver the static content, ensuring the shortest distance for the data to travel (aka: reduced latency), therefore providing the fastest website experience for your users.

While CDNs are an appropriate solution for many websites looking for speed improvements, not every site necessarily needs one. It is important to understand how CDNs work, and if the benefits are worth the cost of adding one.

Why do I need a CDN?

The number one reason for using a CDN is to improve your user’s experience in terms of page load speed. As we all know, speed does matter — in the extreme, long page load times do lose visitors and can have a negative impact on conversions, bounce rate and general page SEO!

Ensuring a consistent experience for all of your users is vitally important.

A website may be hosted in a particular region but have the majority of its users coming from an entirely different region – for example, if your site is hosted in North America, checking your page load speed via PageSpeed, YSLOW or GTmetrix might report fast speeds based on their default test server location, but if a good chunk of your users come from Europe, their page load speed will not be as fast as you may have experienced it to be.

A global CDN would allow users from a European point of origin to download static content from a closer source. Instead of spanning the Atlantic ocean to retrieve data, they can connect to a server in London, UK, to get the same data. This reduces latency, providing a faster loading of your website.

CDNs not only ensure a faster experience to your users, but they also help to prevent site crashes in the event of traffic surges — CDNs help to distribute bandwidth across multiple servers, instead of allowing one server to handle all traffic.

Are CDN’s Absolutely Necessary?

Most users who analyze their site through GTmetrix, for example, will have YSlow’s “Use a Content Delivery Network (CDN)” recommendation triggered. This leads many to believe that it is a recommendation on the same level as “Minify CSS/HTML” or “Specify image dimensions”.

A CDN is a “next-level” optimization. It is not a self-contained fix like a server configuration change or a small code modification. CDNs are paid, third-party services and so implementation of one depends on your goals, priorities and budget.

Will a CDN help improve the performance of your website? Yes. Is it absolutely required for all websites? No. You can still provide a decently fast website experience without a CDN, but your site would probably be faster with one.

For those of you with heavy traffic, mission critical websites that are serious about providing the best possible experience for all of your users, a CDN should probably be a crucial part of your optimization strategy.

Cost

CloudFlare and MaxCDN are workable options, with CloudFlare offering a free basic account including ample parameters, and MaxCDN as a relatively inexpensive option for small to medium websites at roughly $9.00 per month. I would also note as a highlighted recommendation for WordPress based sites, the use of FlyWheel as a viable hosting option that does include a full-on CDN as part of that energetic package.

Get Flywheel - Content Delivery Network