WordPress plugin intelligence profile

Defyn Media Offload

Offload WordPress media to Amazon S3, DigitalOcean Spaces, Wasabi, Cloudflare R2 or MinIO, serve images from a CDN, and reclaim server disk space.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.0
Current version1.1.0
WordPress coverageTested up to WordPress 7.0
Minimum stackWP 6.0 · PHP 8.1
Directory statusactive
Last directory update19 Oct 202614d ago
Active installationsNewAdoption metric — not a quality score
WordPress.org ratingNo WordPress.org ratings yet
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Defyn Media Offload version 1.1.0 as active, updated 14d ago and tested up to WordPress 7.0.

Overview

About this plugin

Defyn Media Offload moves your WordPress media library to S3-compatible object storage and serves every image, video and document from a fast content delivery network (CDN), then optionally deletes the local copies so your site fits within strict host disk and storage limits.

It works with Amazon S3, DigitalOcean Spaces, Cloudflare R2, Wasabi, Backblaze B2, Google Cloud Storage (in S3 mode), MinIO and any other S3-compatible object store. Offloading your uploads to cloud storage frees up server disk space, shrinks your backups, lowers bandwidth costs, and lets a global CDN deliver your images faster.

It was built for a large WooCommerce and multi-vendor marketplace on managed WordPress (where Jetpack’s image CDN virtualises some thumbnail sizes), so it is hardened against the edge cases that break naive media offload plugins.

Key features

  • Automatic offload on upload, after all thumbnail sizes are generated, including front-end (vendor) uploads.
  • Serves product images, galleries, variation images, responsive srcset, REST API URLs and content-embedded images from the CDN.
  • Resumable, cursor-based bulk migration for very large libraries (survives dropped SSH sessions). WP-CLI is the supported path; a browser-driven runner and Action Scheduler background runner are also provided.
  • Optional, decoupled “remove local” pass so migration and deletion stay safe and reversible.
  • Optional mirror-delete: removing an attachment removes its objects from the store.
  • Handles Jetpack “virtual” thumbnail sizes (skip-and-log, never stalls).
  • WooCommerce downloadable/protected files are stored privately and served with time-limited signed URLs, never made public-read.
  • Sends a long-lived, configurable Cache-Control header with public objects for efficient CDN and browser caching.
  • Optional hourly auto-retry (WP-Cron) that offloads any pending or previously failed uploads in the background.
  • Keeps the WordPress image editor working after local copies are removed: originals are fetched back from the store on demand for crop, rotate and thumbnail regeneration, then re-offloaded.
  • Storage dashboard showing how much is stored in object storage and how much local disk has been reclaimed.
  • Works with the AWS SDK for PHP v3, namespace-isolated with php-scoper so it never conflicts with other plugins’ bundled AWS SDK.

Configuration

php:

com' );

Otherwise enter them on Media → Media Offload.

External services

This plugin connects to one external service: the S3-compatible object storage

endpoint that you configure (for example DigitalOcean Spaces, Amazon S3,

Wasabi, or a self-hosted MinIO server). It is used to store and serve your media

files.

  • What is sent, and when: when you upload media (or run a migration), the media

g.

jpg) are uploaded to the bucket you configured, using the

access key and secret you provide. URL rewriting and verification read object

keys back from the same bucket.

  • The plugin does not contact any other server. It does not collect analytics,

telemetry, or usage data, and it never “phones home” to the author.

  • You must supply your own credentials and accept the terms and privacy policy

of whichever storage provider you choose. DigitalOcean Spaces:

com/legal/terms-of-service-agreement /

com/legal/privacy-policy. Amazon S3:

com/privacy/.

Third-party libraries

0, GPL-compatible)

and its dependencies (Guzzle, PSR interfaces, JMESPath, Symfony polyfills). The

SDK is namespace-isolated under OSMO\Vendor\ using php-scoper so it never

conflicts with an AWS SDK bundled by another plugin. This is namespacing, not

obfuscation, and the bundled PHP remains fully human-readable.

php,

sh, and the post-scope patch helpers in bin/) are available so the bundled

sh.

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • cloud storage
  • digitalocean spaces
  • media offload
  • cdn
  • s3
Compatibility & maintenance

Compatibility & maintenance

Tested up to WordPress 7.0

Not yet marked as tested with WordPress 7.1. WordPress.org currently lists Tested up to 7.0.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.0
Minimum requirementsWordPress 6.0 · PHP 8.1
Update activity19 Oct 202614d ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

Version1.0.01.1.0
WordPress compatibility7.0.47.0.7
Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.