Content Delivery Networks CDN

Deliver Content Faster To Global Audiences: Content Delivery Networks (CDN)

A content delivery network (CDN) is a system of connected servers strategically located across the world serving cached content to users based on geographic proximity. Instead of your website content being delivered by one server provided by your hosting company, it is copied on servers across the world and delivered based on physical distance to the end user.

In this article we will examine specific terminology, how CDNs work and the benefits they can provide. I will also provide a step by step tutorial on how to implement a Content Delivery Network (CDN) into your site.

 

 

1. Why are CDNs important?

The main purpose of a content delivery network is speeding up load times for global audiences, but if speed isn’t your goal other benefits also exist. Given the growth of mobile (52%) and tablet (6%) use over traditional desktop (42%) browsing it has become increasingly important to deliver content quickly around the world.

One of the easiest ways to improve page speed while reducing server load is by using a Content Delivery Network (CDN). Caching content through a network of geographically diverse servers (worldwide) makes sense for anyone catering to a global audience. The time a user spends waiting for data to travel round trip from the browser to your host server and back measured by Time to First Byte (TTFB). CDN’s are an excellent way to reduce TTFB for audiences far away from your main host server location.

Data transfer to distant locations is limited by both the speed of light (186,282 miles per second) and the medium that it transfers on (fiber optic). Physical distance from the server is doubled due to the round trip nature of data transfer. The user first sends a request for data (1/2 trip) and then the request is fulfilled by your server (1/2 trip). The physical distance of travel increases the time it takes for web content to begin rendering in a visitors browser.

 

 

2. How does a CDN work?

We have already discussed how content delivery networks work together to deliver content from edge servers close to the user reducing latency (load time).

2.1 Pull Zones

Pulling content from your host server and caching it to CDN edge servers is the most common option. Pull zones are used to serve data that changes often. Examples include HTML, CSS, Javascript.

2.2 Push Zones

If you have a large amount of data (>100MB) content must be uploaded to a CDN storage location and then cached to the edge server. Push zones are used for large data sets that don’t change much. Examples include archives, documents, software, video and audio files.

 

3. CDN Terminology

Point of Presence (POP)

A point of presence, commonly abbreviated (PoP) is a physical location where a group of CDN edge servers are located. Points of Presence (PoPs) is composed of multiple physical locations combining to form a network. The number of servers and Pops has a direct effect on performance and coverage.

Edge Servers

An edge server is any server that is located on the edge between two networks, typically between a private network and the internet. This is important because it requires fewer connections to reach it for people within that network.

Latency

The time it takes for a request to travel from the browser to the server and for data to be served back to the user (round trip time) is referred to as latency. Transmission mediums, propagation, routers, and storage delays are the main causes of latency. All can be mitigated by reducing the physical distance between the server and user.

 

4. Should you use a CDN?

Not every type of website should needs a content delivery network. Hyper local businesses with a main host server located in close proximity to their physical location wouldn’t benefit much from a CDN. Just make sure when you sign up for hosting that you select a server as close to your physical location as possible. Most major hosting companies have between 2-4 servers located in major cities across the country. Again, pick the server closest to your target audience or physical location.

Identify Your Audience Location

The easiest way to figure our where your audience is located is through the use of Google Analytics and Google Search Console. In each tool you can navigate to pages that show what countries and continents your traffic is coming from. If a significant percentage of people are visiting from outside the United States you would benefit from using a CDN.

  • Google Search Console / Performance Overview / Countries
  • Google Analytics / Home / Where are your users?

 

Google Analytics Audience Location

Hyper-local Businesses

Lets say you have a plumbing business in Tampa, Florida and your host server is located in Miami, Florida. Your target audience is anyone <60 mile radius of Tampa so you wouldn’t really care if someone in Sydney, Australia experiences slow load times.

Hyper local service based businesses don’t need to use a CDN. They only target local audiences near their main physical location so there is no reason to be concerned with global audiences.

 

National Brands and Global Companies

Now lets examine that same plumbing business in Tampa, Florida. One day they decide they are going to start a blog and e-commerce website selling instructional literature and plumbing supplies worldwide. A user from Sydney, Australia would now potentially be a customer since they could order products. That same company now has a need for a CDN to deliver their website files from the closest server possible.

All national and global companies with audiences around the world should use a CDN. When signing up for a CDN you will have the option of European, Asian etc locations so be sure to make sure to only select predominantly English speaking locations you intend to serve.

 

5. What content can be cached?

WordPress websites deliver a large amount of static content to users browsing the site. Static content is composed of data that doesn’t have to be generated, modified or processed live. Examples of static content include HTML, images, CSS, fonts, video, documents and some Javascript. All of these static assets count towards the total page size, resulting in increased server load and page load times.

 

5.1 Types of static content

Static Content Profile

Static content files don’t change based on user actions while dynamic content changes live in real time. Looking at a file profile of your WordPress website you will notice that over 75% of your site consists of static content. This is easily checked using Pingdom Speed Test and scrolling to “Content size by content type”. Many of these static assets can be sent through a server located close to your audience.

  • Core Site Files: CSS, JS, JSON, HTML
  • Image Files: PNG, JPEG, GIF, TIFF, PSD, SVG
  • Video Files: FLV, HSL, MP4, MOV,  WMV
  • Audio Files: MP3, WAV, AIFF, AAC, PCM
  • Font Files: WOFF, WOFF2, TTF, EOT, OTF
  • Document Files: PDF, DOCX, CSV, ZIP, XLS
  • Video Files: FLV, HSL, MP4, MOV, WMV
  • Audio Files: MP3, WAV, AIFF, AAC, PCM

6. What are the benefits of using a CDN?

 

6.1 Faster Load Times Through Latency Improvement

Since the majority of content (75%) on WordPress websites is static files, CDNs are cost effective ways to achieve faster load times globally. The main method of improving performance is targeting latency – the round trip time it takes to request and receive files from the host server (browser to server). Content delivery networks work to ensure files are served from the closest geographical server from the user.

Most of the sites I have worked on for speed optimization have experienced between 20%-50% decrease in load time by implementing a content delivery network. Add in a caching combination and this figure tends to lean towards the 50% improvement number.

Google has already gone on record explaining how speed is now a ranking factor for SEO. Not to mention, several studies have shown that desktop users expect load times of <2.5 seconds with mobile users expect <4 seconds. Fast load times for global audiences also improve google metrics and experience – namely bounce rates, time on page, pages/session and session duration.

6.2 Defending Against DDoS Attacks

User requests are always routed to the nearest physical location, but if one server is not available the next closest server will be used. This process of having “backup” edge servers virtually eliminates the possibility of server based errors on your website.

Hacking that targets bandwidth like distributed denial of service (DDos) attacks are largely mitigated by the use of content delivery networks. This is because most of the traffic is being served from the CDN vs the main host server. Most edge servers have built in A.I. that analyzes traffic for suspicious activity, serving legitimate users while blocking malicious activity.

SSL certificates are also compatible with CDN implementation to keep traffic encrypted. The popular “Lets Encrypt” free SSL option is compatible with most CDN providers. Additional security measures are also available such as hotlink protection and secure tokens.

 

6.3 Avoid Downtime During Traffic Spikes

CDNs take the load off the main host during traffic spikes, preventing server overload. This is important should one of your blog posts go viral. By offloading static files to edge servers your websites ability to serve large numbers of users in a short period of time is enhanced. You may be actually be able to save money by not having to upgrade hosting for a “just in case” basis.

Chances are that if you are using shared hosting, you will experience service disruption at one point or another. Although hosting companies don’t always disclose usage metrics like CPU usage, entry process and physical memory limits its pretty certain that a sudden burst of traffic will crash your site. Content delivery networks make scaling your hosting much easier.

 

6.4 Improved SEO Performance Metrics

Certain Google performance metrics will inevitably improve through the use of a CDN. I have already pointed out how page load speed increases, but several other metrics improve as well.

Bounce rate for users in foreign countries improves due to faster load time and uptime improvement. Users that are sensitive  to site speed (mobile) will be more likely to click through to multiple pages if they load quickly.

Pogosticking will also be reduced since anyone clicking on your website in Google search results will be served content quickly. If they can find the product or answer they are looking for quickly they will be less likely to go back to the search page a click a competitors offering.

Conversion rate is naturally improved since improved speed has proved to reduce shopping cart abandonment. If you have a global e-commerce site, page speed becomes particularly important. Every second saved in load time results in a higher percentage conversion rate given a high enough sample size. Sites with hundreds of thousands of dollars in revenue should definitely use a CDN.

Website speed has a significant impact on e-ccomerce performance metrics. Mobify did a study on mobile ecommerce website speed and here are some of their findings:

  • For every 100ms decrease in homepage load speed, Mobify’s customer base saw a 1.11% lift in session based conversion
  • An increase of one pageview per user results in a 5.17% lift in user based conversion

 

Would you be willing to pay <$20 month for a 5% increase in gross sales?

That could be the exact cost/benefit scenario of using a content delivery network. You will make customers in foreign countries happier by loading content fast. Faster loading websites also give the impression of having a high level of security, user experience and confidence in fulfillment.

 

7. CDN Provider Cost Comparison

PROVIDER

FEE STRUCTURE

COST / GB / LOCATION

(PoPs)

PLUGIN

Bunny CDN

Pay As You Go


High Volume Discount

Free 30-Day Trial

$0.01 GB North America
$0.03 GB Asia & Oceania

$0.045 GB South America
$0.06 GB South Africa

35 PoPs

BunnyCDN

Key CDN

Pay As You Go


High Volume Discount

Free 30-Day Trial

$0.04 GB North America
$0.10 GB Asia & Oceania

$0.14 GB South America
$0.14 GB South Africa

34 PoPs

WP Rocket

Stackpath

Max CDN

Monthly Fee

Free 30-Day Trial

$10 Monthly Fee
All Global PoPs Included

45 PoPs

W3 Total Cache

Cloudflare

Monthly Fee
Free Basic Plan

$0, $20 Monthly Fee

Basic, Business Plan

151 PoPs

Cloudflare

Fastly

Pay As You Go
$.001 / 10K Requests
Min $50 Month

$0.12 GB North America
$0.19 GB Asia & Oceania

$0.19 GB South America
$0.28 GB South Africa

50 PoPs

Fastly

Content delivery networks are widely available from several reputable companies. Most providers offer a 30-day trial so you are able to implement and tweak CDN settings based on your needs. After the 30-day trial period monthly service charges are assessed based on bandwidth used and the number of zones.

 

7.1 High Volume Tiered Pricing Discounts

Region First 10 TB
per month
Next 40 TB
per month
Next 100 TB
per month
Next 350 TB
per month
North America
Europe
$0.04/GB $0.03/GB $0.02/GB $0.01/GB
Asia
Oceania
$0.10/GB $0.08/GB $0.06/GB $0.03/GB
South Africa
South America
$0.14/GB $0.10/GB $0.08/GB $0.05/GB

It is important to remember that some providers charge a flat monthly fee while others charge based on the total bandwidth used by zone. Key CDN also has a minimum charge of $49 annually, so even if you use just $25 worth of bandwidth you will still be charged the minimum account fee.

Pricing Example

In the above example lets say you used 10 GB from each of the zones listed.

  1. 10 GB x 0.04 = $0.40
  2. 10 GB x 0.10 = $1.00
  3. 10 GB x 0.14 = $1.40Total Cost $2.80 monthly x 12 months= $33.60 ($49 Annual Min)

 

8. WordPress Bunny CDN Setup

Two methods exist to implement a CDN in WordPress and both work equally well. You can use a provider specific CDN from your provider or use an integrated caching plugin like WP Rocket. I use BunnyCDN because of their low fees and incredibly easy installation. I literally installed content delivery networks in less than 10 minutes. Lets take a look at what I did.

Garage Door Guide Cal
Hello, I’m Cal – owner of TitanWP.com    

I write tutorials about wordpress, speed, SEO and marketing, With over a decade of experience I’ve learned a lot and I’d like to share my knowledge with you.

Leave a Reply

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