KAZCODE Universal Storage offloads your WordPress Media Library to Amazon S3, Cloudflare R2, or another S3-compatible provider without replacing the native Media Library.
Upload media normally. KAZCODE can move originals and generated sizes to object storage, serve them from your bucket/CDN, restore them, and resume supported interrupted transfers.
Reliability is built into the workflow: remote files are verified before destructive cleanup, temporary provider errors are not treated as missing files, and interrupted operations remain recoverable.
Built for real WordPress media workflows
WordPress remains the source of truth for attachments, titles, alt text, captions, and generated image sizes. KAZCODE adds storage delivery and recovery controls around that familiar workflow instead of replacing it with a separate media system.
Start with a single test upload, confirm its delivery URL and generated sizes, then offload new or existing media in resumable batches. Each attachment keeps visible storage state in wp-admin, so you can investigate a failure or restore an item without guessing where the file went.
Safer operations in 1.2.0
The Integrity Center gives administrators one place to review inventory health, verify remote objects, retry eligible failures, prepare restores, and understand recovery steps. It is designed to make checks and decisions visible before a destructive action.
Safe Mode protects a shared bucket prefix when a production site is cloned, moved, or opened as staging. It pauses storage writes and local cleanup until an administrator explicitly chooses how the copy should proceed, while normal delivery of already-offloaded media continues.
What you can do with Free
- Offload new uploads and existing Media Library files.
- Serve media from your bucket, endpoint, or CDN URL.
- Restore offloaded media to local WordPress storage.
- Use resumable multipart transfers for large files.
- Verify remote files before local cleanup.
- Review health, logs, and media status in wp-admin.
- Import/adopt supported WP Offload Media, Advanced Media Offloader, and Media Cloud records.
- Use supported admin, WP-CLI, and REST workflows.
- Configure one primary storage profile.
Why teams use it
- Keep the normal WordPress Media Library and editorial workflow.
- Reduce local disk pressure by moving originals and generated image sizes to object storage.
- Choose the delivery hostname that fits your S3 bucket, R2 custom domain, or CDN setup.
- Verify first and clean up only when remote files are confirmed.
- Recover from interrupted work with resumable operations and clear wp-admin status.
- Protect shared production storage when working on staging or cloned sites.
Supported storage
Free supports Amazon S3, Cloudflare R2, DigitalOcean Spaces, Wasabi, Backblaze B2 S3 API, MinIO, and custom S3-compatible endpoints.
Read the storage provider docs
Import from another offload plugin
Already using WP Offload Media, Advanced Media Offloader, or Media Cloud? KAZCODE can read supported offload data without copying credentials, deleting competitor records, or changing bucket files. Verify imported media before disabling the old plugin.
Moving between storage providers
Pro is a separate add-on for multiple Storage Profiles and provider-to-provider migration, such as Amazon S3 to Cloudflare R2. Pro keeps the source authoritative until the destination is transferred, verified, and cut over. Optional source deletion is available after verification.
Optional Pro workflows
Optional Pro workflows are disabled by default and must be qualified for the
site's chosen storage provider before use. Consult the current documentation
before enabling them; the standard WordPress uploader remains available.
View Pro features and pricing
Safety and integrity features in Free remain part of the core plugin; they are not paywalled.
Documentation and support
Documentation |
WordPress.org support |
KAZCODE support
Install from WordPress
- In WordPress, go to Plugins > Add New.
- Search for KAZCODE Universal Storage.
- Click Install Now, then Activate.
- Open Universal Storage and follow setup, or open Universal Storage > Storage.
- Choose your provider, enter bucket/endpoint/credentials, and run Test Connection.
- Enable automatic offload when you are ready.
New uploads can now be offloaded automatically.
Existing Media Library
For an existing site, configure and test storage first, then process attachments in batches. Free moves local media into your first storage profile; Pro moves already-offloaded media between profiles/providers. See
media offload and
existing media.
Already using another offload plugin?
Use the WP Offload Media, Advanced Media Offloader, or Media Cloud importer. It reads supported records, builds KAZCODE inventory, and leaves source data and credentials untouched. Verify before disabling the old plugin:
WP Offload Media or
Advanced Media Offloader. Media Cloud adoption requires retained
s3.key metadata on S3-compatible drivers (GCS-native / Imgix-only layouts are skipped with a clear message).
Moving from one storage provider to another
Amazon S3 to Cloudflare R2 and provider-to-provider migration are Pro workflows: configure source and destination, transfer, verify, cut over, and optionally delete the old source. See
S3 to R2 and
provider migration.
Before production cleanup
Before bulk local cleanup, test the connection, verify several media URLs, and use health/verification tools.