Gone are the days where CDNs were reserved for large media and news websites. Back in those days, you had to know someone to even get Akamai to return your calls and the CDN implementation took months. Today, CDNs are practically free and take minutes to configure.
Although this is a good thing for the industry in general, not all CDN providers are equal. If you are wondering, “why do I need a CDN? All 7 of my site visitors live in the same city…” think beyond the global caching.
These days, CDNs offer so much more than just raw speed. Most providers have some kind of DDoS protection, web application firewalls, and image manipulation on demand.
At Nestify we have come across a fair number of CDN providers. Let’s look at the top choices and what they bring to the table for WordPress.
There are no affiliate links in this article. The providers listed here are more common in the WordPress landscape compared to others.
For each provider, we’ll look at the good, the bad, and the ugly, their pricing, and gotchas when it comes to WordPress.
Founded in 2009, Cloudflare is one of the pioneers of the ‘CDN for everyone’ movement. Cloudflare gained popularity and adoption through its unlimited free plan. Today, more than 7.5 million websites use Cloudflare for CDN, DDoS protection, and performance optimization.
Cloudflare provides a generous free plan that includes CDN, DNS, DDoS protection, some basic web application firewall features, and bot defense. If you sign up for one of their paid plans, you also get image optimization, edge caching, and better speeds.
Cloudflare’s free plan comes with no guarantees of speed or caching. While it may be good enough for some sites, you really need to be on the Business plan or higher to get consistent performance.
One thing I’ve noticed is that more often than not, Cloudflare will serve content, not from the nearest edge location, but the one that has more spare capacity. What this means is that when accessing a Cloudflare-enabled site from the Midwest, you can and will get a response from Orlando instead of getting connected to Chicago.
Cloudflare says that their Business and higher plans get priority routing, but even their own website often responds from 2 states over, while ignoring the nearby edge locations.
If you do a lot of WordPress development, you may have noticed this. Cloudflare can be very aggressive with caching static files. Now it does have an option to purge cache, minimize cache TTL, and so on, but sometimes the only thing that works is pausing Cloudflare while you work on the site. While this works well enough, you also miss out on the caching and performance benefits while Cloudflare has the developer mode enabled.
If you are on Cloudflare Pro or higher plans, you get access to the image optimization and WebP conversion feature. The catch is that Cloudflare will only serve optimized images if they are smaller than the original image. Sound logic, but often you are left with more than half of the images not converting to WebP, and then Google complains about core web vitals.
Cloudflare has plans ranging from Free to thousands of dollars per month. Most small websites can benefit from the free or Pro plan, which costs $20. Cloudflare doesn’t charge bandwidth fees unless you exceed several TB of usage in a short period of time. If you need the pro features on 25 sites, you would need to purchase 25 pro subscriptions at a cost of $500 per month.
Cloudflare provides a WordPress plugin for easy integration, tools to protect WordPress from brute force attacks, and image optimization on their paid plans. But the most popular feature has to be their Automatic Platform Optimization. For just $5 Cloudflare will cache your WordPress site to its edge locations and serve it to the visitors. This provides a nice enough performance boost for most WordPress sites. To set this up, you just need to install the Cloudflare WordPress plugin and click a few buttons on the dashboard.
Should you use it?
Yes. Despite the minor annoyances, Cloudflare brings more to the table to protect and optimize WordPress sites. Even on the free plan, you’ll benefit from using it.
Cloudfront started as a competitor to Akamai, but their pricing made it a no-brainer for even the casual users. Today, Cloudfront has over 300+ edge locations and a consistent performance which makes it a serious contender in the CDN market.
When configured properly, Cloudfront can seriously boost site performance. Unlike Cloudflare, Cloudfront will also cache your site’s HTML responses by default, making it very fast. It provides a wide range of options to control site cache and the cache lifetime. If you are good with coding, Cloudfront also supports edge computing to alter server responses on the fly. Cloudfront also comes with Amazon’s DDoS protection at no additional cost.
By default, Cloudfront has no option for image optimization. WordPress integration is not straightforward. If you don’t configure Cloudfront correctly, most of your visitors will see uncached responses, negating any benefit of a CDN.
Pointing a domain name to Cloudfront is not simple either. Unless your DNS provider supports using CNAME records for the root domain, CDN coverage for your site will be limited to www.yourdomain.com and other subdomains. Plus you need to use AWS Certificate manager to generate SSL for your domains.
Setting up Cloudfront correctly is fairly difficult. If you listen to AWS and use a ‘Cache Everything’ policy, it will also store wp-admin and dynamic pages in the cache for everyone to see. If you select a more lax policy, it will drop some WordPress authorization headers that will break WooCommerce and Elementor among other things. But once you fine-tune everything, Cloudfront will keep humming along nicely.
Cloudfront only charges for bandwidth usage beyond 1 TB per month. If your sites don’t have heavy traffic, you can use Cloudfront practically free. Even if you have moderate to heavy traffic, Cloudfront can cost equal to or less than Cloudflare pro. If you need to use Cloudfront on 25 sites, you would only pay for the combined bandwidth utilization and nothing else. If all of these sites use less than 1 TB of bandwidth per month, you won’t have to pay anything to AWS.
Cloudfront has no WordPress-specific features. You need to use third-party plugins such as C3 Cloudfront Cache Controller to automatically flush cache on content updates.
Should you use Cloudfront?
It depends. If your site is hosted on AWS, then using Cloudfront is a no-brainer. If you are hosting somewhere else, there are better options for a CDN.
A scrappy new entrant in the CDN market, BunnyCDN has gained popularity with its low price, decent speed, and wide feature set. BunnyCDN is easy to start and offers decent customization options for advanced users.
BunnyCDN has 94 edge locations. Although this is less than Cloudflare or Cloudfront, these locations cover major cities around the world and provide snappy responses. Bunny also has options to ensure a high cache hit rate. One of them is ‘Origin Shield’, which keeps your files cached on Bunny servers, reducing requests to your server. It also provides image optimization that actually works, but for a flat monthly fee.
BunnyCDN makes it very difficult to cache WordPress pages while bypassing dynamic content. Unlike Cloudflare or Cloudfront, there are no out-of-the-box options to use BunnyCDN as a cache replacement for WordPress or WooCommerce. Given this limitation, you are limited to using it as a CDN for static files, such as images, css, js, pdfs etc.
Similar to Cloudfront, BunnyCDN provides a unique hostname for each CDN zone. More often than not, this hostname uses b-cdn.net domain name. This domain gets blacklisted on Google from time to time, resulting in Chrome showing warnings to your site’s visitors. You can get around this by using a custom domain name for the CDN zone, but that adds another item to the to-do list.
If you use Cloudflare on your site and BunnyCDN for the static files, you can run into issues where Cloudflare blocks traffic from Bunny IPs, resulting in unexplained errors, as well as Google search console complaining about your site’s responsiveness.
Similar to Cloudfront, BunnyCDN also only charges for bandwidth cost, but has a monthly minimum spend of $0.99. It has one of the cheapest bandwidth fees, including an option to only use low-cost edge locations. If you use Bunny Optimizer for converting images to WebP, you’ll need to pay an additional $9.99 per month. To use BunnyCDN on 25 sites you will only pay for the bandwidth utilization. If you need Bunny optimizer for all 25 sites, you’ll need to purchase it separately for each site, at a total cost of $9.99×25 = $249.75
WordPress-specific features: Although not specific to WordPress, Bunny optimizer can provide a decent boost to your site’s core web vitals. BunnyCDN comes with a WordPress plugin to facilitate integration and cache purge.
Should you use BunnyCDN?
It depends. If you already have a solution to optimize your site images, then BunnyCDN won’t bring much to the table. It can be a good way to minimize your AWS bandwidth costs though.
Founded in 2019, Quic.cloud is Litespeed’s own CDN solution. Although you can use it for sites hosted on any server, it’s not very popular outside Litespeed community.
Quic.cloud has a number of speed optimization features, including critical CSS generation, image optimization, and WordPress security. Quic.cloud also has a decent free tier that can be useful for low-traffic WordPress sites.
Almost everything at Quic.cloud depends on the litespeed-cache plugin. While technically you can use this plugin on any server, most people don’t know that. It has a limited number of edge locations (70), and the performance is ok at best.
Quic.cloud has an unusual integration method. First, you need to request an api key from the litespeed-cache plugin, then link it to your Quic.cloud account. Integration documentation is sparse, and the onboarding process is tedious. It has started providing DNS hosting to minimize some of the integration hassles, but it feels like a beta service.
Although quic.cloud has a good free tier, it can be a challenge to figure out your monthly cost with their credit system. The bandwidth cost is roughly similar to BunnyCDN, and you pay separately for other online services, such as critical css or image optimization. To use quic.cloud on 25 WordPress sites you will need to only pay for the bandwidth fees and online service utilization. If you host these sites on a Litespeed server, you may be able to get away with just the free tier.
Quic.cloud is primarily designed for WordPress optimization and has a tightly knit integration plugin. It can be fairly powerful when configured correctly.
Should you use quic.cloud?
If your sites are already hosted on Litespeed server, then sure. If you don’t use Litespeed server, having to use its plugin can be a hassle when there are other options out there.
There you have it. 4 most commonly mentioned CDN providers and their pros and cons. We didn’t include some other popular providers like StackPath and KeyCDN, mainly because they are generic CDN providers with no WordPress-specific features. At Nestify, we heavily use all 4 CDN providers mentioned in this article. If you want to use any of these for your WordPress sites, check out our managed WordPress hosting that comes with Cloudflare and BunnyCDN at no additional cost.