You’ll remember a couple of years ago, I switched to MediaCloud’s media offloading plugin on this site. Well, today I decided it was time to bring the media back to my local web server. My main reason for doing this is that my hosting provider does automatic backups and was missing all the media in those backups.
Thankfully, unwinding the MediaCloud stuff was relatively-simple. Instructions follow:
First, a quick tangent. I thought I’d utilize MediaCloud’s WP-CLI “download” function to bring all the media from S3 to my web server. I ran the commands, and it didn’t get everything for some reason. But in any case, I’ll show the command I ran below. Thanks to these WP-CLI examples, I was able to figure out the proper syntax to download from S3 straight to my WP install:
wp mediacloud:storage import --preserve-paths=preserve --import-only=false --skip-thumbnails=false

After running the WP-CLI command above, I found some stray media files in my local wp-content/uploads/wp-content/uploads/… that I needed to manually copy over to the proper directories.
Then I did a search and replace to change urls from the S3 cloud urls to my local urls:


Upon examining the files in my local directory vs S3, I noticed many files were missing. So I downloaded the entire S3 bucket and then uploaded it to my web server to plug any gaps. In the future, I’d skip the WP-CLI step and just start with the bucket download. Fwiw, I use Coda 2 for my S3 connection, as I tried-and-failed to get Cyberduck to connect to my S3 bucket.
After completing the above steps, the work was complete!
So, effectively, the steps are simple:
- Download the S3 bucket.
- Upload the media files to your web server.
- Search-and-replace the media urls.
That’s it!
Is this helpful?
More posts from themightymo.com
How to fix SpinupWP ballooning disk space issue
A site we host on Digital Ocean recently went down. It took me a lot of troubleshooting and digging before realizing that the issue was that our disk space was maxed out on Digital Ocean. The site in question needs ~20gb of space, so our 50gb server should be plenty. But alas, there it was…
Google Removed Our Business Listing – How we restored our biz to the Map and got our reviews back.
I was about to send an email to a potential customer pointing them to our 5-star Google Reviews via our Google Business profile (e.g. the Google Map), hoping this added information about our customers’ past experiences might help me close a deal. But when I checked the Google Reviews link, it was down. And after…
How to Redirect a Subdomain to a Root Domain (e.g. staging.mysite.com/stuff to mysite.com/stuff)
I had a Google Search Console issue today where it was seeing a bunch of staging urls that no longer exist. I don’t know how they got there, but here we are. 🙂 To resolve this issue, I had to: That’s it!