CDN Tools is a WordPress plugin designed to help you drastically speed up your blog’s load time by loading content onto a distribution network (CDN).  You can use a commercial CDN or just load some of your larger JS libraries for free from Google’s servers!  At this time Rackspace Cloud Files is the only supported service, but Amazon S3 will be added soon.

View a screencast of how to set up your WordPress blog with CDN Tools!

Features

  • One click load all attachments and JS to a CDN
  • Transparently sideload new content (including images resized by WP!)
  • Automatically rewrite URLs on your blog to point at the CDN-loaded content.
  • Easy deactivation if you decide to stop using it. No messy fixes to get back to a pristine WP install. Just remove the plugin and everything will work fine!

CDN Tools is still early in its life so please do not hesitate to contact me with bugs or feature suggestions. At the moment there are a few major features I’m planning to add:

  • i18n support (this will require translators)
  • Error handling! (Some exceptions are not caught at this time)
  • More CDNs (eventually, this is low priority until the core is stable)

Requirements

CDN Tools requires PHP5 (with the cURL extension installed) and WP 2.8 or newer. It may work on older versions of WP, but I haven’t tested it. It emphatically will not work on PHP < 5.0.

Download

You can download CDN Tools through the wordpress.org plugin repository homepage.

Version History

v0.99 – 12/31/2009
- Log retention support (in advanced options)
- Servicenet flag (in advanced options)
- Both these features were added courtesy of John Dickinson

v0.98 – 12/13/2009
- WordPress 2.9 support. CDN Tools can now handle the image edit system introduced in WP 2.9.
- Better error handling for a few scenarios.
- As of this release WP 2.7 is no longer supported. It might work, but future releases will almost certainly break it.

v0.97 – 12/9/2009
- Initial sideload AJAX used an absolute path with the siteurl. This should have been a relative path or the adminurl to accommodate situations were FORCE_SSL_ADMIN is defined. Thanks to John for identifying the bug.

v0.96 – 12/4/2009
- Upgraded and (temporarily) forked CloudFiles API to fix bugs related to safe_mode and content type detection. This means you shouldn’t see badcontenttype exceptions or “stuck at 0%” errors any more!
- Improved error reporting for AJAX uploads (including timeout errors, which are now set at 90 seconds)
- Removed loading.gif in favor of WP native spinner

v0.95 – 10/25/2009
- Upgraded to CF API 1.5.1. For users within the Rackspace network who have $_ENV['RACKSPACE_SERVICENET'] defined, CDN Tools will now use the servicenet instead of the public network. This should speed sideloading of large files as well as not consuming your bandwidth.

v0.94 – 10/19/2009
- Upgraded to CF API 1.4. This should resolve some cURL issues users have experienced and removes the dependence on a png hack for RHEL4 users.
- Fixed major issue with Google AJAX CDN. Previously users were unable to switch between visual and HTML mode on the edit post page.

v0.93 – 10/8/2009
-A partial fix for issues with customers who have full file paths stored in their postmeta table. This is not a complete fix, but should help some (most?) users.
-Other small bug fixes.

v0.92 – 10/5/2009
-Major upgrade to support WP 2.8. If you are a previous user of CDN Tools you MUST unload files and then load them again. Please let me know if you have issues because several major changes were made.

v0.81 – 5/17/2009
-Major upgrade to the initial load for attachments. Now done via AJAX with percentage progress.
-Additional exception handling (this is still incomplete)
-Upgrade to CF API 1.3.0.
-Wordpress MU compatible (credit John Keyes)

v0.72 – 2/25/2009
-First public release, no changes from previous.

v0.72 – 2/22/2009
-Small bugfixes
-WP Super Cache compatibility.

v0.71 – 2/22/2009
-Workaround for a MIME/PHP bug on RHEL4.

v0.7 – 2/17/2009
-Nearing completion of initial feature set.
-UI rework (again)

v0.6 – 2/15/2009
-Huge improvements on all fronts

v0.4 – 2/8/2009
-Initial sideload support.

v0.2 – 2/7/2009
-First release outside of my own work (seeded to Major Hayden).
-GoogleAJAX for Prototype, jQuery, Dojo, and mootools (free for anyone to use)
-Uploading JS to CloudFiles (only supported CDN presently)
-Supports opting out of CDN’ing wp-admin scripts.