Content Delivery Network (CDN) – A Detailed Guide 4000+ …words

What is a CDN ?

CDN stands for Content Delivery Network or Content Distribution Network. A CDN is a network of strategically distributed servers all around the globe – which delivers the website’s static data based on the geographical location of the user and the content delivery server.

When someone go to your site from their browser, they have to access your hosting server in order to download your static files such as images, CSS files, videos…etc. Every user from any part of globe will be sent to your host server.

Example

how-cdn-works-infographic-cdn

Let’s break this theory into more simple words. Assume that your web host’s server is located in USA. Now every user who views your website have to access your server located in USA. Suppose, a user in South Africa tries to access your website, that too will be directed to your webhost server.

But if you are using a CDN, the user the user will be redirected to the CDN’s server located in South Africa or may be lot closer to the user. Hence by reducing the physical length between the server and the user it also reduce the network hope and packet data loss.

CDNs are are responsible for routing more than 50% of all internet traffic, globally.

Why Do You Need A CDN Service ?

The top most reason behind using a CDN service is to improve the site’s load time and thus increase the speed of your website.  Page load time plays a very important role in a website’s user-experience, search engine rankings and thus in it’s overall corporate success .

But a good CDN service also help you with some other important jobs.

What Files Can Be Hosted On A CDN ?

Most of the CDNs are used to host static resources of a website. Majority of websites are made up of static content, such as :

  1. Images
  2. CSS files/Stylesheets
  3. Javascripts
  4. Audio clips
  5. Videos
  6. Fonts …and many more.

Static resources or files are those, which does not change frequently over the time.

Static content is more ideal for caching as compare to dynamic content which change frequently over time and users base.

Pros Of Using A CDN

Speed :

By reducing the distance between the end user and the server, CDN can increase your website speed. It can also minimize the latency and internet hopes which ultimately lead to better performance.

cdn-reduce-server-length

Front End Optimization (FEO)

Front end optimization is a process of making your website content more browser-friendly and quicker to download. This process is also called content optimization.

A CDN accelerate FEO by amplifying the following areas :

  1. Multiple Requests Limit : CDN allow browsers to exceediIts multiple request limit. Browsers has a limit to total number of requests to a single domain. But a CDN practically increase this limit by providing extra domain. We will discuss this more in the following section.
  2. File Compression : A webpage is consist of a collection of Javascripts, HTML, CSS and may be other code files. More the code files to be downloaded- longer the page load time. But CDN provides automated compression of these files which result in reduced file size and thus lead to faster loading of the webpage.
  3. Image Optimization: There are two most common and effective method of image optimization.

1) Image Caching – CDN provides a perfect solution for caching your blog/website images. Sometimes, this is the sole purpose of using a CDN.

2) Image Compression — Some modern CDNs also help through image compression process. They offers you tools like progressive image rendering and let you choose between image quality and page load time.

Crash Resistance

Generally what happens, if you are not using a CDN all your users are accessing your main server. If you have huge blog traffic, this will often lead to server crashes. But if you are using a CDN service all your traffic is distributed between different servers of your CDN service. This reduce the load on your main server and thus there is less chance of server crash.

It behaves like a traffic guard which direct the incoming requested from the user in such a way that a smooth flow of data be maintained.

Enhance User Experience

As said above, A CDN service increases the speed and performance of your website and thus it will surely improve the end user experience. You can expect a decrease in the bounce rate and increase in the page reviews.

Boost SEO :

As per Google official statement, faster websites tends to rank higher in the Google search. Thus by improving your website speed, a CDN service also improve your SEO.

CDN also improve the user experience and bounce rate which also lead towards search engine optimization.

Allow Multiple Request

Usually, a web browser limits the total number of content requests to a single domain. For example : Lets say you have  2 CSS files, 6 pages and 1 video on a web page. So when a user opens that webpage on their browser, they have to make total 9 HTTP requests.

But as said above, typically a browser limit the number of requests or concurrent download to a single host server. Most of the time the number is 4. Thus when someone visit that webpage the browse will download 4 files at a time and other files will be set in queue. After anyone of the four active request complete, only then the browser will pickup the next.

This limit is imposed to avoid brutal HTTP request attacks on a single host server. However this also acts as a drawback, forcing the browser to limit the active concurrent connection request.

But if you are using a CDN service, some of your files are stored or we should say cached on different domain. This will allow browsers to make extra 4 requests per CDN.

High Capacity Infrastructures

May be you are using a best web-hosting service but there are a fair chance that it does not offers the features of CDNs services of Google, Amazon or similar brands. A good CDN offers high availability, reliability and capacity in terms of performance, speed, content-caching and up-time.

Boost Conversion & Sales

It is a proven fact that, websites with faster loading and better user experience tends to have high conversion rates than the websites with low speed. A fast loading website enhance the user experience and encourage users to try out different web elements.

 Cuts Your Hosting Expenses

As explained above, a CDN distributes the load from your web-host server to its own distributed servers and thus save your bandwidth usage. Most of the web hosting provider charge on the basis of the bandwidth used by your website and hence by reducing the bandwidth usage, a CDN service can reduce your web-hosting expenses and thus saves money.

Automate Minification

Minification is a process of optimizing the code (php files, css files, javascripts etc.) specially for computers. Usually when we write code, we use spaces, comments, line-breaks to ease the readability for human. But a computer-machine can read the code without these elements. Thus in the eyes of computers, these are un-necessary elements which only increase the size of code-file, nothing else.

Minification strips-off these unessential elements from the code and thus reduce the size – upto 50%.

A good CDN service can automate the minification process for your website code-content and do the minification on your behalf.

High Level Content Caching

Caching is a process of storing the useful files on a hard drive (temporary) from where they can be accessed more rapidly/quickly by your browser. I am pretty sure that you are aware about content caching. In fact you must be using a cache plugin on your website/blog too. But this method provide caching on a small scale and also affected by some external factors, such as caching feature of browser used by your user, time period for which the cache files remain in browser’s memory etc.

But, what if the caching process is already performed before the user’s browser starts caching locally. That’s what a CDN do exactly. A CDN moves your website content to its distributed servers, from where they can be quickly accessed by your website visitors from the nearest geographical location.

*Caching is the Heart of a CDN*

A good CDN also provide you advance options and tools to control your website content caching. Some of the must have tools for cache controlling are :

  1. Purge Cache : This feature allows you to refresh all the cached content. Generally the number of purges are limited for a given period of time.
  2. Cache Status : You can set whether a file is always served from cache or vice-versa i.e. never served from cache.
  3. Cache Time Period : This option allows you to set the time period for which the files are served from cache. After that time period, the cached files are refreshed.

Handle High Traffic

There are times (good times Smile) when your post can go viral and  your website is exposed to high traffic. In that case your web-host server gets huge request volumes and can end up in going down. Additionally, if you are using a hosting service which offers limited bandwidth, you can get penalised and thus occurs extra hosting expenses. But case is not the same – when you are using a CDN service.

CDNs servers are stable even the peak traffic hours. CDN technology distribute the high traffic across all its distributed servers. Thus your central server (hosting server) has to manage a little traffic volume on its own which can minimize the server errors, significantly.

Possible Cons Of A CDN Service

Complexity

Using an additional external service turn out to be complicated for some users, specially for the beginners. Although, modern CDN service providers are making their user-interfaces more user-friendly but still there are a fair chance for beginners to get overwhelmed by tons of features.

Some good CDN providers also provides plugins for easier setup and control.

Cost

Another downside of using a CDN service is the cost associated with it. Some of the best CDN providers in the market have high setup fees and also potential hidden charges. Most of the paid CDN service providers charge on the basis of amount of visitors (your website traffic) and the number of requests for the resources on your website/blog. Sometimes the CDN costs even exceed the hosting expenses.

Thus using a paid CDN service is only justified if your blog or website,itself, support it financially.

If your blog is not earning enough to withstand CDN expenses, it is always better and wiser to opt for a free CDN service.

Blocked Access

Every country has its own legal, political and commercial boundaries and barrier for outside/foreign elements. Some countries like Iran, North Korea, Syria are known for imposing restriction on internet and data use. Any country can block certain domain or I.P. addresses of any website or a CDN service. Reason may include spamming and many other issues. In this case all your website resources hosted on the CDN-domain extensions does not load, Thus, result in broken website or undesired behaviour of website for the users of that country or region.

Security

However rare, but there are some possible security breaches when it comes to public CDN. When a remotely hosted file is requested, information about the referrer also sent, which can be risky if security is a major concern for you. The remotely hosted java-scripts can be altered and modified to store user’s and system’s data information.

Versioning Of Cached Files

Managing the right and latest version of cached files is major challenge for webmasters while using a CDN service. There are possibilities that instead of latest changes and files your website is loading the old cached version of files. This situation can be avoided by setting an appropriate time period for cache refreshment and using modern features like purge-cache.

Difficulty In Development

Development can be difficult if you are a developer and developing offline. If you are using a CDN service, some of essential files might be hosted on CDN and hence, you don’t have their local copies. You need a constant internet connection to fulfil your development needs as a link to a CDN file won’t work if you are offline.However this is only a issue for developer working offline and not for every-day-bloggers.

Dependence On Third Party Hosting

Using a CDN service is like using a extra hosting service where some of your essential content is stored. Your website will not depend on a single web-host’s server but, instead, it depends the servers of both your webhost and the CDN service you are using. Practically, it creates a “two point failure” for your website.

As said above, by using a CDN service you need to deal with extra host in terms of trust, support, availability of service, up-time, expenses, managing control and on many other aspects.

Failure

However there are rare chances when a CDN service goes down, but they are still there. Generally CDN companies have strong and reliable server-infrastructures but they are not 100% infallible. Maybe rare, but there is always a possibility for failure. In case of failure of a CDN’s data-center , there is not much you can do about it, but wait until the service get resume.

However, modern CDN services provides features like fail-over (fall back) technique to redirect the requests for local resources if the CDN service is not available but then, you would loose the CDN advantages and additionally these method requires further development and thus increase complexity.

Partial Loss Of Control

By moving some of your website data to the servers of third-party CDN service, you loose a direct control over that data. You cannot directly control or edit that content without going through the CDN environment.

Inappropriate Geo-Location Of CDN servers Can Worsen The Scenario

The whole CDN thing’s functioning depends upon the geo-location of its distributed servers. If the location of your CDN’s servers are near to your target traffic, CDN can increase your website’s performance significantly. But in the worst case, the situation can be completely apposite to it. Meaning, if your CDN’s servers are located at inappropriate geo-location relative to  your user’s location, this may result in low speed and increased page load time.

Let’s take an example : Suppose your web-hosting server located in US. But you are using a CDN service which does not have any server in US but the nearest CDN server to US is in, say Italy. Now what happen, when a user access your website from US, the request will be redirected to the CDN’s Italy server. Hence, instead of increasing speed it will increase the page load time of your website.

Thus it is recommended that you should verify the locations of servers offered by CDN providers and choose the one which fits best relative to your user’s locations.

Should You Use A CDN ?

Oh..hell yeah !

The advantages of using a CDN is far more than the disadvantages. If you rad the tutorial carefully, you must have noticed that the CDN’s disadvantages are only active in certain situations otherwise. Most of them are potential drawbacks and only comes into effect in rare conditions.

Further, these drawbacks can be dominated by using proper techniques.

Thus you can use CDN and improve your website’s overall performance.

Top CDN Service Providers In The Market 2016

Now that you have learned the importance of a CDN service, you must agree that a CDN service for your blog/website is not an option anymore – it is a necessity.

Step-up a little ahead, I have created a list of top CDN service provider on the web, categorised on the basis of free and premium services offered by them.

1. CloudFlare

cloudflare-cdn-service

CloudFlare is one of the most popular and most trusted CDN service provider in the market, specially when it comes to free alternatives. If you are looking for free CDN, CloudFlare is your deal. I recommend it specially for the newbie bloggers as it is really easy to setup and also have a custom WordPress plugin. It also easily integrates with some of the popular WordPress cache plugins. According to them a website using CloudFlare  on average load 2x faster, use 65% less bandwidth and have 65% less request.

cloudflare-cdn-working

They also offers premium package which includes features like mobile-optimization, multi-user access, 24X7 customer support ..etc.

CloudFlare uses a technology called Anycast to redirect your website’s visitors to the nearest located server.

  • Data Centers :  76 Data Centre across the globe.
  • Free trial: Basic Free Plan (Lifetime)
  • Trusted By : DigitalOcean, Cisco, ZenDesk
  • Pricing: $20 per month for first website and then $5 for any other addition.
  • Plugin Integration: Plugin Available For WordPress.

2. JsDelivr

jsdelivr-cdn

When it comes to WordPress almost every theme uses Javascripts files and codes. Additionally, when you use some custom Javascripts  on your blog, you have to host them too. Same is the case with font and CSS files.That’s where JsDelivr CDN might come handy.

  • Data Centers :  91 POP locations spread across the globe.
  • Supported By : CloudFlare & MaxCDN
  • Pricing : Free
  • Plugin Integration : Plugin Available For WordPress.

3. CoralCDN

coral-cdn

CoralCDN (originally a MIT project) is a P2P (peer-to-peer) based CDN service. This is a absolutely a free service. The reason behind being a free service is the P2P network technology. P2P networks relies on the billion of computers connected across the web.

  • Pricing : Free
  • Plugin Integration : Plugin Available For WordPress.

4. Incapsula

incapsula-cdn-features

 

Incapsula is a perfect combo for speed and security. They are known for their advance security protection and advance CDN acceleration system. Uniquely, they provide caching for both static and dynamic content which is normally not offers by other CDNs out there.

  • Data Centers : 28 Data Centre across the globe.
  • Free trial : Basic Free Plan
  • Features : Global CDN, Powerful Dashboard, Website Security, Server Load Balancing,DDoS Protection & Failover Technique.
  • Pricing : Premium Plans starts from $19 per month
  • Plugin Integration : Plugin Available For WordPress.
  • API : Also provides an API for companies and enterprises.

5.MaxCDN

maxcdn-cdn

MaxCDN is certainly one of the best CDN services. It is trusted by some of the biggest sites and popular blogs. They offers the best CDN service for almost every platforms – WordPress, Joomla, Drupal, OpenCart, PrestaShop… to name a few.

MaxCDN offers a quick and easy integration with W3 Total Cache plugin.

maxcdn-website-acceleration

  • Free trial : Available
  • Reputed Clients : WP Engine, BuySellAds, Nissan, StumbleUpon, JQuery, The Next Web, The Washington Times
  • Pricing : starts at $9/month
  • Plugin Integration : Plugin Available For WordPress

 

6. JetPack Photon

jetpack-photon-cdn

Well if you only want to speed-up your website by making the delivery of your images blazingly fast – JetPack photon might be your best bet. Let me tell you that, this is not a complete CDN service. But if you want to host your images on the global WordPress.com cloud you should consider it.

This service is provided by WordPress.com and you can also use it on self hosted blog with the help of JetPack plugin. There are 99.9% chance that you are already using Jetpack plugin. Just go to it’s photon module and activate it.

Note : One downside of using Photon is that your images are cached “forever”. If you want to refresh an image you will need to change the name of the image to make sure the new version is displayed to your visitors.

  • Pricing : Free
  • Plugin : JetPack By AUTOMATTIC.

7. KeyCDN

keycdn-cdn

When it comes to cutting edge technology and features, KeyCDN hold a special place in the CDN market. It offers easy integration for WordPress users through some popular cache plugins. Further it offers a detailed user dashboard and real time website-analytics.

keycdn-features-cdn

  • Free trial : 30-days (25GB ) Without Credit Card
  • Pricing : $0.04/first 10TB
  • Plugin Integration :  Through WP Super Cache, Zencache & W3 Total Cache plugin

 

8. RackSpace

rackspace-cdn

Rackspace is the top choice for many large enterprises. This is a solid solution for websites with huge traffic and bandwidth diet. As Rackspace market, they write and maintain three copies of each data files to ensure 100% reliability. They are responsible for routing 20% to 30% of all internet traffic, globally.

  • Free trial : NO
  • Features : 200 global edge locations globally, pay-as-you-go pricing plans, guaranteed 99.9% up-time
  • Pricing : Starting from $0.10/GB per month
  • Reputed Clients : Facebook,Twitter.

 

9. CacheFly

cachefly-cdn-service

CacheFly is one of the most expensive and most reliable CDN service on the web. They claims to deliver your site’s content 10x faster to your users. They offer 100% money back guarantee if they fail to deliver 100% network availability.

  • Free trial : 30 Days Free Trial
  • Features : 200 global edge locations globally, pay-as-you-go pricing plans, guaranteed 99.9% up-time
  • Pricing : start at $99 a month
  • Reputed Clients : Microsoft, Adobe, LG, Twit, Toyota, Honda, Add This and Bank of America

 

10.  CDN77

cdn77-cdn

CDN77 emerges very fast in the CDN market despite from the fact that this service is only three year old. They provide pay-as-you-go plans for medium sized websites as well as high volume plans for giant businesses.

Specially, they are best solution for video and gaming and software websites for un-interrupted streaming and content delivery.

cdn77-cdn-features

  • Data Centers : 31 data centers in 26 countries
  • Trusted By  : phpMyAdmin, Hubble, Wizz, Centos
  • Features : Real time bandwidth, traffic, and cost graphs, Hotlink protection 24/7 support
  • Free trial : 14 days trial
  • Pricing: pay-as-you-go / custom plans
  • Plugin Integration : Through WP Super Cache, W3 Total Cache plugin

 

Before Choosing A Paid CDN Service……

Ask Yourself..?

Does the amount of bandwidth you save by using a CDN dominates the cost of  CDN service ?

If yes you should use a paid CDN service. But if your blog does not support the CDN expenses, it is preferable to use a free CDN service.

Things You Should Consider Before Choosing A CDN Service

Pricing Plans

If you are opting for a premium CDN service, check whether the CDN provider offers a fixed monthly plan or charge on pay-as-you-go basis. Be sure to research properly before getting into a paid contract. Communicate with the staff to make sure there is no hidden charges or policies. Most of the CDN services offers free trial period. Give it a try before purchasing the service.

24×7 Support & Easy Set-up

No matter if you are an experienced webmaster or a newbie blogger, a reliable customer support system is must. A good CDN service must offer easy setup and 24/7 support. Make sure your CDN provide have this.

Also check whether they provide plugin integration for your platform. Plugins can make your life lot easier, specially if you are a beginner and on the same time, can save your both time and energy.

Preferences

What are your website’s preferences and needs ? What type of content you host on your site ? Every website has different content and thus different needs. Choose your CDN according to your website’s needs. For example :

If you run a video streaming, software download, or gaming site : you should consider services like CDN77.

If you want to host Javasripts libraries : check out services like JsDelivr.

If you want a simple and hassle free method for hosting your blog images : Use JetPack Photon.

Verify Locations Of CDN Data Centers

It is also important to check whether the CDN service has servers in your target countries or not. This make no sense to use a CDN which has no servers located near your audience base. So analyse your traffic sources and your user’s geo-graphical location ( Use tools like Google Analytics). List these location and check whether your CDN have servers distributed over those locations.

Article written by:

Pankaj is a passionate blogger and an engineer. He writes about WordPress, SEO and blogging-stuff.He is a coffee lover and bogging addict who spend most of his time in reading, writing and surfing around the World Wide Web.

Join the discussion

  1. Jey Ganesh

    Here I learnt perfect and new information about CDN. Thanks for sharing this awesome post… 🙂

  2. Ravi Chahar

    Hey Pankaj,

    I would go with the MaxCDN. If you want to use the free CDN then CludFlare is the best.

    A CDN protects your websites from the direct attack. It helps you to keep safe from the brute force attack and more.

    Thanks for sharing the info.
    ~Ravi

  3. Donna Merrill

    Hi Pankaj,

    CDN is essential for serious bloggers, and you demonstrated that. I do think, even though it’s free, that CloudFare does an excellent job, unless you really have a major earning site. Then you’ve given lots of steps up from that. But for most people, CF probably does the trick.

    -Donna

    • Pankaj Kumar

      Hello Donna !
      You are right, CloudFlare is a perfect choice if you are looking for a free solution. CF offeres some really useful features, and also have a light WP plugin.
      Glad you stopped by.
      Cheers !

    • Anyinature Damasta

      Ma You are very Right.

      Cloudflare is the best and is doing anything you would want from a cdn for free.

      God bless them

  4. Anyinature Damasta

    I have been using cloudflare cdn and its been a great experience and i think every website must use a cdn because it makes a website much faster and saves a cached version of a website even if the site is offline.

    i got some more ideas about Cdn in this your post and i saw other good cdn networks on this post.

    You are doing a great work here.

    Happy Blogging

    • Pankaj Kumar

      Hey Anyinature,
      You are absolutely right, Cloudflare provides a really good CDN service with some awesome features.
      Thanks for stopping by.
      Keep visiting WPBlogCafe.
      Cheers !

  5. Joseph Chikeleze

    Hello bro, I like using CDN on my WP blogs. One thing I like about it, is that my blog never go offline even though hosting sucks.

    Thanks though

    • Pankaj Kumar

      Hello Joseph,
      You are right, mate. CDN provides a cached copy of your Web pages if your site goes down.
      Furthermore, CDN also reduce the load on your Web host server during the peak-hours.
      Cheers!

  6. Vishwajeet Kumar

    Hello, Pankaj,

    Very well written article and it is also very informative too. I am also using cloudflare as my CDN and its really help me to optimize my blog performance and also increase page load time speed. I think every website owner must have to use CDN.

  7. Osho Garg

    Nice article shared, I guess CDN is really important for every blog if they are using lot of images and other thing which makes blog load slower.

    Thanks

  8. Muhammad Ismail

    Hello.
    Thank you so much for the detailed guide on this topic. It was a great experience on this blog, with my 1st visit I got so much information.
    Hope to see your next content soon.

  9. Devendrao

    Hello, Pankaj,
    I really enjoyed this post, Very nice blog and i like it more because you provide all information in a good way.. thanks to share this information….

  10. Celia

    Very nice blog post. I absolutely love this website.
    Stick with it!

  11. Devendra

    I really liked your blog post.
    I wish that you are posting consistently. Very much thanks.

  12. Jelina Roy

    Hey Pankaj

    Thanks for the detailed Guide !

    I agree with you that CDN is very important, for fast loading as well as security will be better, as it can help us save our blogs from straight server attacks.

    So, overall CDN is must for all bloggers.

    BTW, keep up the good work.

    ~ Jelina

  13. Suhani Sahani

    Really great information sharing with us.

Leave a Reply

Your email address will not be published. Required fields are marked *

Give Your Inbox Some Awesome !

Give Your Inbox Some Awesome !

Don't Worry, We Hate Spam Too.

You Are Awesome !