Yctvn Media Offload for Cloudflare R2 seamlessly integrates your WordPress media library with Cloudflare R2 Storage, providing enterprise-grade CDN delivery at a fraction of the cost of traditional solutions.
📸 New to Cloudflare R2? Check out the Screenshots section for a complete visual setup guide with step-by-step instructions!
Key Features
- Automatic Media Upload: Automatically upload new media files to R2 storage as they』re added to WordPress
- Bulk Sync: Migrate existing media library to R2 with one-click bulk sync
- CDN URL Rewriting: Serve all media from Cloudflare』s global CDN network
- Image Size Support: Upload and serve all WordPress image sizes including thumbnails
- Responsive Images: Full support for srcset and responsive images
- Post Content Rewriting: Automatically rewrite image URLs in post content
- AWS Signature V4: Secure authentication using industry-standard protocols
- Debug Mode: Comprehensive logging for troubleshooting
Why Choose R2 Storage?
- Cost Effective: No egress fees – pay only for storage
- Global Performance: Leverage Cloudflare』s worldwide CDN network
- S3 Compatible: Works with standard S3 APIs
- Reliability: Enterprise-grade infrastructure with 99.9% uptime SLA
Requirements
- WordPress 5.0 or higher
- PHP 8.0 or higher (compatible with 8.0, 8.1, 8.2, 8.3, 8.4)
- Cloudflare account with R2 enabled
- R2 API credentials (Access Key ID and Secret Access Key)
Getting Started
Visual Guide: See the Screenshots section below for a complete step-by-step visual guide!
Follow these 3 simple steps to connect your WordPress site to Cloudflare R2:
Step 1: Create R2 Bucket
1. Log in to Cloudflare Dashboard
2. Click on 「R2」 in the left sidebar
3. Click 「Create bucket」
4. Enter a unique bucket name (e.g., 「my-wordpress-media」)
5. Choose a location (optional)
6. Click 「Create bucket」
Step 2: Get Your Credentials
You need 4 pieces of information from Cloudflare:
A. Account ID:
– In R2 dashboard, look at the top right corner
– Copy the 「Account ID」 (format: 32 alphanumeric characters)
B. Access Key ID & Secret Access Key:
1. In R2 dashboard, click 「Manage R2 API Tokens」
2. Click 「Create API token」
3. Give it a name (e.g., 「WordPress Media Plugin」)
4. Under Permissions, select 「Object Read & Write」
5. (Optional) Under 「Specify bucket(s)」, you can limit to your specific bucket
6. Click 「Create API token」
7. IMPORTANT: Copy and save both:
– Access Key ID (shows immediately)
– Secret Access Key (shows only once – save it now!)
C. Bucket Name:
– The name you created in Step 1 (e.g., 「my-wordpress-media」)
D. Public URL (CDN URL):
– Go to your R2 bucket Settings
– Under 「Public access」, click 「Allow Access」
– Your public URL will be: https://pub-[hash].r2.dev
– OR connect a custom domain under 「Custom Domains」 (e.g., https://cdn.yoursite.com)
Step 3: Configure Plugin
1. Install and activate this plugin
2. Go to Settings Yctvn Media Offload
3. Enter all 4 credentials from Step 2:
– Account ID
– Access Key ID
– Secret Access Key
– Bucket Name
– Public URL (your R2 public URL or custom domain)
4. Check 「Auto Offload」 to automatically upload new media
5. Check 「Enable URL Rewrite」 to serve media from R2/CDN
6. Click 「Save Settings」
7. Use 「Bulk Sync」 to upload existing media
Additional Information
Support
For support, please use the WordPress.org support forum.
Buy Me a Coffee
If you find this plugin helpful, consider buying me a coffee ☕
Your support helps maintain and improve this plugin!
Contributing
This plugin is open source and welcomes contributions from the community.
Privacy
This plugin does not collect any personal data. Media files are transferred directly between your WordPress site and your Cloudflare R2 account.






