Skip to content
Eudora Technology
Home  / Insights
Web & Hosting

CDNs, Caching and the Edge: Where Your Site Should Be Served From

Equipment inside the CMC Telecom data centre.
Photo: Data Center của CMC Telecom (2) by Daoducquan, CC BY-SA 4.0, via Wikimedia Commons

Put a CDN in front of your site, cache your images, CSS and JavaScript at the edge for a year, and leave your HTML on a short cache with a purge hook. That configuration costs between nothing and about fifty dollars a month for most business sites, takes an afternoon, and removes the single most common cause of a slow page for visitors who are not sitting near your server. Everything else in this article is detail and trade-offs.

Data center infrastructure in the United States
A CDN is other people’s computers in other people’s cities. The engineering question is only ever which of your bytes are allowed to live on them, and for how long.Photo: Data center infrastructure in the United States by DOE / National Renewable Energy Laboratory (NREL), Public domain, via Wikimedia Commons

What a CDN actually changes

A content delivery network keeps copies of your files on servers spread around the world, then answers each visitor from whichever of those servers is closest. That is the entire idea. The benefit is physics rather than cleverness: a request from Nairobi to a server in Frankfurt has to cross roughly 6,000 kilometres and back before a single byte of your page arrives, and no amount of PHP tuning shortens that trip.

There is a second benefit people notice later. The edge absorbs load. If a product launch or a news mention sends ten thousand people to one page in an hour, a cached page is served ten thousand times by the CDN and once by your origin. Your hosting plan never finds out it was busy. For small sites on shared hosting with a fixed number of PHP workers, that is often the difference between a good day and a 503 error.

The third benefit is protocol support you do not have to install. The Web Almanac’s 2024 CDN chapter measured 98% of CDN-served HTML requests on HTTP/2 or better, against 71% of requests served straight from origin servers. Brotli compression showed the same gap: 55.89% of CDN-served content used Brotli, compared with 41.83% from origins, where gzip is still the majority. Putting a CDN in front of an older stack is often the quickest path to modern transport without touching the stack itself.

Caching is the whole trick

Everything good about a CDN comes from the cache, so start by being honest about what can be cached. Images, fonts, stylesheets and compiled JavaScript never change under a given filename if you fingerprint them properly, which means they can sit at the edge for a year. That part is easy and nearly everybody gets it right.

HTML is where it gets interesting, and where most sites quietly give up. A marketing page that changes twice a month is being re-generated by your server on every single visit because the default configuration sends it with no cache headers at all. Give that page a short edge cache, one minute or ten, and add a purge call to whatever publishes your content. Now the CDN answers almost every visitor directly and your origin handles a trickle.

The number to watch is the cache hit ratio: the share of requests the edge answered without asking your server. Under 80% on a content site means something is wrong, usually a cookie, a query string or a Cache-Control: private header leaking from an application framework. A CDN that forwards six requests in ten to your origin has not made your site faster; it has added a hop.

Four things that silently break caching
  • Session cookies set on every response, including responses to anonymous visitors.
  • Analytics or campaign query strings treated as part of the cache key, so every ?utm_source= variant becomes a separate miss.
  • A Vary: User-Agent header, which splits your cache by browser string.
  • Plugins that call session_start() on page load, which forces a private response whether or not anybody is logged in.

Fix those four and the hit ratio usually climbs above 90% without any further work. If you want the wider picture on why this shows up in revenue rather than just in graphs, our piece on why website speed matters walks through the field data.

Roof of a data center featuring cooling towers and backup generators
Buildings like this are what a cache hit saves you from reaching. The further the nearest copy of your page is, the more a short edge cache is worth.Photo: Data center roof by Rsparks3, CC0, via Wikimedia Commons

What the crawl data says about who uses one

CDN adoption is lopsided in a way worth knowing, because it tells you where the easy wins still are. In the 2024 Web Almanac crawl, 33% of mobile HTML requests came through a CDN and 67% came straight from an origin server. Content loaded from subdomains was at 48%, and third-party content such as analytics and ad scripts was at 75%. In other words, the scripts other companies put on your site are more likely to be served from a nearby edge than your own pages are.

Adoption also tracks popularity closely. The same chapter put CDN usage at 70% for the top 1,000 sites by Chrome UX Report ranking, 69% for the top 10,000 and 60% for the top 100,000, with the figures for smaller sites lower again. The gap has been closing mainly because free tiers and bundled hosting CDNs have made the decision cheaper than the meeting about it.

Share of mobile requests served through a CDN, by content type (2024 crawl)
Third-party content75%
First-party subdomains48%
Base HTML pages33%
Source: HTTP Archive, Web Almanac 2024 CDN chapter. Desktop figures were identical.

The provider picture is concentrated. For base HTML requests the Almanac measured Cloudflare at 55%, Google at 23%, Amazon CloudFront at 6%, Fastly at 6% and Akamai at 2%, with Automattic and Vercel each on 1%. That concentration is why a single Cloudflare incident makes the news, and it is a reason to know how to turn your CDN off in a hurry as well as on.

What it costs, in real numbers

Bandwidth is priced per gigabyte delivered, and the spread between vendors is wider than most people expect. These are list prices from each vendor’s own pricing page, read in October 2026. Note the regional multipliers: serving Africa or India costs more than twice what serving Europe costs on Fastly, and the same pattern shows up everywhere.

RegionFastly, 100 GB-10 TBFastly, next 10 TBbunny.net standardbunny.net volume
North America$0.120$0.080$0.010$0.005
Europe$0.120$0.080$0.010$0.005
Asia$0.190$0.140$0.030$0.005
Australia$0.190$0.140$0.030$0.005
South America$0.190$0.140$0.045$0.005
India$0.280$0.240$0.030$0.005
Africa$0.280$0.240$0.060$0.005
Price per GB delivered, USD, from fastly.com/pricing and bunny.net/pricing, October 2026. Fastly’s first 100 GB each month is free. bunny.net’s standard network has 119 points of presence; the cheaper volume network has 10.

Run a realistic number through that. A busy small-business site with a lot of imagery might deliver five terabytes a month, almost all of it to Europe and North America. On bunny.net’s standard network that is about $50. On Fastly’s pay-as-you-go rates, after the free 100 GB, it is about $588. Both are real products from serious companies; they are priced for different customers.

Monthly list price to deliver 5 TB to Europe and North America
Fastly, pay as you go$588
Cloudflare Business, flat$250
bunny.net standard network$50
bunny.net volume network$25
CloudFront Pro flat-rate plan$15
Calculated from the vendors’ published prices in October 2026. Cloudflare Business is a flat $250 per month per domain billed monthly, with unmetered bandwidth; CloudFront’s Pro plan is $15 per month but caps at 10 million requests.

Those last two rows need a caveat, because flat plans hide their limits in request counts rather than gigabytes. AWS documents its CloudFront flat-rate plans as Free at $0 for one million requests and 100 GB, Pro at $15 for ten million requests and 50 TB, Business at $200 for 125 million requests, and Premium from $1,000 for 500 million requests. If your site serves a lot of small files, the request ceiling will bite long before the transfer allowance does.

Per gigabyte or per plan: pick the shape that matches your traffic

There are two pricing shapes in this market and the choice between them matters more than the choice of vendor. Metered per-gigabyte pricing is honest and scary: a viral week costs real money, and a misconfigured cache that re-fetches a video file costs more. Flat plans are predictable and sometimes wasteful, and they are the right answer for anybody who would rather not think about it.

Per gigabyte

bunny.net

$0.01/GB Europe and North America · $1 monthly minimum

The cheapest credible per-gigabyte pricing, with a separate ten-location volume network for large files.

  • An order of magnitude cheaper per GB than the enterprise CDNs
  • No request fees
  • All features on every account
  • Thinner presence in some regions
  • Fewer enterprise compliance options
Best for: Image-heavy sites and downloads on a budget
Per gigabyte

Fastly

$0.12/GB North America and Europe · first 100 GB free

Instant purge and deep configurability, priced for teams who treat the CDN as part of the application.

  • Instant global purge
  • Very fine-grained control
  • Generous free tier for prototyping
  • Expensive at volume on list prices
  • More to learn before it earns its keep
Best for: Engineering teams writing real logic at the edge
Flat or metered

Amazon CloudFront

Free $0 · Pro $15/mo · Business $200/mo

Bundled with AWS WAF, Route 53 and edge compute, and free to pull from an S3 or load-balancer origin.

  • No origin transfer charge from AWS services
  • Flat plans with no overage charges
  • Deep AWS integration
  • Request ceilings, not just transfer ceilings
  • Console is a lot of surface area for a small site
Best for: Sites already hosted on AWS

One more cost nobody quotes: the egress charge between your origin and the CDN. If your server is on a cloud provider, every cache miss pulls data out of that provider and onto the CDN, and that leg is billed separately unless the two are related. CloudFront pulling from S3 is free. Fastly pulling from the same bucket is not. On a site with a poor hit ratio, that line can outgrow the CDN bill itself.

The night-time light emissions of a data center viewed from 800 meters away
Bandwidth is sold by the gigabyte because it is delivered by physical sites like this one. Regional price differences follow where those sites are expensive to run.Photo: Le emissioni luminose notturne di un Data Center visto da lontano (800 metri) by Lapalmauz, CC BY-SA 4.0, via Wikimedia Commons

A cache policy you can live with

A policy that works for the overwhelming majority of business sites fits in four lines. Fingerprinted assets get a one-year immutable cache. HTML gets a short edge cache with an explicit purge on publish. Anything behind a login bypasses the cache entirely, matched on the session cookie rather than the URL. Everything else inherits the HTML rule.

  1. Assets: Cache-Control: public, max-age=31536000, immutable for files whose names contain a content hash. Never for files named style.css.
  2. HTML: a short edge cache, one to ten minutes, plus a purge webhook from your CMS. Visitors see fresh content; your origin sees one request per interval.
  3. Logged-in traffic: bypass on the presence of your session cookie. Match the cookie name explicitly so anonymous visitors keep getting cached pages.
  4. Query strings: strip campaign parameters from the cache key. They change nothing about the response and they fragment your cache.

Then measure. The 2025 Web Almanac put 55% of desktop sites and 44% of mobile sites in the good band for time to first byte, meaning under 0.8 seconds. The same chapter found secondary pages pass Core Web Vitals far more often than home pages, 61% against 47% on desktop, which it attributes largely to cached resources being available by then. A good cache policy moves your home page closer to how your second page already behaves.

A CDN with a 60% hit ratio is a proxy you are paying for. The configuration is the product.

What we tell clients before they compare vendors

When the edge earns its complexity

Edge compute runs small pieces of your code in the CDN’s locations rather than at your origin. It is genuinely useful for a narrow set of jobs: redirects and rewrites, geolocation, A/B test assignment, authentication checks on cached content, and stitching a personalised fragment into an otherwise cached page. It is a poor place to put your business logic, because debugging a distributed function is harder than debugging a server.

The pricing is approachable enough to be a trap. Cloudflare’s Workers free plan allows 100,000 requests a day with 10 milliseconds of CPU per invocation. The paid plan has a $5 monthly minimum, includes 10 million requests and 30 million CPU milliseconds, then charges $0.30 per additional million requests and $0.02 per additional million CPU milliseconds. Cloudflare’s own worked example puts a Worker serving 15 million requests at an average 7 milliseconds of CPU at $8.00 a month. Requests to static assets are free and unlimited.

Eight dollars is not the cost. The cost is that a year later part of your routing lives in a dashboard, nobody remembers writing it, and a deployment to your main application stops working for reasons that are not visible in your repository. Use the edge for things that genuinely must happen before the cache, and keep a comment in your codebase saying what is deployed there.

The short version for a small business site

If you run a brochure site, a blog or a small shop and you are not already behind a CDN, turn one on this week. Start with a free or flat plan so the bill cannot surprise you, fingerprint your assets, put a short cache on your HTML, and check your hit ratio a week later. If your audience is spread across continents, that single change will do more for perceived speed than any amount of theme optimisation.

If you deliver a lot of media, price the per-gigabyte options properly before you commit to a flat plan, because the gap between $0.01 and $0.12 per gigabyte compounds fast. And if you are choosing hosting at the same time, read the two decisions together: our guide to web hosting types covers which hosting tiers include a CDN and which expect you to bring your own. Design matters here too, because the heaviest thing on most pages is an image that was never sized for a phone, which is the subject of our mobile-first design guide.

33%
Of mobile HTML requests served via CDN, 2024
$0.01
Per GB, bunny.net, Europe and North America
90%
Cache hit ratio worth aiming for
$5
Monthly minimum, Cloudflare Workers Paid
Figures from the HTTP Archive 2024 CDN chapter and the vendors’ published pricing.
Microsoft Data Center in Middenmeer, the Netherlands in 2023
You are renting a slice of capacity in places like this. What you actually configure is how long your files are allowed to stay there.Photo: Microsoft Data Center Middenmeer, the Netherlands – 1 by Hay Kranen, CC BY 4.0, via Wikimedia Commons

Eudora Technology configures CDNs, cache rules and edge redirects remotely for clients in Europe, the Middle East, Asia, Africa and the Americas, including the part where somebody has to work out which plugin is setting a cookie on every page. Our web development and hosting page explains how that normally runs, and what we hand over at the end so you are not dependent on us to change a cache rule.

Frequently asked questions

Do I need a CDN if all my customers are in one country?

Usually not for speed, but often yes for resilience. Within a single country the round-trip saving is small, so the case rests on absorbing traffic spikes, surviving a bad afternoon on your shared host, and getting HTTP/3 and Brotli without touching your server. If your hosting plan already bundles a CDN, switch it on and spend your effort on the cache rules instead.

Will a CDN break my WordPress admin or my checkout?

Not if you bypass the cache on your session cookie and on the admin and checkout paths. Breakage nearly always comes from caching a page that should have been private, which is a rule problem rather than a CDN problem. Test logged in and logged out, in a private window, before you call it done.

What cache hit ratio should I expect?

Above 90% for a content site with HTML caching enabled, and 80% or better for a site that only caches assets. If you are below 60%, stop comparing vendors and go looking for a cookie, a Vary header or a query string in your cache key. The ratio is in every CDN’s analytics screen and it is the one number worth checking monthly.

Is the cheapest per-gigabyte CDN good enough?

For images, downloads and static sites, generally yes. The expensive networks buy you more points of presence in harder regions, instant purge at scale, finer configuration and enterprise compliance paperwork. If none of those sentences describes a problem you have, the cheap option is the right one and you can move later.

Does a CDN help my search rankings?

Indirectly. Core Web Vitals are a ranking signal and a CDN improves time to first byte, which feeds into Largest Contentful Paint. There is no bonus for using a CDN as such. Treat it as one of several things that make the page faster, not as an SEO product.

If your site is slow for visitors on the other side of the world and you are not sure whether the cache is doing anything, we can audit the headers and the hit ratio and tell you plainly what to change. Get in touch with Eudora Technology to talk about your project.

Sources

  1. Web Almanac 2024, CDN chapter HTTP Archive · published 11 November 2024
  2. Web Almanac 2025, Performance chapter HTTP Archive · published 15 January 2026
  3. Fastly pricing Fastly · retrieved October 2026
  4. bunny.net pricing bunny.net · retrieved October 2026
  5. CloudFront Flat-Rate Plans AWS documentation · retrieved October 2026
  6. Cloudflare plans and pricing Cloudflare · retrieved October 2026
  7. Workers pricing Cloudflare Developers · retrieved October 2026
Keep reading

Related insights