You probably know about cdnperf.com, but don’t choose a CDN just based on that.
It doesn’t include many CDNs, number of PoPs, free vs. paid plans (i.e. Cloudflare Enterprise), price, and whether they include features like HTML caching, geo-replication, security features, and other things you should really consider outside of a simplified performance/uptime graph.
I’ve taken all these into account and ranked the best WordPress CDNs based on way too many hours of research as well as my own experience using Cloudflare, BunnyCDN, StackPath, and testing several others. For the record, I’m using Cloudflare Enterprise on Rocket.net. You can test my site in KeyCDN’s performance test which measures TTFB and other metrics in 10 global locations. I hope it helps with your choice. CDNs (and full page caching) are a key part of TTFB!
- Cloudflare Enterprise on Rocket.net
- Cloudways Enterprise on FlyingProxy
- Cloudflare Enterprise on Cloudways
- Cloudflare + APO
- QUIC.cloud
- SiteGround CDN
- Cloudfront
- BunnyCDN
- KeyCDN
- RocketCDN
CDN | PoPs | Price | Rating |
---|---|---|---|
Cloudflare | 270 | Freemium | 2.5 |
BunnyCDN | 93 | $.01 – $.06/GB | 4.7 |
QUIC.cloud | 70 | Free or $.02 – $.08/GB | 3.0 |
Google Cloud CDN | 100+ | Varies where purchased | N/A |
CloudFront | 310 | Free 50GB/yr then $0.02 – $.16/GB | 4.4 |
KeyCDN | 40 | $.01 – $.11/GB | 4.5 |
StackPath + RocketCDN | 50 | Varies where purchased or $7.99/mo | 2.2 |
SiteGround CDN | 14 | Free on SiteGround | N/A |
WPX XDN | 25 | Free on WPX | N/A |
Statically | Multi-CDN | Free | 4.5 |
Sucuri | 12 | $9.99/mo | 2.5 |
JetPack CDN | Unknown | Free | 3.2 |
1. Cloudflare
It’s hard to beat Cloudflare, especially Cloudflare Enterprise.
Cloudflare Enterprise
The first thing to decide is whether you’re setting up Cloudflare directly or using a third-party service like Cloudflare Enterprise (available on some hosts) or FlyingProxy. If yes, there’s no need to setup Cloudflare directly (or setup the dashboard) since it’s integrated into the service.
Cloudflare Enterprise has quite a few benefits: prioritized routing, more PoPs, WAF, full page caching, Argo + Tiered Cache, and load balancing. However, it completely depends on which third-party service you use and what Enterprise features they have. For example, Rocket.net offers full page caching while Cloudways/Kinsta don’t. It also comes with Argo + Tiered Cache and load balancing while FlyingProxy doesn’t (however, FlyingProxy can be used on any host). Rocket.net’s is free while Cloudways costs an extra $5/month with annoying challenge pages.
Rocket.net and FlyingProxy seem to be the best 2 places to get Cloudflare Enterprise and you can read Gijo & Ben’s responses to how they’re different. If you don’t plan on using Cloudflare Enterprise through a third-party services, follow the instructions below to setup the dashboard.
Free Cloudflare Features
- DNS – one of the fastest and most reliable DNS providers on dnsperf.com.
- CDN – in your DNS settings, change your website from DNS only to proxied.
- TLS 1.3 – fastest TLS protocol (I recommend setting min. TLS version to 1.2).
- Bot Fight Mode – block spam bots which are logged into your firewall events.
- Early Hints – early preload/preconnect hints which improves server wait time.
- Crawler Hints – tells crawlers if content is updated to prevent wasteful crawls.
- Page Rules – here’s a screenshot of 3 common page rules for WordPress sites.
- Firewall Rules – another screenshot of 4 common firewall rules for WordPress.
- HTTP/3 With QUIC – delivers website from faster HTTP/3 (use a HTTP/3 test).
- Hotlink Protection – stops websites from copying images and using bandwidth.
- Zaraz – offloads third-party scripts to Cloudflare (Google Analytics, Ads, others).
- SXGs – prefetches content so it loads faster when your site is clicked in Google.
Paid Cloudflare Add-ons
- APO – caches HTML and can give you a fast TTFB worldwide (view guide).
- Argo – avoids congestion by routing traffic through fastest network paths.
- TCP Turbo – automatic TCP settings and optimizations to reduce latency.
- Load Balancing – traffic is re-routed to healthier and faster origin servers. It’s also known as geo-based routing and is similar to the BunnyCDN perma-cache feature.
- Rate Limiting – protects site + reduces bandwidth by stopping excessive requests.
Free vs. Paid Plans
- Free – arguably the best free CDN you’ll find (QUIC has a free plan but only uses 6 PoPs while even Cloudflare’s free plan uses 270 data centers with many features).
- Pro – APO, TCP Turbo, image optimization (Polish, Mirage, image resizing, mobile optimization), super bot fight mode, more analytics, and more page, WAF, rate limiting, and user agent blocking rules. Worth $20/mo if you know how to use it.
- Business – cache bypass on cookie, upload your own SSL, Regex firewall rules, custom nameservers, more compliance options, and basically more of everything.
- Enterprise – global load balancing (geo-based routing), DDoS mitigation, more purging options, prefetching, custom cache keys, more header options, paid domain protection add-on, more SSL/bot options, and even more of everything. Includes everything from lower paid plans. As I mentioned, third-party services only include some Enterprise features, so make sure to check their list of features.


2. BunnyCDN
Many people use BunnyCDN on top of Cloudflare.
In a Facebook post, Gijo Varghese from WP Speed Matters explains how using BunnyCDN with Cloudflare leads to a better cache/hit ratio and BunnyCDN’s geo-replication reduces latency for cache-miss requests. Since a lot of your bandwidth should already be offloaded to Cloudflare, using BunnyCDN shouldn’t cost as much (especially if you use FlyingCDN). They’re also highly recommended in Facebook Groups with consistent performance and reliability on cdnperf.com.

BunnyCDN Features
- Perma-cache – also known as geo-replication, this stores content to BunnyCDN’s storage zones so content is pulled from the closest zone (reducing latency + origin requests). There are 5 storage zones and this is arguably their most critical feature. To use all 5 replicated regions, it costs $0.045/GB (my site’s files are only 1.35GB).
- Bunny Optimizer – minify CSS/JS and optimize images (compression, resizing, WebP). But costs $9.50/mo so you’re likely better off using Cloudflare for image optimization (Polish, Mirage) or FlyingCDN which has Bunny Optimizer built-in.
- SafeHop – if an origin request fails, it will try to reconnect (improves reliability).
- Security Settings – several security settings which can block unwanted requests.
- Traffic Manager – allow, block, or redirect countries from accessing their servers.
- Edge Rules – there are various things you can do in edge rules. A common rule is to redirect the b-cdn.net hostname to a custom hostname (cdn.mywebsite.com).
- Hotlink Protection – to enable hotlink protection in BunnyCDN and stop people from stealing your bandwidth, add your website to “allowed referrers” to only give your site access to the pull zone while blocking other requests, referrers, and IPs.
- Network Limits – set bandwidth, requests, and other limits to control CDN costs.

Pricing
BunnyCDN’s pricing is regional-based. Perma-cache is $0.045/GB for 5 storage zones, and Bunny Optimizer is $9.50/mo. If you use edge rules, the first few rules are free then cost $1/mo per rule.
Europe & North America | Asia & Oceania | South America | Middle East & Africa |
---|---|---|---|
$0.01 /GB | $0.03 /GB | $0.045 /GB | $0.06 /GB |
Setting Up BunnyCDN
BunnyCDN has setup instructions which are easy using the BunnyCDN plugin. You will create a pull zone, select your regions, and they will provide you with a pull zone name and CDN URL. Install the BunnyCDN plugin and enter your pull zone name. Next, add your CDN URL to your cache plugin’s CDN settings (this helps rewrite even more files to be served from BunnyCDN). Purge the cache and view your source code to make sure files are being served from BunnyCDN.

FlyingCDN
FlyingCDN uses BunnyCDN and is not only cheaper than BunnyCDN, but it also has perma-cache and Bunny Optimizer built-in. I don’t know how Gijo pulled off this kind of deal, but it’s what I’m currently using on top of Cloudflare. The documentation + pricing is on his website.
You’ll add money to your FlyingCDN account (remember to recharge it when your balance is low), use a custom domain if you want, add a CNAME record to your DNS, then add your CDN URL to FlyingPress while selecting the types of files you want served. It’s cheap, easy, and fast.
On a side note, I would also rate FlyingPress as the #1 cache plugin right now over WP Rocket.


Bandwidth Usage | Monthly Charge |
---|---|
0 to 100 GB | $3 |
100 to 200 GB | $6 |
200 to 300 GB | $9 |
RocketCDN | FlyingCDN | |
---|---|---|
CDN provider | StackPath | BunnyCDN |
PoPs | 60 | 93 |
Tbps | 65 | 80 |
Geo-replication | x | ✓ |
Image compression | x | ✓ |
3. QUIC.cloud CDN
QUIC.cloud is built specifically for LiteSpeed.
QUIC’s free plan only uses 6 PoPs while their standard (paid) plan uses all 70 PoPs with similar region pricing as BunnyCDN (and includes DDoS protection). However, a key benefit of QUIC is HTML caching which is basically like Cloudflare’s APO. While it’s built specifically for LiteSpeed and WordPress, it still lacks PoPs and many features offered by other CDNs, which is why it’s #3.

QUIC.cloud Features
- HTML caching – just like Cloudflare’s APO caches HTML, so does QUIC. This can improve your TTFB in multiple global locations when testing your site in KeyCDN.
- DNS – QUICk cloud uses their own DNS but I would personally use Cloudflare’s.
- True HTTP/3 – Cloudflare isn’t which pulls from HTTP/2 and delivers it HTTP/3.
- CSS Optimizations – critical CSS (CCSS) and unique CSS (UCSS) load above the fold CSS faster and removes unused CSS to improve first paint + reduces CSS files.
- LQIP – reduces layout shifts by blurring/minifying original images and replacing them with a lower quality image placeholder (not the gray box when lazy loading).
- DDoS Protection – QUIC’s standard plan includes DDoS protection (free doesn’t).
Quic.cloud Pricing
It’s region-based pricing similar to BunnyCDN which you’ll purchase credits for. They also use tiers (non-LiteSpeed, LiteSpeed server, LiteSpeed Enterprise, QUIC partner) where each tier gets a higher quota (free credits), so this will depend on what type of plan you or your host are using.
Region | Cost per GB in USD |
---|---|
North America | $0.02 |
Europe | $0.02 |
Russia | $0.04 |
Latin America | $0.08 |
Asia | $0.08 |
Oceania | $0.08 |
Middle East | $0.08 |
Africa | $0.08 |
Setting Up QUIC.cloud
Here are setup instructions.
You will use LiteSpeed Cache to request a domain key, enter your server IP. then enable QUIC (without CDN mapping). After you’re linked to QUIC.cloud, go to the QUIC dashboard, click your domain, then go to CDN → Enable CDN. Choose your setup method (using QUIC.cloud DNS, Cloudflare, or CNAME) then follow QUIC’s setup instructions. Once that’s done, make sure you configure QUIC’s settings by enabling static cache, QUIC backend, and other features you want.
4. Google Cloud CDN
Google is usually in the top 3 fastest CDNs on cdnperf.com.
The problem is there’s only a handful of WordPress hosts who use Google Cloud platform, let alone Google Cloud’s CDN (most of them use Cloudflare, StackPath, etc). Due to the lack of availability, I had to push Google Cloud CDN to #4. But if it’s available, you probably should use it. It uses anycast IP, HTTP/2 and QUIC, and modern protocols developed by Google themselves.
To my knowledge, Closte is one of the only popular hosts that use Google Cloud CDN. Otherwise, this probably won’t be an option for you and you’ll need to use a different CDN.

5. CloudFront
Amazon CloudFront is also another performant CDN cdnperf.com.
But they’re not as easy to setup as other CDNs (so use the video tutorial below or see written instructions). You would create an S3 bucket, then create a CloudFront distribution. They also have their AWS for WordPress plugin and 310+ POPs which is about 60 more than Cloudflare.

Cloudfront Pricing
Per Month | US, Mexico, Canada | Europe and Israel | South Africa, Kenya, Middle East | South America | Japan | Australia, New Zealand | Hong Kong, Indonesia, Philippines, Singapore, South Korea, Taiwan, Thailand | India |
First 10TB | $0.085 | $0.085 | $0.110 | $0.110 | $0.114 | $0.114 | $0.120 | $0.109 |
Next 40TB | $0.080 | $0.080 | $0.105 | $0.105 | $0.089 | $0.098 | $0.100 | $0.085 |
Next 100TB | $0.060 | $0.060 | $0.090 | $0.090 | $0.086 | $0.094 | $0.095 | $0.082 |
Next 350TB | $0.040 | $0.040 | $0.080 | $0.080 | $0.084 | $0.092 | $0.090 | $0.080 |
Next 524TB | $0.030 | $0.030 | $0.060 | $0.060 | $0.080 | $0.090 | $0.080 | $0.078 |
Next 4PB | $0.025 | $0.025 | $0.050 | $0.050 | $0.070 | $0.085 | $0.070 | $0.075 |
Over 5PB | $0.020 | $0.020 | $0.040 | $0.040 | $0.060 | $0.080 | $0.060 | $0.072 |
6. KeyCDN
KeyCDN is another consistently performant CDN with great reviews on TrustPilot, but it’s more expensive with less data centers than BunnyCDN.
Most of KeyCDN’s data centers are located in Europe, so it would mostly make sense if that’s where most visitors are. They also developed the CDN Enabler plugin which rewrites CSS, JavaScript, and images so they’re served from a CDN, although the plugin has poor reviews.
KeyCDN’s performance test is a great tool that measures TTFB in 10 global locations. This is a better way of measuring your TTFB than the single location in other testing tools like GTmetrix.

KeyCDN Pricing
REGION | FIRST 10 TB per month |
NEXT 40 TB per month |
NEXT 50 TB per month |
OVER 100 TB per month |
---|---|---|---|---|
North AmericaEurope | $0.04/GB | $0.03/GB | $0.02/GB | $0.01/GB |
AsiaOceania | $0.09/GB | $0.06/GB | $0.04/GB | $0.02/GB |
AfricaLatin America | $0.11/GB | $0.08/GB | $0.06/GB | $0.04/GB |
7. StackPath + RocketCDN
StackPath is a CDN also used by RocketCDN (WP Rocket).
On their network page, you can see they have slower Tbps speeds and less PoPs than most CDNs. They also had major issues are were removed from cdnperf.com.
RocketCDN is even worse since it is only a CDN which comes with no extra features (like geo-replication or Bunny Optimizer on BunnyCDN). They make it very easy to set up through WP Rocket, but that doesn’t mean it’s good. There are better options out there than both of these.

StackPath + RocketCDN Pricing
StackPath’s pricing depends where you get it from, but I assume you’re referring to WP Rocket’s RocketCDN which uses StackPath.
WP Rocket advertises $7.99/mo for unlimited bandwidth but I think it’s deceptive of them considering your bandwidth is limited. It’s the same concept for hosting: anyone advertising “unlimited” of something… it’s misleading and not true. Between this type of bad advertising and the fact that StackPath only has 50 data centers with 65 Tbps, I would use something else.
8. SiteGround CDN
The first thing to know is that you have to use SiteGround’s DNS to use their CDN which was blocked by Google for 4 days and caused a lot of money/rankings to be lost by customers. It only has 14 PoPs and the free version has just 10GB of bandwidth without dynamic caching.
You might know I’m not a fan of SiteGround but I still try to give their products a fair shot. However, gives their track record I personally wouldn’t try my blog on it. They also have a history of releasing things prematurely, squashing bugs, and trying to cover up their tracks.
Use at your own risk.
9. WPX XDN
XDN is a free CDN you can use with WPX Hosting.
The only “benchmark” they give is a GTmetrix report of the CEO’s homepage and they don’t list how many PoPs or other technical specs about the CDN (which is usually a red flag to me). Since WPX uses LiteSpeed servers, you might want to use QUIC.cloud (standard) or Cloudflare instead.
XDN’s data centers are listed on their blog:
New York/Jersey, USA (x2) | Miami, USA | Paris, France |
Chicago, USA (x3) | Toronto, Canada | Tokyo, Japan |
Dallas, USA | Amsterdam, Netherlands (x2) | Singapore |
Seattle, USA | London, UK | Mumbai, India |
Los Angeles, USA | Manchester, UK | Johannesburg, South Africa |
Ashburn, USA | Frankfurt, Germany (x2) | Sofia, Bulgaria |
Atlanta, USA | Moscow, Russia | Sao Paulo, Brazil |
Kansas City, USA | Sydney, Australia | Madrid, Spain |
Silicon Valley, USA | – | – |
10. Statically
Statically is a free CDN you can setup using their plugin.
It can serve images, CSS, JavaScript, fonts, and even OpenGraph images from their CDN. Statically is also a multi-CDN which means the CDN provider is chosen based on which CDN has good “health and performance.” and is chosen from Cloudflare, Fastly, BunnyCDN, Google Cloud, and CloudFront. Statically is also used by the Flying Images plugin from Gijo Varghese.
11. Sucuri CDN
Sucuri is a security service at heart so I would personally lean towards a company that specializes in the CDN field, or at least speed optimization. Plus, they only have 14 locations which is unattractive. I haven’t had a chance to try their CDN, just know it’s not widely used.

12. JetPack CDN
JetPack’s CDN is another option, but I never recommend using JetPack.
It’s a slow plugin with features you probably don’t need. If you’re using JetPack, learn which features you’re using and install other plugins (or do things manually), then delete it. If you insist on trying it, it can serve images, photos, CSS, and static JavaScript files from their CDN.
Do You Agree?
Do you agree with these CDN rankings? I’d love to hear your own experience in the comments. And of course, any suggestions you would like to see me add to this guide are always welcome.



Cheers,
Tom
Do you think I can get good performance if I used Cloudways + FlyingPress + Flying CDN (without the cloudflare enterprise option)?
You should be able to get good results still since FlyingCDN includes BunnyCDN Optimizer which takes care of most image optimizations done by Mirage/Polish on Cloudflare Enterprise. One main thing is you won’t have is full page caching since Cloudways still doesn’t support it even though they’ve said “coming soon” for I don’t know, a year now? No full page caching = slower TTFB and while Cloudways’ CF Enterprise helps between all the other Enterprise features, not sure why it’s taking them so long to add this.
Just spent some time perusing the stats of top CDN providers on CDNPerf. I guess some of them are enterprise only players as their sites have no pricing data; e.g. Limelight, Akamai.
This article is showing as being updated February 21, 2022…however you are STILL recommending a plugin (CDN Rewrite) that has not been updated in over 6 years.
This will be updated after my new website is launched. It’s already been fixed on the staging site. Going through almost every article and updating it.