Advanced Media Offloader

Description

Advanced Media Offloader automatically uploads media attachments from your WordPress site to an S3-compatible cloud storage, replacing the URLs appropriately to serve the media from the cloud. This can help reduce server load, increase page speed, and optimize media delivery.

Features

  • Automatic upload of new media attachments to S3-compatible cloud storage.
  • Rewrites URLs for media files to serve them directly from cloud storage.
  • Bulk offload media to cloud storage (50 files per batch in the free version).
  • Provides hooks for further extension.

Using the S3 PHP SDK

The Advanced Media Offloader utilizes the AWS SDK for PHP to interact with S3-compatible cloud storage. This powerful SDK provides an easy-to-use API for managing your cloud storage operations, including file uploads, downloads, and more. The SDK is maintained by Amazon Web Services, ensuring high compatibility and performance with S3 services.

For more information about the AWS SDK for PHP, visit:
https://aws.amazon.com/sdk-for-php/

Screenshots

  • Plugin settings page – Configure your cloud storage settings and offload options.
  • Attachment details page – View the offload status of individual media files.

Installation

  1. In your WordPress admin panel, go to Plugins > Add New.
  2. Search for “Advanced Media Offloader” and click “Install Now”.
  3. Once installed, click “Activate” to enable the plugin.
  4. After activation, go to “Media Offloader” in the WordPress dashboard to access the plugin settings.
  5. To configure the plugin, you need to add your S3-compatible cloud storage credentials to your wp-config.php file using constants. Here are examples for different providers:
  • For Cloudflare R2, add the following to wp-config.php:

    define('ADVMO_CLOUDFLARE_R2_KEY', 'your-access-key');
    define('ADVMO_CLOUDFLARE_R2_SECRET', 'your-secret-key');
    define('ADVMO_CLOUDFLARE_R2_BUCKET', 'your-bucket-name');
    define('ADVMO_CLOUDFLARE_R2_DOMAIN', 'your-domain-url');
    define('ADVMO_CLOUDFLARE_R2_ENDPOINT', 'your-endpoint-url');
    
  • For DigitalOcean Spaces, add the following to wp-config.php:

    define('ADVMO_DOS_KEY', 'your-access-key');
    define('ADVMO_DOS_SECRET', 'your-secret-key');
    define('ADVMO_DOS_BUCKET', 'your-bucket-name');
    define('ADVMO_DOS_DOMAIN', 'your-domain-url');
    define('ADVMO_DOS_ENDPOINT', 'your-endpoint-url');
    
  • For MinIO, add the following to wp-config.php:

    define('ADVMO_MINIO_KEY', 'your-access-key');
    define('ADVMO_MINIO_SECRET', 'your-secret-key');
    define('ADVMO_MINIO_BUCKET', 'your-bucket-name');
    define('ADVMO_MINIO_DOMAIN', 'your-domain-url');
    define('ADVMO_MINIO_ENDPOINT', 'your-endpoint-url');
    
  • For Amazon S3, add the following to wp-config.php:

    define('ADVMO_AWS_KEY', 'your-access-key');
    define('ADVMO_AWS_SECRET', 'your-secret-key');
    define('ADVMO_AWS_BUCKET', 'your-bucket-name');
    define('ADVMO_AWS_REGION', 'your-bukcet-region');
    define('ADVMO_AWS_DOMAIN', 'your-domain-url');
    

FAQ

Does this plugin support other cloud storage platforms?

Currently, the plugin supports only Cloudflare R2, DigitalOcean Spaces, Amazon S3 & MinIO, but we are working on adding support for other cloud storage platforms.

What happens to the media files already uploaded on my server?

They will remain on your server and be served from there. You can choose to bulk offload them to cloud storage if needed.

How does the plugin handle loading images from cloud storage?

The plugin automatically detects and rewrites URLs for uploaded files, enabling them to be served directly from cloud storage.

What happens to my files after offloading them to cloud storage?

After offloading to the cloud, files remain on your server by default. However, in the plugin settings, you can enable “Smart Local Cleanup” to retain only the original file after offloading, or select “Full Cloud Migration” to remove all local files.

What happens if I remove a media file from the WordPress Media Library?

If the “Mirror Delete” option is enabled in the plugin settings, the corresponding file will also be removed from cloud storage. Otherwise, the file will remain in cloud storage even after being deleted from the WordPress Media Library.

Reviews

ডিসেম্বর 6, 2024 1 reply
This plugin doesn’t come with a bunch of unnecessary features, it simply does what an Offloader plugin should do, and it does it well.A big thank you to the plugin developer for creating such a great tool!However, there is currently an issue with the internal installation guidance within the plugin. I recommend following the instructions under the ‘Installation’ tab on the plugin’s details page instead.In short, it should be: define(‘ADVMO_CLOUDFLARE_R2_KEY’, ‘your-access-key’);But inside the plugin, it gives: define(ADVMO_CLOUDFLARE_R2_KEY, ‘your-access-key’);The constant ADVMO_CLOUDFLARE_R2_KEY needs to be enclosed in quotes; otherwise, it will lead to a PHP syntax error. I hope the developer can address this issue in future versions.
ডিসেম্বর 2, 2024 1 reply
I was facing so many issues in setting up Cloudflare R2 for my website, and I should admit that I have at least sent dozens of emails to the support and every time they have replied with the profession, and quickly as well. I was so novice that at last Masoud had to personally check all my settings and then suggest the changes. Voila! Now it’s up and running. Kudos to Masoud and his team.
নভেম্বর 26, 2024
The plugin does what it says it will. It was easy to configure for both Cloudflare R2 and AWS S3. Support was quick and helpful. I do feel better documentation would be helpful. The plugin developer’s website has a blog of “docs” which helped a bit.
নভেম্বর 26, 2024 1 reply
I use this to offload media files to S3 and it works as expected.I received excellent support from Masoud and I would recommend this plugin to anyone wanting to save on storage size and cost for their Wordpress site.
অক্টোবর 3, 2024 1 reply
I have two servers, one hosting Wordpress and one hosting static files. Previously, I have been using the manual method of uploading files.Now with Advanced Media Offloader, I can finally upload images directly from wordpress to the other server. It’s awesome!
অক্টোবর 2, 2024 1 reply
added values to wp-config.php plugin page doesn’t show anything on a local environment setup.
Read all 7 reviews

Contributors & Developers

“Advanced Media Offloader” is open source software. The following people have contributed to this plugin.

Contributors

“Advanced Media Offloader” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Advanced Media Offloader” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

2.0.2

  • Display offloaded version of images in post content when already offloaded to improve loading times and reduce bandwidth usage.
  • Fixed the srcset attribute not displaying for images when object versioning is enabled.

2.0.1

  • Fixed minor bugs and made improvements.

2.0.0

  • Refactored the Advanced Media Offloader codebase.
  • Added new action hooks for custom actions before and after critical operations.
  • Fixed compatibility issue with the Performance Lab WordPress plugin.
  • Fixed a bug in bulk offloading media files.
  • Added support for MinIO path-style endpoint configuration using the ADVMO_MINIO_PATH_STYLE_ENDPOINT constant.
  • Fixed minor bugs and made improvements.

1.6.0

  • Refactored the code base to improve maintainability and readability, resulting in enhanced performance across the plugin.
  • Resolved an issue where the bulk offload process would become unresponsive
  • Added a button to cancel the bulk offload process, providing users with greater control during file transfers.

1.5.2

  • Fix a minor bug related to the path of existing media files when deleting local files.

1.5.1

  • Fix minor bugs to improve bulk offload process

1.5.0

  • Added support for Amazon S3 cloud storage
  • Enhanced plugin performance and stability
  • Fix minor bugs

1.4.5

  • Fix minor bugs with Min.io

1.4.4

  • New Feature: Custom Path Prefix for Cloud Storage
  • Fix minor bugs

1.4.3

  • Add Version to Bucket Path: Automatically add unique timestamps to your media file paths to ensure the latest versions are always delivered
  • Add Mirror Delete: Automatically delete local files after successful upload to Cloud Storage.
  • Improve Settings UI: Enhanced the user interface of the settings page.

1.4.2

  • Added ‘Sync Local and Cloud Deletions’ feature to automatically remove media from cloud storage when deleted locally.
  • Enhanced WooCommerce compatibility: Added support for WooCommerce-specific image sizes and optimized handling of product images.

1.4.1

  • Fix minor bugs related to Bulk offloading the existing media files

1.4.0

  • Added bulk offload feature for media files (50 per batch in free version)
  • Fixed subdir path issue for non-image files
  • UI Improvements
  • Fixed minor bugs

1.3.0

  • UI Improvements
  • Fixed minor bugs

1.2.0

  • Added MinIO as a new cloud storage provider
  • Introduced an option to choose if local files should be deleted after offloading to cloud storage
  • Implemented UI improvements for the plugin settings page
  • Added Offload status to Attachment details section in Media Library
  • Fixed minor bugs

1.1.0

  • Improved the code base to fix some issues
  • Added support for DigitalOcean Spaces

1.0.0

  • Initial release.