Migrating from WP Offload Media
WP Offload Media (amazon-s3-and-cloudfront) by Delicious Brains is one of the most widely used media offload plugins. If you are switching to WP Media Cloud, your files stay in your storage bucket exactly where they are. The migration is a database operation — WP Media Cloud reads WP Offload Media’s tracking records and creates its own, pointing at the same files. No files are moved, copied, or re-uploaded.
Supported providers#
WP Offload Media supports four storage providers that WP Media Cloud can import from:
- Amazon S3 (WP Offload Media
aws→ WP Media Clouds3) - Google Cloud Storage (WP Offload Media
gcp→ WP Media Cloudgcs) - DigitalOcean Spaces (WP Offload Media
do→ WP Media Clouddo) - Bunny.net (WP Offload Media
bunny→ WP Media Cloudbunny)
WP Offload Media does not support Wasabi or Backblaze B2. If you are on one of those providers you did not come from WP Offload Media.
Before you start#
- Take a full database backup. The migration writes new records to the WP Media Cloud database table. A backup lets you roll back if needed.
- Install and licence WP Media Cloud. See Installation and Activating your licence.
- Configure WP Media Cloud with the same storage provider and bucket that WP Offload Media was using. The credentials, bucket name, and region must match. Use the setup wizard or wp-config.php constants to connect.
- Run the connection test and confirm it passes before proceeding.
- Do not disable WP Offload Media yet. Keep both plugins active during the migration to avoid any gap in URL rewriting while the import runs.
Running the migration#
Go to Media Cloud > Migration. WP Media Cloud will detect WP Offload Media’s items table (as3cf_items) and display a summary showing the total number of offloaded attachments, how many have already been imported into WP Media Cloud, and how many remain.
Click Start Migration. WP Media Cloud reads WP Offload Media’s tracking records in batches and creates corresponding WP Media Cloud records pointing at the same files in the same bucket. Progress is shown as the import runs. The migration can be paused and resumed at any time.
No files are moved or re-uploaded. The import is purely a database operation and does not generate any storage provider API calls for file transfers.
What the migration imports#
For each WP Offload Media item, WP Media Cloud imports:
- The WordPress attachment post ID
- The storage provider and bucket
- The region
- The full storage path of the primary (full-size) file
- The paths of all thumbnail sizes, read from WP Offload Media’s
extra_infoJSON field - The CDN delivery hostname from WP Offload Media’s settings, if one was configured
After the migration completes#
- Verify — go to Media > Library and click on several images. Confirm the file URL in the attachment details panel shows your storage bucket or CDN hostname rather than your site URL.
- Enable URL rewriting in WP Media Cloud — go to WP Media Cloud > Settings and confirm Rewrite URLs is enabled.
- Disable WP Offload Media — once you have confirmed WP Media Cloud is serving the correct URLs, deactivate WP Offload Media from the Plugins page. WP Media Cloud takes over URL rewriting immediately.
- Test the site — browse several pages and confirm images load correctly. Check WooCommerce product pages, custom field image output, and any page builder layouts that contain media.
Troubleshooting#
Migration tab shows zero offloaded items
WP Offload Media’s items table (as3cf_items) is empty or does not exist. This happens if WP Offload Media was installed but never completed an offload, or if the table was dropped. Confirm WP Offload Media was active and had offloaded files by checking its own dashboard before attempting the migration.
Some attachments are not being imported
The import skips attachments that already have a WP Media Cloud record. If an attachment was previously offloaded directly by WP Media Cloud it will not be re-imported. Attachments with no record in the WP Offload Media items table are also skipped — these were not offloaded by WP Offload Media and can be offloaded by WP Media Cloud using the bulk migration tool after the import completes.
Images return 404 after disabling WP Offload Media
The files are in your bucket but WP Media Cloud is not generating the correct URL. Confirm URL rewriting is enabled in WP Media Cloud > Settings and that the storage provider, bucket name, and region in WP Media Cloud match exactly what WP Offload Media was using. Run the connection test to confirm credentials are correct.
CDN hostname is not being applied
WP Media Cloud reads the CDN delivery hostname from WP Offload Media’s settings during import. If the CDN hostname is not appearing in URLs after migration, confirm the CDN hostname is correctly configured in WP Media Cloud > Settings > CDN.