WP Manifestindependent plugin directory
manifest / media / s3-media-sync

S3 Media Sync

A minimal WordPress plugin to offload media files to any S3-compatible storage

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/alexy-os/s3-media-sync/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

A minimal WordPress plugin to offload media files to any S3-compatible storage.

Features

  • Works with any S3-compatible endpoint
  • Single-page configuration
  • Automatic offload of new uploads
  • Smart local cleanup (keeps originals as backup)
  • Optional custom path prefix and file versioning
  • Optional deletion sync with cloud storage

Installation

  1. Copy the plugin folder to /wp-content/plugins/
  2. Activate S3 Media Sync in WordPress Admin → Plugins

Setup

  1. Go to Admin → S3 Media Sync
  2. Fill in:
    • Access Key ID
    • Secret Access Key
    • S3 Endpoint (leave empty to use the default)
    • Bucket Name
    • Region
    • Custom Domain (CDN) (optional)
  3. Click Test Connection
  4. Click Save Settings

Usage

  • New uploads are offloaded automatically (when enabled)
  • Existing media can be offloaded via Bulk Upload Existing Files

Requirements

  • WordPress 5.6+
  • PHP 8.1+
  • An S3-compatible storage account

File Structure

s3-media-sync/
├── s3-media-sync.php
├── config.php
├── utility-functions.php
├── includes/
│   ├── class-s3-provider.php
│   ├── class-offloader.php
│   └── class-admin.php
└── assets/
    ├── css/admin.css
    └── js/admin.js

License

GPL v2 or later