404ops S3 Data Mover
Move, sync, and schedule file transfers between WordPress and Amazon S3 or any S3-compatible storage service.
Move, sync and schedule file transfers between WordPress and Amazon S3 or any S3-compatible storage service, such as MinIO, DigitalOcean Spaces, Backblaze B2, Cloudflare R2 or Wasabi. Access keys are encrypted before they are stored in your database.
Features
- Connections: add one or more S3 connections, each with its own access key ID and secret access key. Choose AWS with a region, or an S3-compatible service with your endpoint URL. One connection is active at a time.
- A File Browser for a connected bucket, where you pull selected files to your site or push local files up.
- Pull, push and sync into the Media Library or a folder under wp-content/uploads. Sync can run in both directions. Conflicts can overwrite, skip, or keep every version under a timestamped name. Files over 512 MB are skipped.
- Scheduled pull, push and sync tasks run by WP-Cron. If a task starts failing, the plugin emails the admin address once, and again when it recovers.
- Automatic offload, off by default, of new Media Library uploads and their generated sizes. Failed pushes are retried three times, and can be retried from the Settings screen.
- Serving offloaded files from the bucket or a CDN base URL, off by default. Only files confirmed to be in the bucket are served from it.
- Removing local copies, off by default and with confirmation. A local copy is deleted only after the bucket returns the same size and checksum for that file. Nothing in your bucket is ever deleted.
- Activity logs for every operation, with status, file count, bytes and duration, exportable to CSV.
- Optional alt-text drafts for library images that have none, written from the file name, dimensions, title and caption. This needs an AI provider you connect.
- WP-CLI commands for push, pull and status, with batching, resume and dry-run.
- No third-party dependencies. The plugin's own S3 client signs each request with AWS Signature Version 4 and sends it through WordPress's HTTP API.
Free version
The free version is available on WordPress.org once it is listed there.