If you are looking for a CDN that does not cost a fortune, then you should take a look at BunnyCDN.
In this review, we will look at the main features of BunnyCDN as well as how it helped to improve my page speeds. I am sharing my experiences after using their service for more than three months.
I came across BunnyCDN while looking for an affordable Content Delivery Network for my blogs. However, unlike Cloudflare or Stackpath, I hadn’t heard its name a lot.
So, I was a bit skeptical at first. After looking at the figures on CDNPerf, I decided that it’s worth a try.
BunnyCDN offers all the important features you expect from a typical CDN.
Edge Locations or PoPs
With a total of 36 data centers, Bunny has made its presence on six continents.
Here is a continent-wise breakdown of the number of data centers or edge locations:
- North America – 10
- South America – 1
- Europe – 12
- Africa – 1
- Asia – 6
- Oceania – 6
Pull Zones – Standard & Volume
A pull zone allows you to set the base URL on your domain from where the CDN has to cache files.
Configuring a pull zone involves two URLs:
- Origin URL
- Hostname or CDN URL
So, whenever a request hits a Hostname, the CDN checks if the file is available in the edge cache. If not, it pulls the file from your origin server and sends it to the user.
In addition to that, it saves that file on the edge location’s cache for future request. Thus, the next visitor from that region gets served faster.
Standard & Volume Tiers
BunnyCDN offers two types of Pull zones – Standard and Volume. Standard will be the best option for most sites.
Volume tier is specially optimized for caching large file like videos. However, it is available on certain edge locations only (see the image above).
Custom Domain with Let’s Encrypt SSL
Custom domain with CNAME is usually a must for a website’s CDN so that you don’t need to show a third-party URL to your visitors. It supports SSL also.
The default Hostname looks like:
With CNAME sub-domain support, you can set something like:
Storage zones offer a simple way to store your files using FTP. If you need a way to host your files outside your server, you can consider using this.
After connecting a pull zone with the storage zone, you can access the files as usual from the URL.
Storage zone allows API access also.
Statistics & Monitoring
Ability to know the usage statistics is a must-have for CDNs. With Bunny, it’s easy.
At the top of your pull zone page, you can see the three important metrics – bandwidth, requests, and cache hit rate.
Usually, your cache hit rate should around 70% or more. It may be lower during the initial days. But as more and more edge locations start caching your files, the rate should climb up.
In addition to this, the Statistics page show detailed information with line graphs and maps. You can filter metrics by date, location, and pull zone.
Apart from Statistics, the Logs section gives the details of each individual request. It includes HTTP status code, user’s IP, data center, and browser info. Looking at the logs can help to figure out problems easily.
How to Set Up
As we have looked at the features, now let us see how to integrate a website with BunnyCDN.
Step 1: Creating a Pull Zone
After signing up and logging in, head over to the Pull Zones page and click the Add Pull Zone button.
On the next page you have to set three things:
- URLs – Hostname & Origin – Give your site’s name as the hostname. For the Origin URL, enter your site’s domain. Alternately, if you want CDN on a certain folder only, add that to the domain name (eg., mysite.com/images).
Note: You can have multiple pull zones for different parts of your site.
- Standard or Volume Tier – Standard is the default choice. Keep it like that for most use cases.
- Prizing zones – Keep all the four zones checked if your visitors from all around the globe. Otherwise, you can uncheck any unnecessary zones.
South Africa and South America zones are more expensive than the other two. So, disabling it can reduce your bill amount a bit.
Finally, click the Add Pull Zone button to activate the newly added zone.
After that, you will see an instructions page describing the methods to integrate the Pull Zone with WordPress, Joomla, Drupal, or an HTML website.
Note down the URL of the newly created pull zone (looks like ****.b-cdn.net).
Then click on the Skip Instructions button to go access the Pull Zone’s Edit page.
Step 2: Setting a Custom domain
A custom sub-domain looks better than the default BunnyCDN URL. So, I recommend you to set that too before integrating with your site. If you prefer to do it later, skip to Step 4.
Adding the CNAME DNS Record
Before entering the sub-domain on BunnyCDN’s dashboard, you have to add the CNAME record from your domain’s DNS provider.
Open your domain’s DNS in a new tab. Then create a CNAME record and point it to the BunnyCDN URL you’ve got in the previous step (****.b-cdn.net). Enter an appropriate name for the host field (eg., cdn)
If you are confused about adding a CNAME, see this guide on GoDaddy. The process is similar for most providers.
Now, your sub-domain (cdn.yoursite.com) is pointing to ***.b-cdn.net.
Enter Subdomain as Hostname
Now, come back to your pull zone’s edit page on BunnyCDN. Under Add Custom Hostname, enter the new subdomain and click Add.
Now, the sub-domain appears under Linked Hostnames.
Step 3: Enabling SSL for the new Subdomain
BunnyCDN offers one-click Let’s Encrypt SSL certificates for sub-domains. If you wish, you can add a custom certificate from another authority also.
Step 4: Replacing links on your site
For the CDN to start caching, you have to replace the origin URLs with the new pull zone URLs.
Integrating with WordPress
With BunnyCDN’s WordPress plugin, integrating and enabling CDN is quite easy.
The first step is installing it from the WP dashboard.
After installing it, go to the settings page of the plugin. If you hadn’t set a custom sub-domain, just enter your pull zone’s name and click Enable.
Otherwise, if you had set a sub-domain as per the previous steps, click Switch to Advanced View.
Enter the sub-domain and click Enable.
Now, all settings are complete. Open your site and inspect one of the assets to ensure that you are seeing the new CDN URL.
Note: Be sure to purge any cache after enabling CDN. Otherwise, the old links can stay without changing.
Speed Tests – Before & After
A CDN is all about performance. So, what is the point of this review without some tests?
Test 1: Using sample HTML pages
For this test, I created two identical web pages.
On one, the assets (images, CSS, JS, and fonts) were loaded from the origin server (DigitalOcean). On the second, the assets were loaded from BunnyCDN.
Then I conducted multiple tests from multiple locations using GTMetrix to find the average page load times for each location as well as worldwide average.
These were the results:
As you can see, using BunnyCDN improved page speed by almost 37% (average). Somehow, South America (Sao Paulo) was slower with BunnyCDN.
Test 2: Using a WordPress site
Using demo sites for testing was enough to get an idea. However, since WordPress is so popular, that’s what most people want to know – how BunnyCDN speed up WordPress?
So I chose a WordPress site that was not well optimized. It also contained a few large images – perfect for testing a CDN.
These were the results:
- Average load time without CDN – 2.9s
- Average load time with BunnyCDN – 1.6s
With WordPress, BunnyCDN showed even better results with a 44% gain in speed. It confirmed the results from the previous test.
Also, according to the data from CDNPerf, it is faster that Stackpath and KeyCDN.
Affordable pricing is the main attractiveness of BunnyCDN. They also give a 14-day trial.
The price per GB starts at $0.010, which is one of the lowest among CDNs.
The payment is in the form of recharges.
That means, if you recharge your account with a certain amount, you need not pay again until that money is fully spent.
So, your credit card won’t be charged monthly. The minimum recharge amount is $10 though.
Currently they accept credit card and cryptocurrencies.
Currently, support tickets are the only way to request help. The account says that more options and a Clack channel are coming soon. They often post on Twitter with the latest news and for feature suggestions.
Apart from that, their knowledge base articles cover almost all topics related to Account setup and CDN configuration.
I haven’t faced any glitches during the journey with them for the last three months. So, there wasn’t any need to contact the Support.
Pros & Cons of BunnyCDN
These are the advantages and disadvantages I felt after using BunnyCDN.
- Above average speed and response times worldwide
- Easy to Set Up
- User-friendly dashboard
- Support options are less
- Slower when tested from South America
Conclusion – Do we recommend BunnyCDN?
Absolutely. If you are searching for a CDN with a low price tag and great speed, you should consider BunnyCDN. Regarding the cons, I honestly couldn’t find anything serious.
Do you use BunnyCDN? What is your experience? Share it in the comments.