Linux 软件免费装
Banner图

Advanced Media Offloader – Offload Media to Amazon S3, Cloudflare R2, DigitalOcean Spaces & More

开发者 masoudin
wpfitter
bahreynipour
teledark
更新时间 2026年9月9日 19:21
捐献地址: 去捐款
PHP版本: 8.1 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

cdn amazon s3 cloud storage offload cloudflare r2

下载

1.3.0 1.4.0 1.4.2 1.0.0 1.4.3 1.5.0 4.4.4 4.4.1 3.3.2 4.0.0 4.4.2 2.1.0 4.0.2 3.3.5 4.0.3 4.1.1 2.0.3 4.2.3 2.0.0 2.0.1 1.1.0 1.2.0 1.4.1 1.4.5 1.5.2 1.4.4 1.5.1 3.3.0 4.2.0 3.0.0 4.0.1 4.2.1 4.3.0 4.2.2 4.3.1 4.4.0 3.1.0 3.3.3 2.0.2 3.3.1 4.4.3 3.2.0 3.3.4 4.1.0 4.5.0 4.5.1 4.5.2

详情介绍:

Advanced Media Offloader automatically moves your WordPress Media Library to cloud storage — Amazon S3, Cloudflare R2, DigitalOcean Spaces, Backblaze B2, Wasabi, MinIO, or any S3-compatible service — and serves your files from there. Your server stays light, your pages load faster, and you never touch your existing content: every media URL is rewritten automatically. Setup takes about five minutes, with no code required. Why offload your WordPress media? Supported cloud storage providers Not sure which provider to choose? Check our cloud storage pricing comparison for real-world cost breakdowns. How it works
  1. Install and activate the plugin, then open Media Offloader in your WordPress admin.
  2. Connect your cloud storage — pick a provider, enter its credentials, then click Save & Test Connection.
  3. Offload — new uploads go to the cloud automatically. Move existing files with one click from the Media Overview page.
That's it. Most sites are fully set up in about five minutes. Features Works with your favorite plugins For developers Advanced Media Offloader is built to be extended: 20+ action and filter hooks let you control what gets offloaded, where it goes, and what happens before and after each step. Quick example — skip offloading files larger than 5MB: add_filter('advmo_should_offload_attachment', function($should_offload, $attachment_id) { $file = get_attached_file($attachment_id); if ($file && filesize($file) > 5 * 1024 * 1024) { return false; } return $should_offload; }, 10, 2); View Developer Hooks Documentation → Under the hood, the plugin uses the official AWS SDK for PHP, namespace-isolated with PHP-Scoper so it never conflicts with other plugins that bundle the same SDK. Pro version coming soon We're working on Advanced Media Offloader Pro with premium features such as private media files with secure, authenticated access. Follow wpfitter.com to be the first to know when it launches.

安装:

Setup takes about five minutes and requires no code changes.
  1. Install the plugin from Plugins → Add New (search for "Advanced Media Offloader"), or upload the plugin files to /wp-content/plugins/advanced-media-offloader/.
  2. Activate the plugin through the "Plugins" menu in WordPress.
  3. Go to Media Offloader in the admin menu, choose your cloud provider, and enter its credentials.
  4. Click Save & Test Connection to save and verify your credentials.
  5. New uploads are now offloaded automatically. Offload your existing media from the Media Overview tab.
Advanced (optional): define credentials in wp-config.php The settings page is the quickest way to configure the plugin — no code required. Alternatively, you can define your credentials as constants in wp-config.php using the examples below. Constants take priority over credentials saved in the admin and lock the corresponding fields. This keeps secrets out of the database — useful for version-controlled or multi-environment setups. Note: Domain and endpoint URLs will automatically be prefixed with https:// if you don't include it, but we recommend always including the full URL for clarity. Amazon S3 Configuration 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-bucket-region'); define('ADVMO_AWS_DOMAIN', 'your-domain-url'); Cloudflare R2 Configuration 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'); DigitalOcean Spaces Configuration 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'); Backblaze B2 Configuration define('ADVMO_BACKBLAZE_B2_KEY', 'your-application-key-id'); define('ADVMO_BACKBLAZE_B2_SECRET', 'your-application-key'); define('ADVMO_BACKBLAZE_B2_BUCKET', 'your-bucket-name'); define('ADVMO_BACKBLAZE_B2_REGION', 'your-bucket-region'); define('ADVMO_BACKBLAZE_B2_DOMAIN', 'your-domain-url'); define('ADVMO_BACKBLAZE_B2_ENDPOINT', 'your-endpoint-url'); Wasabi Configuration define('ADVMO_WASABI_KEY', 'your-access-key'); define('ADVMO_WASABI_SECRET', 'your-secret-key'); define('ADVMO_WASABI_BUCKET', 'your-bucket-name'); define('ADVMO_WASABI_REGION', 'your-bucket-region'); define('ADVMO_WASABI_DOMAIN', 'your-domain-url'); MinIO Configuration Use this for any storage that supports the S3 API via a custom endpoint (e.g., MinIO, OVHcloud Object Storage, Scaleway, Linode, Vultr, IBM COS). Select this if your provider isn't listed separately. 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'); define('ADVMO_MINIO_PATH_STYLE_ENDPOINT', false); // Optional. Set to true if your MinIO server requires path-style URLs (most self-hosted MinIO setups). Default is false. define('ADVMO_MINIO_REGION', 'your-bucket-region'); // Optional. Set your MinIO bucket region if needed. Default is 'us-east-1'.

屏幕截图:

  • File handling — choose how much local storage to keep, with clear guidance for every retention policy.
  • Media Overview — see how much of your Media Library is offloaded and bulk offload existing files to cloud storage.
  • Attachment details — confirm each file's cloud storage status directly in the Media Library.
  • Support page — check the most common setup issues before asking for help.

升级注意事项:

4.5.2 Security fix: Restricts individual media offloading to users who can edit the selected attachment. 4.5.1 Fixes isolated Guzzle loading on Composer-managed sites, keeps WP-CLI command loading safe before cloud setup, includes existing optimizer WebP/AVIF files on first offload, prevents Imagify/EWWW function conflicts, and restores reliable cloud-only SVG handling. 4.5.0 Adds a clearer two-section settings page, one-click Save & Test Connection, a Need Support? page, and connection errors that explain what to check. It also keeps regenerated thumbnails synchronized with cloud storage, regenerates cloud-only images safely under Full Cloud Migration, preserves image edits and optimizer formats, and keeps local files safe when an operation fails. 4.4.4 Fixes AWS SDK conflicts with other plugins, an EWWW background-mode queue blocker when deleting media, and leftover bulk-offload cron events that could keep running after jobs finished.

常见问题:

Is Advanced Media Offloader free?

Yes. Everything described here — automatic offloading, bulk migration, WP-CLI, all six providers — is completely free. A Pro version with extras such as private media files is in the works.

Which cloud storage providers are supported?

Amazon S3, Cloudflare R2, DigitalOcean Spaces, Backblaze B2, Wasabi, and MinIO — plus any other S3-compatible service (OVHcloud, Scaleway, Linode, Vultr, IBM COS, and more) via the MinIO option. Additional providers are added based on user demand.

What happens to media files already on my server?

Nothing, until you say so. Existing files stay untouched until you run the bulk offload from the Media Overview page (or via WP-CLI). New uploads are offloaded automatically based on your settings.

Will offloading make my site faster?

Serving media from cloud storage takes load off your web server, and pairing your bucket with a CDN delivers files from locations close to your visitors. Media-heavy sites usually see the biggest improvement.

Does it work with WooCommerce, Elementor, and other page builders?

Yes. URL rewriting hooks into WordPress core media functions (wp_get_attachment_url and related filters), so WooCommerce, Elementor, Beaver Builder, and most themes and plugins work without any changes.

Can I keep local copies of my files?

Yes — that's the default. You can choose between three retention policies: Retain Local Files (keep everything), Smart Local Cleanup (free up space but keep originals as backup), or Full Cloud Migration (remove all local copies).

Is there a limit on bulk offloading?

The browser-based bulk offload processes up to 50 files (max 150 MB) per batch — simply run it again for the next batch. For large libraries, the WP-CLI command wp advmo offload has no limit and supports options like --limit and --skip-failed.

Can I undo offloading and go back to local files?

If you use the "Retain Local Files" policy, yes — deactivate the plugin and your media is served locally again. With Full Cloud Migration you would need to re-download your files first, so keep local copies until you're confident.

How are image sizes and thumbnails handled?

All generated image sizes are offloaded alongside the original, and URL rewriting covers every size and srcset attribute — responsive images keep working as expected.

Does it work with WebP/AVIF image optimizer plugins?

Yes — Modern Image Formats (recommended), Imagify, and EWWW Image Optimizer are fully supported. Optimized WebP and AVIF versions are offloaded automatically alongside the originals.

Does it support private files with access control?

Not yet — the free version supports publicly accessible files. Private media with secure, authenticated access is planned for the upcoming Pro version.

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

With Mirror Delete enabled, the corresponding cloud files are removed automatically. Otherwise, files remain in cloud storage, potentially creating orphaned objects.

What's the recommended bucket configuration?

For optimal performance:

  1. Enable CORS configuration
  2. Set appropriate public read permissions
  3. Configure the region closest to your audience
  4. Consider using a CDN for global distribution

How do I configure public access for my bucket?

By default, the plugin sets a public-read ACL on uploaded objects. However, some providers don't support ACLs, and AWS S3 has ACLs disabled by default on new buckets since April 2023. You should configure bucket-level public access using your provider's bucket policies. If you encounter AccessControlListNotSupported errors or need to disable ACLs, add the following code to your theme's functions.php or a custom plugin: add_filter('advmo_object_acl', '__return_false');

How can I debug issues with file offloading?

Check the Media Overview page — it shows offload errors and lets you download a CSV of failed attachments. The plugin also logs errors to attachment metadata, and you can enable WordPress debug logging for more detail.

更新日志:

4.5.2 4.5.1 4.5.0 4.4.4 4.4.3 4.4.2 4.4.1 4.4.0 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 4.2.0