WP Offload Media 2.1 Released: Google Cloud Storage Now Supported

You asked for it, and we’ve delivered! Today we’re very happy to announce the release of WP Offload Media 2.1 with support for Google Cloud Storage!

Happily using WP Offload Media with Amazon S3 or DigitalOcean Spaces and don’t care about Google Cloud Storage? Never fear, there’s also some handy new features and of course bug fixes in this release too.

And it wouldn’t be a release post if we didn’t mention what’s next for WP Offload Media.

New Storage Provider

Why Google Cloud Storage?

Publicly, apart from the occasional comment on previous release posts or Twitter, you’ve probably not seen many requests for adding Google Cloud Storage support to WP Offload Media.

Google Cloud Storage would be awesome comment

But privately, it’s a whole different story. Adding support for Google Cloud Storage to WP Offload Media has been requested by our customers and potential customers more times than all the other storage providers combined. We’ve even had plenty of people asking whether they can test a beta of our GCS support for us, you know, just to help out! 😂

And the results from last year’s customer survey speak for themselves.

Storage Provider Customer Survey Results Showing Google Cloud Storage As The Clear Winner

Given that we’ve had so many requests, and have had both potential and former customers state GCS as being the reason they currently can’t use WP Offload Media, it was a no-brainer that we should add support for it.

Is Google Cloud Storage Right For Me?

Google Cloud Storage isn’t for everyone, you’ll need to weigh the pros and cons of using it instead of Amazon S3 or DigitalOcean Spaces.

If your biggest factor for choosing a storage provider is by price, then a straight comparison of Amazon S3, DigitalOcean Spaces and Google Cloud Storage is quite likely to show GCS is slightly more expensive than the other two.

However, GCS has some nifty features up its sleeve that might make it worthwhile, especially as they tend give free year-long trials away like candy!

They have these wonderful “Multi-Regional” buckets that act like a CDN, are highly available, and still an OK price considering. I’m a big fan of these things myself.

The way GCS handles signed URLs for private objects allows WP Offload Media to keep the Custom Domain (CDN) intact when generating URLs for private Media Library items like WooCommerce or Easy Digital Downloads product files. Something often asked for by our customers but we’re unable to do for S3 just now (but we do have plans for how we might be able to do it in the future).

And of course, if you’re already using Google Compute Engine VMs for hosting your site then it’s dead easy to set up Google Cloud Storage with WP Offload Media and offloads will be super fast.

How It Works

Google Cloud Storage is now just another storage provider you can pick within WP Offload Media.

WP Offload Media Storage Provider screen with Google Cloud Storage provider selected

If you’re familiar with WP Offload Media you’ll no doubt notice that the Google Cloud Storage option does not ask for Access Keys but instead asks for a Key File. In the Google Cloud Platform world you can add “Service Accounts” to your projects and assign them IAM Roles, such as “Storage Admin”. When a Service Account is saved you download a file that the Google Cloud Client Library for PHP can use for authentication. It’s a nice way to do things as long as you put the file in a secure place on your server. There’s a neat little step-by-step guide to getting your key file in our new Google Cloud Storage Quick Start Guide.

As always, for security we recommend using a define for setting your credentials, but you can of course paste the contents of the JSON file into WP Offload Media’s settings if you don’t have easy access to a secure area of the filesystem.

Of course, if you happen to be running your site in a Google Compute Engine (GCE) VM which has been assigned a service account with Storage access, then there’s a way to tell WP Offload Media to use just the VM’s service account IAM Roles instead of using a service account key file.

After giving WP Offload Media your GCS-enabled service account credentials, everything else works just as before and you can create or select a bucket and start offloading your Media Library. Just like magic!


Another New Feature: Improved Media Page Actions

For a long time we’ve had bulk and row actions available in the Media page that allow you to Copy to Bucket, Copy to Server from Bucket, and Remove from Bucket. Now we’ve added Remove from Server, Make Private in Bucket, and Make Public in Bucket actions.

WP Offload Media's new Media Actions

“Remove from Server” Media Actions

The Remove from Server media action has been requested many times by customers that would like to keep most of their Media Library on the server but would like to remove specific items such as very large videos from the server after they have been offloaded. Typically we advise turning on WP Offload Media’s “Remove Files From Server” option so that all offloads get removed from the server but then give instructions to implement the filter that stops certain media from being removed from local.

Now the “Remove Files From Server” option can be off and you can visit the Media page to select a bunch of items and use the “Remove from Server” bulk action on them, use their individual row action links to remove just specific ones, or use the new “Remove from Server” link we’ve also added to a Media Library item’s details (Edit Media) page.

Make Private/Public in Bucket Bulk Actions

We’ve long had the ability to toggle read access permissions for a Media Library item from its details page by simply clicking the “Public” or “Private” link, but it has not been possible to change the access from the Media page until now.

The Make Private in Bucket and Make Public in Bucket bulk actions work as you might expect, if a selected item is not already of the desired access type then it will be updated accordingly.

The individual row action links on Media Library items change according to the current status of the item, so if it’s currently Public (the default) then the Make Private in Bucket link will be shown, and Make Public in Bucket if the media item is already private.

It should be noted that these actions only change the access status of the “original” sized file in the bucket when the media item is an image, the thumbnails will not have their access changed.

Bug Fixes

There’s been a few bug fixes included in this release too, such as fixing the year/month bucket path for non-images, and a couple of fatal errors in edge case scenarios.

You can see the full changelog for more details.

What’s Next

Not all of the recent refactoring work has been purely targeted towards getting multiple storage provider support implemented, the refactoring has also put us in a better position to now start work on our two most requested features.

By far the top requested feature we’ve had is to be able to use media that is already in a bucket but not offloaded by WP Offload Media. This not only helps new customers migrating from another platform or restoring a site after an “incident” 😉, but also those whose workflow includes massive media files such as videos that are manually uploaded to the bucket and can not be directly uploaded to WordPress.

The second most requested feature is the ability to run the bulk uploader and downloader without having to keep a browser window open. If you have a few thousand, let alone hundreds of thousands of existing Media Library items to be offloaded, then this can take rather a long time.

What would you like to see next from WP Offload Media? Post your wishes in the comments below to see your dreams come true, maybe!

fairy god mother fail

About the Author

Ian Jones Senior Software Developer

Ian is always developing software, usually with PHP and JavaScript, loves wrangling SQL to squeeze out as much performance as possible, but also enjoys tinkering with and learning new concepts from new languages.