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.

Update: We now have a more general guide for moving between different storage providers.

Important Considerations

But before you decide to make this move, you should consider the following questions…

Do I need to be using DigitalOcean Droplets to use Spaces?

Nope. You can use DigitalOcean Spaces no matter what server provider you’re with. We do use DigitalOcean Droplets ourselves though, and we do recommend them.

What will be the cost of moving from Amazon S3 to DigitalOcean Spaces?

This depends on the number of media items you have in your WordPress Media Library and the size of those files.

The removal operation shouldn’t cost much, just a tiny fraction of a cent for every file removed. The upload operation is where the bulk of the cost will be. See our notes about cost to estimate what your upload operation will cost, but keep in mind the prices in that article might be outdated.

Not all my media is offloaded. Can I keep it that way?

If you only have some of your media offloaded and you want to keep it that way, you shouldn’t move because we’re currently unable to support copying between providers.

You should also avoid the Copy Between Buckets feature, as it currently only works between buckets on the same provider.

It’s possible in the future we’ll support copying media between providers, but we don’t have plans for that at the moment.

Can I switch to DigitalOcean Spaces for any newly offloaded media but keep my old media on Amazon S3?

No, WP Offload Media can only be configured to rewrite Media Library URLs to the currently configured storage provider. This means you must remove your Media Library items from Amazon S3 before starting to use DigitalOcean Spaces.

The Process

Now that you’ve read the FAQ above and you’re sure you want to move your media from Amazon S3 to DigitalOcean Spaces, follow the steps below.

1. Run the remove files tool

Remove all files from bucket button

Running this tool will remove all of your offloaded media from your Amazon S3 bucket. If the file doesn’t exist on your server, it will download it before deleting.

If you have a lot of media, it could take a long time for this to complete. Once the tool completes, you should find that all your media has been downloaded to your server and removed from S3.

If this step makes you a little nervous, you could do a little preflight check by running the “Download all files from bucket to server” tool then turning off the “Rewrite Media URLs” setting and making sure your site is working as expected. If everything checks out, run the remove tool.

2. Set Up DigitalOcean Spaces

Generate new key button in DigitalOcean Spaces

Now you’ll want to login to your DigitalOcean account (or sign up if you haven’t already), create the Spaces bucket you’ll use for your media, and generate access keys.

3. Configure WP Offload Media for DigitalOcean Spaces

WP Offload Media change provider link

Now you can click that provider Change link on the WP Offload Media settings screen, choose DigitalOcean Spaces, follow the instructions on how to set your access keys, and Save Changes.

You may get an error on the next page complaining about the bucket not being found. No biggie, just ignore that for a moment and click the bucket Change link, choose the Spaces bucket you created, and that should fix it.

4. Run the upload tool

WP Offload Media background offload in progress

Finally, run the upload tool and all your media will be uploaded to your new DigitalOcean Spaces bucket.