WordPress media on Cloudflare R2
Offload WordPress media to Cloudflare R2 with zero egress fees, serve through Cloudflare's global network, and protect WooCommerce downloadable products with AWS Signature V4 presigned URLs.
Zero egress. Global delivery. Wired into WordPress.
WP Media Cloud connects to Cloudflare R2 using your existing API credentials. No middleware, no custom code, no per-GB transfer charges ever.
Automatic offload on upload
Every file uploaded to WordPress is pushed to Cloudflare R2 immediately. The CDN URL is written back to WordPress before the upload dialog closes. No bulk operations needed for new content.
Serve through Cloudflare CDN
Connect an R2 bucket to a Cloudflare custom domain or use a Cloudflare Worker to serve files. Enter your CDN hostname in WP Media Cloud settings and all media URLs rewrite automatically.
SigV4 presigned URLs for secure downloads
WP Media Cloud is one of only two plugins that supports secure WooCommerce downloads on R2. Signed URLs are generated using AWS Signature V4 via your R2 credentials and expire after 10 minutes.
S3-compatible API
R2 uses an S3-compatible API. WP Media Cloud connects using your R2 access key ID and secret. No separate SDK or library needed beyond what the plugin already includes.
All image sizes offloaded
WordPress generates multiple image sizes for every upload. WP Media Cloud pushes all registered sizes to R2, not just the original. Thumbnails, medium, large, and all custom sizes are included.
Remove local files after offload
Optionally delete local copies after offloading to R2 to free up server disk space. The Download Media tool can pull files back from R2 at any time if you need to switch providers or deactivate.
The storage cost that actually makes sense
Every other major object storage provider charges you for data leaving their network. Cloudflare R2 does not. Egress is free regardless of how much traffic your site generates. You pay only for storage and a small number of Class A and Class B operations.
For media-heavy WordPress sites, this changes the economics entirely. A site serving 500 GB of media per month pays nothing in egress on R2. The same traffic on S3 costs around $45 in egress alone, before CloudFront fees.
- No egress fees to Cloudflare CDN or the public internet
- $0.015 per GB stored per month (10 GB free tier)
- Class A operations (writes) $4.50 per million, first 1 million free
- Class B operations (reads) $0.36 per million, first 10 million free
- Part of the Cloudflare Bandwidth Alliance with Bunny, Fastly, and others
Monthly cost estimate: 50 GB stored, 500 GB delivered
Pay for storage. Not for people downloading your files.
Cloudflare R2 charges $0.015 per GB stored per month with the first 10 GB free. There are no egress fees, no data transfer charges, and no charges for bandwidth to Cloudflare's CDN edge network. You pay for what you store, not for what people download.
For sites with high traffic and large media libraries, R2 is consistently the most cost-effective option available. A site serving 1 TB of media per month pays $0 in delivery fees on R2. The same traffic on Amazon S3 with CloudFront would cost $85 to $100 per month in egress and CDN fees alone.
View Cloudflare R2 pricingConnected in minutes using your R2 credentials
WP Media Cloud connects to R2 using the S3-compatible API. Create an API token in the Cloudflare dashboard and you are ready to go.
Install WP Media Cloud
Install and activate the plugin on your WordPress site. Open the setup wizard from the WP Media Cloud menu.
Create an R2 API token
In the Cloudflare dashboard, go to R2 and create an API token with Object Read and Write permissions on your bucket. Copy the access key ID and secret.
Enter credentials and bucket
Select Cloudflare R2 in WP Media Cloud settings, paste your access key ID, secret, and R2 account ID. Enter your bucket name and CDN hostname. Run the health check to confirm everything works.
Media goes to R2 instantly
Every new upload goes straight to your R2 bucket. Run the bulk offload tool to migrate your existing media library in the background.
Protect downloadable products with SigV4 presigned URLs
Cloudflare R2 is one of only two storage providers in WP Media Cloud that supports secure WooCommerce downloads. When a customer completes a purchase, WP Media Cloud generates an AWS Signature V4 presigned URL using your R2 credentials. The URL expires after 10 minutes and the real file path in your bucket is never visible to the customer.
This means your digital products, software downloads, ebooks, and course materials are protected against link sharing, hotlinking, and unauthorised access as soon as the signed URL expires.
Secure downloads are only available with Cloudflare R2 and Bunny.net Edge Storage. All other providers serve downloadable products via standard CDN URLs.
Cloudflare R2 + your existing stack
WP Media Cloud with Cloudflare R2 works alongside every major page builder, image optimizer, and plugin integration from day one.
Start offloading to Cloudflare R2 today
All features included on every plan. 30-day money-back guarantee. No upload limits.