What are the options for Content Distribution Networks for use with WordPress? I’d like to their objective pros and cons, their associated plugins or other ways to utilize them, their relative pricing, their appropriate customer profiles/scenarios/use-cases, projects they’ve been used on if you know of any, and any other relevant information.
This is a community wiki and so please provide only one CDN option per answer and please don’t duplicate answers. If you have something to include regarding a CDN already listed please either edit the answer or add comments. And please vote up the solutions you recommend and/or think are most viable.
UPDATE: I found few resources on the web for WordPress+CDN so decided to list them here too:
- HowTo: Configure WordPress To Use A Content Delivery Network (CDN)
- Using a CDN for your WordPress blog
- WordPress CDN Enabler plugin
Below are the methods you can try. The first solution is probably the best. Try others if the first one doesn’t work. Senior developers aren’t just copying/pasting – they read the methods carefully & apply them wisely to each case.
Amazon CloudFront is an CDN ‘wrapper’ around Amazon’s S3 service. Distributions can be created from existing S3 buckets, and when a file is requested from it’s CloudFront URL it is either served from the nearest edge locations’s cache or fetched from S3 and cached.
- My CDN – handles URL rewriting of JS, CSS, and other theme resources. This plugin only handles the URL rewriting and not actually transferring files into Amazon S3.
- W3 Total Cache – A more comprehensive plugin, handles Cloudfront integration as well as other techniques to improve page load times, such as caching and minification.
- Low barrier to entry – you don’t buy bandwidth upfront, instead paying for what you use.
- Quick to setup
- A variety of tools and programs are available for managing the files you have on S3/CloudFront
- Supports media streaming
- Relatively expensive compared to some other services where bandwidth is purchased in advance
Amazon lists a few use cases on their CloudFront product page, including hosting frequently accessed content, distributing software, and publishing media files.
In terms of businesses using CloudFront as their CDN, Linden Lab (the makers of Second Life) use CF for distributing their software client, while storing other files on S3. Amazon also has a very good case study on how photoWALL uses CF (and the other infrastructure AWS offers)
Rackspace Cloud Files
You can sign up for Rackspace Cloud files, and pay only what you use, this can be a good way to start out, as you don’t need to pay upfront for a large amount of bandwidth, that you may or may not use.
There are two plugins that work well with WordPress and Cloud Files,
Cloud Tools plugin. This is a plugin
by Paul Kehrer, it’ll upload images
to Rackspace in line with a new
post, and upload images already on
the system to cloud files, and
rewrite all your image tags.
W3 Total Cache: This has more
options in terms of different
CDNs..one of them being Rackspace
Pros of Rackspace Cloud Files
- Pay as you go, no upfront costs.
- Depending on the data center you’re in, free uploading to cloud files.
- If you use cloud servers or cloud sites, it’s just one bill
- if you use their servers its free to transfer data to the CDN from server
- No origin-pull (which means you can’t use timthumb to resize images on the fly)
- No option for video streaming yet.
- CNAME is supported you just have to setup the subdomains via your DNS host and then input them into W3 Total Cache
- Uses entirely different domains for SSL and non-SSL versions of each file, which (AFAIK) no caching plugins support. This makes SSL difficult on the frontend.
To get an estimate of costs, you can go to:
I’ve used them on some sites, they’re reliable, very fast, and reasonably priced. For some clients that have no idea what level of traffic they’ll get, we start them off here.
MaxCDN and W3 Total Cache
Rack Space is $.22 and requires work.
Max CDN Takes about 10 minutes to set up.
I have done about 20 TB with them since I started using them with only one small issue that they fixed within an hour. All I did was turn off the CDN in my control panel till they fixed it.