Cloudflare is a content delivery network (CDN) which aims to enhance website performance and speed and providing security. It became famous for hosting the LulzSec services, the hacker group that attacked Sony network.
My main interest in a CDN solution is caching resources, since I was having too much accesses to the database to retrieve static data chunks and images, for some sites I manage.
I’ve been testing Cloudflare for the last 3 months, using the standard free plan for dealing with traffic from/to a Hostmonster server. The setup is easy if you are keen on managing DNS entries, but the changes are not immediate so I recommend setting up in a low balance period, if possible, to avoid losing traffic. After the initial setup, Cloudflare has a lot of web management tools with “one click installation” so it’s a great opportunity to try tools for free – for instances, Pingdom. Cloudflare allows the user to turn Cloudflare service on/off in realtime, so it’s real useful to use the “Development mode” when you want to force the Cloudflare to request the resource instead of sending the cached version. Its also possible to reset manually the Cloudflare cache.
Pingdom – Uptime: in 90 days, only one downtime max 5 minutes.
Pingdom – Response time: 19 ms is quite good. The pike in the graph refers to a development period, I guess. However, I’m not aware of such an interruption.
Webmasters Tools – Site Performance (beta): this is the most strangest information when using Cloudflare, since the site performance has not changed. This beta feature seems to report random data regardless the traffic, the server availability, etc.
- 50,9% requests are saved by Cloudflare
- 58% saved bandwith
- CF Analytic stats (October): 1,6% requests were considered treats; 4,1% requests were from web bots
Adsense: no problems were identified that could be correlated to CF. Ok, to be honest, the average CPC has been slowly falling this year (some cents) however is due to the economical context (at least for Portuguese advertisers…) so the Adsense behavior doesn’t seem to be affected by Cloudflare.
- Only allows one CF account per domain. This means that all subdomains will be aggregated in one account.
- Some plugins have issues – e.g. Google Analytics. CF allows the user to define a default GA profile. In each request, CF checks if the GA tags are well placed – if the tracking codes are missing, CF injects the GA code with the default profile. However, for two times, CF has injected the default code in *all pages* in several subdomains, mixing up my GA account.
- It’s not an issue, but a feature, the user must reconfigure all the current connections to the web server and replace the domain name by something like direct.<servername> to access the server directly without passing through CF. Some old scripts will not function until you edit them…
- Error messages – in some cases, the site users will be confronted with CF messages that can be very confusing for them – “The site is offline”, “Unavailable”, captcha, etc. I still haven’t understand when each one appears and if I can change the behavior.
- Harder to diagnose DNS / hosting / site problems
Despite all these drawbacks, mostly common to all CDNs, Cloudflare is a perfect choice for mid sized websites. It’s a free solution with lots of features available (the paid version has more analytics and 3rd party webapps).
The only price you really pay in these platforms is giving the CDN the knowledge about your site – since they intercept your traffic, they have even more information than Google Analytics, for instances.
I’ve also signed-up for the Google Page Speed Service, the Google CDN still in beta (or alpha).