12 Best WordPress CDNs Based On Performance, Reliability, Compatibility

Best wordpress cdns

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!

  1. Cloudflare Enterprise on Rocket.net
  2. Cloudways Enterprise on FlyingProxy
  3. Cloudflare Enterprise on Cloudways
  4. Cloudflare + APO
  5. QUIC.cloud
  6. SiteGround CDN
  7. Cloudfront
  8. BunnyCDN
  9. KeyCDN
  10. 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.

Cloudflare proxy
Most Cloudflare features require traffic to be proxied through their CDN
Cloudflare free vs pro vs business vs enterprise performance
There are major differences between free vs. paid plans in terms of speed, security, WAF, etc


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 network
BunnyCDN’s 93 PoPs with 80 Tbps+ (faster than StackPath’s 65+ Tbps)

Cloudflare with bunnycdn

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.

Bunnycdn geo replication
Enable Geo Replication and select the storage zones you want


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.

Bunnycdn wordpress setup instructions
Add pull zone name to BunnyCDN’s plugin and paste CDN Domain into your cache plugin’s CDN settings


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 documentationpricing 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.

Flyingcdn features
FlyingPress uses BunnyCDN for a fraction of the cost
You would setup/manage FlyingCDN in your FlyingCDN account
Bandwidth Usage Monthly Charge
0 to 100 GB $3
100 to 200 GB $6
200 to 300 GB $9
WebPxResize images for mobilex

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 pop network
QUIC.cloud PoPs (70 total, but only 6 used on free plan)

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.

Google cloud cdn

Google cloud cdn pops
Google Cloud CDN has 100+ PoPs


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.

Amazon cloudfront

Amazon cloudfront data centers
Amazon has the largest number of PoPs of all CDNs

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.

Bunnycdn vs keycdn

Keycdn network
KeyCDN only has 40 PoPs

KeyCDN Pricing

per month
per month
per month
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 data centers
StackPath has less locations and slower Tbps compared to BunnyCDN

Rocketcdn review

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.

Siteground cdn free vs premium



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.

Wpx xdn

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.

Statically wordpress cdn


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.

Sucuri pop locations
Sucuri has a limited number of 12 locations for their CDN/firewall


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.

Jetpack wordpress 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.

Wordpress cdn test
Monthly CDN performance/uptimes can be seen on cdnperf.com


You Might Also Like:


  1. 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.

  2. 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.

  3. 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.


Leave a Comment