Cloudflare surely is amongst the best CDN providers. But for websites with low traffic/visitors, Cloudflare CDN isn't always the best idea. And by low traffic, I mean less than a few thousand visitors per month. I know that they have an awesome CDN which is also free. But for a low traffic website, you can actually get better results by using a different type of CDN or even by not using a CDN at all.
How Does Cloudflare CDN Work?
Let's get one thing out of the way. Cloudflare isn't like most other CDN providers. It is something called a reverse proxy CDN.
In short, Reverse Proxy CDN works as a middleman between your website and your website visitors. So, when someone makes any request to view your web pages, CloudFare is the one that servers those pages to the visitors. And for doing so Cloudflare reaches out to your web server and gets those webpages first and then serves those pages to the visitors. So, no direct communication happens between your web server and your website visitors. CloudFare takes over the charge.
Now, after getting your web page for the first time, CloudFare will cache/save the page to its data center. So, when that same web page is requested again by any visitors, Cloudflare will serve that page from its own data center without needing to get the webpage from your server. This process will consequently reduce the load on your web server.
Additionally, Cloudflare has over 200 data centers all over the world. So, when someone makes any request to view your website, the website is served from the data center that is closest to the visitor. This effectively reduces the distance between your website and your website visitors which in turn makes your site load faster.
As you see Cloudflare CDN is just so awesome. But there is a catch that affects low traffic websites.
Why Cloudflare CDN Isn't Good For Low Traffic Websites?
In order to server webpages to the visitors, Cloudflare first gets those webpages and the assets (HTML, CSS, JS, Image, etc.) from your web server then serves them to the visitors. At the same time, Cloudflare caches those assets after the first time they are received. So, you get the benefit of Cloudflare's CDN only from the second visit.
At the same time, Cloudflare only saves your web page to the data center from which your web page was received. So, they don't auto-populate all of their data centers after receiving your website for the first time from any of the data centers. So, all their 200+ data centers need to have at least one individual request to cache a web page in all the data centers. And to cache all your web pages, all those data centers need to get at least one individual request for all the web pages on your site.
Now, when you calculate how many page views are necessary to cache your entire website to all the 200+ data centers of Cloudflare, you soon end up with a big number. And that's just to cache the web pages. Your website will still need more visitors to benefit from the CDN because Cloudflare's CDN will only be able to serve from the data centers from the second visit.
So, because of not being able to have enough traffic/visitors to cache web pages in all the Cloudflare data centers, low traffic websites don't get so much benefit by using CloudFare CDN.
There is also the fact of cache purging that removes cached files from Cloudflare's data centers. Cloudflare keeps the cached files for a maximum of 30 days after that it purges the cached files. You can also ask Cloudflare to remove your website cache. For instance, after updating your website contents, you would want to remove the cached files so that the visitors can see the updated contents instead of the old ones.
So, all your website files that have previously been cached by Cloudflare will be removed periodically. This will make it even harder for small websites to get any benefits from the CDN of Cloudflare.
Low Traffic Global Websites
If you have a low traffic website that has visitors from a wide geographical area like for blogs, global e-commerce sites, and others, your website will suffer because Cloudflare will need all your webpages to be accessed by all their individual data centers at least once.
Consider that you run a blogging website that has 100 web pages. For caching all those pages to Cloudflare's 200+ CDNs, you will need to have like 100x200=20,000 page views. This is considering only one visit per page but you can only take advantage of Cloudflare's CDN from the second visit. So you will need to have even more visitors to benefit from the CDN. But as you guessed, the number can get higher or lower based on your particular website. Either way, low traffic websites don't have enough visitors to really take advantage of the Cloudflare CDN.
However, most websites have a few popular pages that get the most page views and so the other less popular pages don't get so many page views. In this case, the popular pages will have a higher chance of getting benefit from the CDN than the less popular pages.
Also, your website contents won't be visited equally from all data centers. Some data centers will get more visitors and some will get less. So the data centers with more visitors will have a higher chance of serving your website from the cache. This will in turn help your website get more benefit from the CDN.
Low Traffic Local Websites
Local websites generally have very low traffic on their website. A study by BrightLocal found that the average local business websites get only about 1099 page views per month.
This is a low number but considering that all the traffic is from the local region, using Cloudflare means that the website probably needs to be cached in only one data center that is located near that locality. So, each of your web pages will need to be visited only once instead of the 200 times for global websites. This makes a good reason to use Cloudflare. But in this case, it also makes sense to use no CDN at all as long as you are using a web server that is located in your locality.
In fact, you will probably have an easier time finding a good website hosting provider that provides web servers that is the closest to you than Cloudflare's data centers. This reduced distance between your website and your website visitors will also make your website faster than using Cloudflare CDN. Consequently, using no CDN may also make more sense to your website. And if Cloudflare doesn't have a data center near you, then you will be better of using a web hosting provider or CDN provider that does have data centers near you.
Of course, I am not trying to talk you out of using a CDN for your local website. In fact, I have a separate article on why CDN is still necessary for local websites. All I am saying is using a different CDN provider might also make more sense to you.
Cloudflare CDN and Cloudflare DNS Are Different
Until now I have only talked about Cloudflare's DNS service. But Cloudflare doesn't just provide CDN. Another of their major Product is Domain Name System (DNS).
In fact, as per the testing of DNS perf, Cloudflare DNS provides the fastest response time among all other DNS providers. You will also get security against DDoS attacks on your site using their DNS. In short, Cloudflare DNS is a highly recommended service even for low traffic websites.
Great article, thanks! It explains why my cache hit ratio is very low sometimes.
Thanks
This is really informative and helpful. Thank you.
Interesting article. I believe with Cloudflare's Tiered Cache setting this issue has been resolved. Would love to know your thoughts.
I have been using Cloudflare for about a month now but I don't see any improvement in my website's pagespeed.
Thanks for this insight dear, I have been beating myself about my cache hit ratio; it is always very low, now I know why. I will also research more on tiered caching, incase it might be helpful also.
Thanks for the update because I was wondering if there is problem in my site