Use Dropbox as a CDN for your WordPress site

Using a CDN is a great idea in order to optimize the load time of your website, especially when it’s content-heavy. Basically you place your static content (pictures, sound, video, CSS, Javascript, etc.) on a third-party’s network of servers. Some of  the big CDNs are operated by Akamai and Amazon, among a bunch of others.

This has potential to speed up your site several ways. First off, the CDN’s servers are often just plain faster at delivering static content than the server your website runs on, particularly if you have a low-cost shared hosting plan.

Second, a well-designed CDN host your content on s geographically distributed network of servers, so users visiting your site download CDN-hosted content from whichever node of the network is closest rather than from your webserver, which could potentially be on the other side of the country or the world.

Finally, the HTTP protocol limits the number of simultaneous connections your browser can make to the same domain name (the limit has historically been 2 simultaneous connections, although some (most?) modern browsers increase that).  This was especially important in the early days of the web–if you let every browser make as many connections as it wants, a busy web server would quickly be brought to its knees. Your browser needs to make a separate server connection to download each file on the website–every image, video, stylesheet, etc. If you can come up with a quick way to double the number of possible HTTP connections, it would obviously speed up the page load process. Well, since all the files on the CDN have a different domain name, the browser can now max out its connections to the second CDN server too.

So far so good, but CDNs have typically been difficult and expensive to implement. However, I ran across a brilliant idea today that solves both of these problems: use a free Dropbox account as a CDN server using a WordPress plugin that takes care of all of the hard stuff for you. As a big WordPress fan, I obviously love this idea. There are of course a couple of limitations–Dropbox limits the total bandwidth on free accounts to 10 GB/day, and the plugin supports only WordPress theme files and not uploaded content so far. Still, that’s a good start, and 10 GB/day is a lot for most websites.

I’m going to be trying this on a couple of WordPress sites I run sometime soon, and I’ll post back with the results.