Install
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/imgopi2002/wp-s3-media/archive/refs/heads/main.zipOffload WordPress media uploads to Amazon S3 and serve files directly from S3.
🚀 Overview
WP S3 Media automatically uploads media files to Amazon S3 when they are added to your WordPress Media Library.
After upload:
- Files are stored in your configured S3 bucket
- Media URLs are replaced with S3 URLs site-wide
- Local files can optionally be removed to save server space
Ideal for:
- High-traffic websites
- Scalable cloud storage setups
- Reducing server disk usage
- CDN integrations (CloudFront supported via filters)
✨ Features
- Automatic media offloading to Amazon S3
- Dynamic attachment URL replacement
- Optional local file deletion
- Lightweight and performance-focused
- Developer-friendly filters
- WordPress 6+ compatible
- PHPCS compliant codebase
📦 Requirements
- WordPress 6.0+
- PHP 7.4+
- AWS S3 Bucket
- AWS Access & Secret Keys
🔧 Installation
-
Download or clone this repository.
-
Upload the plugin folder to:
/wp-content/plugins/wp-s3-media/ -
Activate the plugin from WordPress Admin → Plugins.
-
Go to:
Settings → WP S3 Media -
Enter:
- AWS Access Key
- AWS Secret Key
- Bucket Name
- Region
-
Save settings.
New uploads will now automatically be offloaded to S3.
🔁 How It Works
- User uploads media.
- File is sent to Amazon S3.
- Local file is optionally removed.
- Attachment URL is filtered and replaced with S3 URL.
🧩 Hooks & Filters
wp_s3_media_public_url
Filter the final public URL before it is returned.
add_filter( 'wp_s3_media_public_url', function ( $url, $post_id ) {
return $url;
}, 10, 2 );
Example use cases:
- Replace with CloudFront URL
- Generate signed URLs
- Add CDN query parameters
🛠 Developer Notes
- Built using structured OOP architecture
- Compatible with WordPress coding standards
- Clean separation of:
- S3 client handling
- Settings management
- Media handler logic
📌 Roadmap
- Bulk migrate existing media
- CloudFront integration helper
- Signed URL support
- Background processing for large uploads
📜 Changelog
1.0.0
- Production-ready release
- Automatic S3 offloading
- Attachment URL filtering
- Settings page added
- PHPCS compliant structure
0.1.0
- Initial development version
📄 License
This plugin is licensed under the GPLv2 or later.
👤 Author
Gopi C
Web Developer | WordPress | WooCommerce | Laravel | CodeIgniter | React | Tailwind CSS | JavaScript (ES6+)
Linkeding url : https://www.linkedin.com/in/gopi-c-14847a254?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app