This review reflects my experience with CloudFlare‘s free services applied to this website which was powered by WordPress 3.2.1 running on a shared webhost. It looks at the performance for the month of December 2011.
The Problem I was Looking to Fix
As this site has grown in popularity, it uses more bandwidth. In October 2011, this site served up 5.84GB of data. November 2011, I was heading towards 9GB of data served. Currently, this site is hosted on a shared hosting plan with “unlimited” bandwidth. Well, nothing is unlimited, and I was concerned that as I used up more bandwidth one of two things would happen: (1) performance would suffer – since this is running on a shared host, I have to share the server and bandwidth with all the other website running on this host and (2) the host might decide that I’m using too much bandwidth and would I like to consider upgrading to a (more expensive) plan that better meets my needs.
You can read this article on how to estimate your webhost’s “unlimited” limits. NOTE: In the time since I wrote that article, the bandwidth provided by my webhost has increased to about 200kB/s. The general moral is, if you wait longer enough, your performance is likely to go up.
Move to a dedicated or virtual host
Dedicated hosting means I would have the server all to myself and (in theory) a direct connection to the Internet.
Virtual hosting means I would still be sharing a server with other websites, but fewer than on a shared host (on a shared host, there can be hundreds or thousands of other websites).
(1) Better server performance.
(2) Faster connection to the Internet.
(1) Increased cost.
(2) Have to move the website.
(3) No “unlimited” bandwidth. Many plans start with 1-4GB of monthly data transfer and charge for extra usage. More additional costs.
Move to some sort of cloud service
(1) Possibly better server performance.
(2) Possibly faster connection to the Internet.
(3) Likely distributed servers, so if one goes down, your site still stays up. The problem with a single server is if the server goes down or the Internet connection goes down, your site is offline. Moving your site into a “cloud” or some other distributed service means you are likely to get better uptime.
(1) Increased cost.
(2) Have to move the website.
(3) No “unlimited” bandwidth. Many plans start with 1-4GB of monthly data transfer and charge for extra usage. More additional costs. While some startup cloud services offer unlimited, because they are new, how long will they be in business? My current host provider has been around for a number of years, so I am not too worried about it going out of business.
Move images to an image server
My articles tend to use a lot of images. I could cut down on bandwidth by moving them to an image host – like flickr, or imageshack, or picassa, or similar services. This means I would leverage their servers to serve up my images.
(1) Reduced bandwidth. I would be using their bandwidth, not mine, to serve images.
(2) Probably improved performance. Their servers are far more likely than mine to be geared to serving up bandwidth hungry images.
(1) Images are now hosted somewhere else. Need to get another account (don’t we already have enough of those?).
(2) If I move my images somewhere else, I have to update ALL my articles to use the new links. Ugh.
(3) Many only offer limited service for free accounts. For example, at this time (January 2012) Flickr limits the amount of images you can upload to 300MB per month (ok, that’s quite generous, currently, I don’t approach that limit), thus requiring additional expense to upgrade to a better account.
(4) It doesn’t look very professional if you host to images located elsewhere.
(5) Blogging clients tend to assume you are hosting your images with your content, not somewhere else. This makes uploading and linking to images more of a hassle.
What CloudFlare Claims
When I read what CloudFare offered, it was pretty much what I wanted (aside from sounding too good to be true).
(1) You get to keep your current webhost.
(2) It’s free (at least the basic service). Nothing better than being able to test drive something before deciding if it’s worth purchasing or upgrading to.
(3) Improved page load times.
(4) Reduced bandwidth.
(5) Improved website uptime.
(6) Improved security.
I was skeptical, but, (1) it was free and (2) all it required me to do was change my domain name server – if worse came to worse, I could always change it back and, at most, suffer 1 or 2 days down time with this experiment.
How I Installed CloudFlare’s Service
This site (at present) is running on WordPress. I installed the W3 Total Cache plugin and scrolled down to the section titled Network Performance & Security powered by CloudFlare (about 2/3 down the page):
This can be found on General Settings page of the Performance tab:
Click on the Sign up now for free link and create an account with CloudFlare. W3 Total Cache will have filled in some information for you. Once your account it set up, you give CloudFlare your website’s URL and it fills in some information for you.
The only thing I didn’t like about the CloudFlare setup was after the initial setup page, you get two pages about A records and CNAME records, which, for most users, is over their heads and should probably be hidden behind an Advanced Settings tab. I found no problem in accepting the default values.
CloudFlare will then give you new domain name servers that you will use to update the DNS information with your domain registrar.
Within 24-48 hours, your site will now be augmented with CloudFlare’s service (the actual time might be shorter, in my case, I noticed switch over after about 4 hours – the switch over time has nothing to do with CloudFlare and everything to do with how fast the DNS change you made propagates through the entire Internet).
How does CloudFlare measure up on its promised results?
Get to Keep My Current Webhost
Yes. Trying out CloudFlare just means changing your domain’s DNS. Other than that, CloudFlare lets you keep your current host.
Improved Page Load Time
You can read about measuring your website performance here.
I didn’t notice any improvement. I installed W3 Total Cache a week before activating CloudFlare because I wanted to see how page load time differed between (1) out-of-the-box WordPress, (2) WordPress with W3 Total Cache and (3) WordPress with W3 Total Cache and CloudFlare.
W3 Total Cache did improve my page load times over the out-of-the-box WordPress experience. Adding CloudFlare to the mix didn’t change the performance. This shows that my webhost was already providing me with good bandwidth.
This is what I was looking for and CloudFlare delivers.
In November 2011, my webhost served up 8.8GB of data for this site. In December 2011, my webhost served up 2.89GB of data for this site – despite serving 15% more pages in December than November. That works out to a 70% drop in bandwidth consumption on my server. Awesome!
Early in December, I had a problem with logging into my WordPress account and during the course of troubleshooting, I took the site offline.
I was delighted to discover that even though I had taken my site offline, CloudFlare continued to serve up my webpages – or, at least, the webpages it had cached. This means that even if my server goes down for some reason, CloudFlare will continue to serve up, at least, the most popular pages from its cache. Pages which are not in its cache, will not be served up.
This is an excellent bonus I was not looking for.
Since this site is about content, having improved content availability is significant.
If your server goes down and the page is not in CloudFlare’s cache, the following message is displayed (click for larger image):
This is hard to answer. I don’t think I was ever subject to attacks from malicious websites, so whether CloudFlare protects me from them is something I can’t say.
When you look at visitor stats from CloudFlare’s control panel, it shows the number of safe visitors and the number of threats blocked. Since I was not aware of these threats beforehand, I can’t comment on it.
If someone visits your site from a flagged IP, then CloudFlare will display them a challenge screen similar to this one (click for larger image):
I am delighted with CloudFlare. It does exactly what I needed it to do (reduce bandwidth usage on my host). The installation is simple. I didn’t need to make any changes to my website or hosting (aside from changing my name server). And it gave me the added bonus of improving my site’s (perceived) uptime (at least for popular pages) by continuing to serve up my content.
It does not affect the information delivered by JetPack Site Stats or Google’s Analytics. I continue to get information on where visitors come from, what keywords were used, etc. I was concerned that I might find all my traffic was coming from CloudFlare, but this is not the case. CloudFlare is completely transparent.
CloudFlare also provides its own site stats. One nice thing about them is that I can see the previous days stats hour by hour – which gives finer resolution that Site Stats’ or Analytics’ daily resolution. It also shows you the number of visitors from sites perceived as threats (red line). The image below shows yesterdays visits, hour by hour (click for larger image):
CloudFlare also tells you the last time search engines crawled your site (which means you don’t have to estimate it like this):
The only criticism I have of it is that they can make the sign up process easier by hiding pages 2 and 3 of the sign up process behind an “Advanced Settings” link or tab because most average users (1) will not understand it and (2) will use the defaults anyway.
CloudFlare can be found here.