
WP to S3
Store WordPress media in S3-compatible object storage. Same-host URLs or CDN. Migrate existing uploads; new Media Library uploads follow.
WP to S3 stores WordPress Media Library files in any S3-compatible bucket (Amazon S3, Cloudflare R2, MinIO, DigitalOcean Spaces, Linode Object Storage, and custom endpoints).
- Same-host URLs by default — browsers keep using
/wp-content/uploads/...on your domain; the plugin streams from the bucket when the local file is missing. - Live offload for new Media Library uploads when the plugin is enabled.
- Migrate existing uploads from wp-admin or WP-CLI (no migrate-only mode: live offload stays available while backfill runs).
- No telemetry or phone-home.
Choose a path
| Situation | Start here |
|---|---|
| Brand-new WordPress, no existing media to move | New WordPress site |
Site already has uploads under wp-content/uploads | Existing WordPress site (migrate) |
| Install only | Installation |
| Day-to-day admin / CLI | Usage |
Requirements
- WordPress 6.0+
- PHP 7.4+ (8.x preferred)
- Multisite is not supported in 1.0
Release zips bundle vendor/ (AWS SDK). You do not need Composer on production hosts for zip installs.
Installation
Install from a release zip or from source with Composer.
Usage
Media → WP to S3, Test/Save, live offload, Media Library tools, CLI.
New WordPress site
Greenfield: S3 for all new uploads — no bulk migration.
Existing WordPress site
Configure, enable live offload, migrate, verify, optional cutover.