Back in February with our release of version 1.6 of WP Offload S3, we revealed that we’ve been working toward adding support for additional storage providers. We asked you which storage provider you would most like to see supported by WP Offload S3. Even the co-founder of WordPress chimed in with his vote!
DigitalOcean Spaces ended up with the most votes and Backblaze B2 was a close second. Don’t worry B2 fans, we’ll get there!
I’m very pleased to say that today’s release adds support for DigitalOcean Spaces! 🎉 You can now offload your WordPress Media Library to Amazon S3 or DigitalOcean Spaces.
Because this release marks the beginning of supporting more storage providers than just Amazon S3, we felt the need to drop “S3” from the name of the plugin. So WP Offload S3 is now WP Offload Media.
Let’s take a look at what’s changed…
Choose Your Provider
After you first install WP Offload Media, you’ll be presented with a choice of storage providers. Amazon S3 will still be the default selection, but DigitalOcean Spaces is now an option as well.
If you’ve configured WP Offload S3 in the past, you may notice that the define
is quite different. In fact, it used to be two define
statements like this:
define( 'AS3CF_AWS_ACCESS_KEY_ID', '********************' );
define( 'AS3CF_AWS_SECRET_ACCESS_KEY', '**************************************' );
WP Offload Media is fully backwards compatible with WP Offload S3, so these old define
statements will continue to work in this release. But for DigitalOcean and other providers, we add in the future, we now have a single define
that includes all the keys and values in an array:
define( 'AS3CF_SETTINGS', serialize( array(
'provider' => 'do',
'access-key-id' => '********************',
'secret-access-key' => '**************************************',
) ) );
This cuts down on the amount of boilerplate and is more flexible, allowing us to easily expand on these settings in the future. It also allows for future differences between storage provider settings.
Why DigitalOcean Spaces?
If you’re an Amazon S3 user, you might ask why DigitalOcean Spaces is worth a try. To be clear, if you prefer Amazon S3 because you love AWS or have no control over the decision, WP Offload Media will still support Amazon S3. But if you have the ability to switch, you might consider doing so for a couple of good reasons.
DigitalOcean Spaces Can Mean Cost Savings
You can save significant costs with DigitalOcean Spaces over Amazon S3.
DigitalOcean Spaces’ pricing is simple:
$5/mo for 250 GB of storage and 1 TB of data transfer $0.02 per additional GB stored $0.01 per additional GB transferred
Amazon S3’s pricing is more complicated. It depends on the storage type, but for WP Offload Media, you’d most likely go with their Standard storage tier:
$0.023 per GB stored $0.0004 per 1,000 GET requests Data transfer IN is free Data transfer OUT is free for the first 1 GB, then it’s $0.09 per GB
As you can see, the per GB storage cost is almost the same ($0.020 vs $0.023), but DigitalOcean Spaces starts at $5/mo whereas there is no minimum cost for Amazon S3. If you have 5 GB of media and 10 GB of data transfer in a given month, the cost would be $5 for Spaces but only 93 cents for S3. Amazon has billed me for even less, believe or not.
So if you have less than 200 GB of data, you’re actually going to pay more for storage with DigitalOcean Spaces, but we’re only talking a few bucks per month here, which might be worth the cost for a better user experience (see below).
But let’s say you have 2 TB of data, your Spaces storage bill would be $36 vs a $47 S3 bill. If you had 10 TB, Spaces would be $200 and S3 would be $235. Pretty small differences even with a lot of storage.
The big difference shows when you use a lot more data transfer out. Amazon S3’s data transfer out cost is nine times higher than DigitalOcean Spaces ($0.09 per GB vs $0.01 per GB). For example, if you had 10 TB of data transfer out in a given month, your bill with DigitalOcean Spaces would be $97, but would be a whopping $922 with Amazon S3! 😱
This example is for dramatic effect only. If you properly configure a CDN in front of your bucket (and you definitely should) the CDN will handle almost all of the data transfer out and it would be a very rare case for your site to come close to 10 TB of data transfer between your bucket and the CDN in a month.
Significantly Nicer User Experience
Amazon S3, like Amazon Web Services (AWS) as a whole, has a reputation for a terrible user experience. We see this in our support requests; some customers are overwhelmed by the AWS Console’s complexity.
And although they’ve made great strides in recent years, it still has a long way to go. On the other hand, DigitalOcean Spaces, like the rest of DigitalOcean’s products, has a simple, beautiful user experience that’s a pleasure to use.
How to Move from Amazon S3 to DigitalOcean Spaces
If you have WP Offload Media set up with Amazon S3 and want to move your media to DigitalOcean Spaces, you’ll need to use our removal tool to remove all your offloaded media from your S3 bucket, then upload your media to your new Spaces bucket.
Check out our How to Move from Amazon S3 to DigitalOcean Spaces doc for some important things you should consider before deciding to move and more details on how to accomplish this.
WP Offload Media’s Other Updates
Updated Settings UI to Reduce Confusion
Overall, I think our customers have been happy with the WP Offload S3 settings UI. However, there has been some confusion that we wanted to try resolve in this release.
The “Configure File URLs” section had a mix of two types of settings:
1) File path settings. These settings affect the object storage path of a file (e.g. the path of the file on Amazon S3). This is set when the file is uploaded to object storage and changing these settings only affected future uploads. Any previously uploaded files aren’t affected when these settings are changed.
2) URL rewriting settings. When these settings are changed, they affect all offloaded media immediately.
To reduce some of the confusion here, we’ve reorganized the settings into two new groups: “Storage” and “URL Rewriting”. Now it should be a bit clearer that the settings under Storage affect the object path and only future uploads while the settings under URL rewriting affect all offloaded media.
Here’s a side-by-side comparison of before and after:
Strongly Encouraging a CDN
WP Offload Media improves the performance of your site. That’s the promise. We recently realized many of our customers were not achieving that. And the reason was simple: they were serving their media from an Amazon S3 bucket instead of through a CDN.
We also found that many customers weren’t configuring a subdomain of their site’s domain to point at their CDN, which can negatively impact their SEO.
We realized that our guidance in these areas had been lacking big time, so we updated our documentation right away and sent out an email to customers…
But we didn’t stop there. In this release, you will now see a notice if you haven’t configured a custom domain encouraging you to do so, explaining why it’s important, and linking to our documentation on the subject.
Now that we’re nagging you about it, we hope more of you will take these essential steps to properly configure WP Offload Media for optimal performance in both site speed and SEO. Ultimately if you’re winning, we’re winning. 🏆
Wrapping Up
Adding DigitalOcean support is a big milestone for us. We’ve been working toward this with each of our two major releases this year and so it feels great to finally see some of the sweet, sweet fruit of our labour on this.
We’re looking forward to supporting additional providers in upcoming releases. If you didn’t vote last time, which provider would you like to see next?