Moving your WordPress media to the cloud is one of the most effective ways to reduce server load, cut hosting costs, and speed up your site. But with so many providers available, choosing the right one can feel overwhelming — especially when pricing structures vary wildly.
In this guide, we break down the real-world costs of five popular S3-compatible cloud storage providers, so you can pick the best fit for your WordPress site.
The Providers
All five providers listed here are fully supported by Advanced Media Offloader, which means you can switch between them at any time without changing how your site works.
- Amazon S3 — The industry standard
- Cloudflare R2 — Zero egress fees
- Backblaze B2 — Budget-friendly with generous free egress
- Wasabi — Flat-rate, no per-request fees
- DigitalOcean Spaces — Simple and predictable
Understanding Cloud Storage Costs
Before we dive into the numbers, let’s clarify a few terms that cloud providers use in their pricing:
- Storage — The cost of keeping your files on the provider’s servers. This is charged per GB per month based on how much data you store.
- Egress (outbound transfer) — The cost of delivering your files to visitors. Every time someone loads your site and sees an image, that image is transferred from the cloud to their browser. This is egress, and it’s where costs can add up quickly on some providers.
- Ingress (inbound transfer) — The cost of uploading files to the cloud. Good news: all five providers on this list offer free ingress, so uploading your media library costs nothing.
- API requests (operations) — Every upload, download, list, or delete action counts as an API request. Providers split these into classes: writes (uploading, deleting) are typically more expensive than reads (viewing, downloading). For most WordPress sites, these costs are minimal.
With these terms in mind, let’s see how each provider stacks up.
Pricing at a Glance
Here’s how each provider charges for the three things that matter most: storage, egress (data transfer to visitors), and API requests.
*DigitalOcean Spaces starts at $5/month, which includes 250 GB of storage and 1 TB of outbound transfer.
What Would You Actually Pay?
Let’s look at three real-world scenarios for a typical WordPress site.
Small Blog (10 GB of media, 50 GB egress/month)
Medium Site (100 GB of media, 500 GB egress/month)
High-Traffic Site (500 GB of media, 2 TB egress/month)
The difference is dramatic. For high-traffic sites, Amazon S3’s egress fees alone can cost more than a year of storage on Backblaze B2 or Cloudflare R2.
Provider-by-Provider Breakdown
Amazon S3
Amazon S3 is the most established object storage service and offers unmatched reliability, global infrastructure, and a massive ecosystem. However, it’s also the most expensive option on this list — primarily because of egress fees.
Best for: Sites already in the AWS ecosystem, or those needing specific S3 features like lifecycle policies, analytics, and granular access control.
Watch out for: Egress charges add up fast. At $0.09/GB, a site serving 1 TB of media per month pays $90 just in data transfer.
Cloudflare R2 (Our Recommendation)
R2 is Cloudflare’s S3-compatible storage, and its biggest selling point is simple: zero egress fees. You pay only for storage and operations. If you’re already using Cloudflare for your domain (and many WordPress sites are), R2 is a natural fit. This is the provider we use and recommend for most WordPress sites.
Best for: Sites already on Cloudflare, high-traffic sites where egress costs would otherwise be significant, and anyone who wants the best balance of price and performance.
Backblaze B2
Backblaze B2 offers the lowest per-GB storage price on this list at $0.006/GB. Egress is free up to 3x your average stored data, which is more than enough for most WordPress sites. Beyond that, overages are just $0.01/GB.
Best for: Budget-conscious sites, large media libraries, sites that want the lowest possible cost.
Watch out for: Fewer regions compared to S3 or R2. For global audiences, pairing B2 with a CDN like Cloudflare (which has a free egress partnership with Backblaze) is recommended.
Wasabi
Wasabi offers flat-rate pricing at $6.99/TB per month with no egress, ingress, or API request fees. The pricing is simple and predictable.
Best for: Sites that want dead-simple billing with no surprises. Great for medium-to-large media libraries that are relatively stable.
Watch out for: Wasabi has a 90-day minimum storage duration policy. If you delete files before 90 days, you’re still charged for the remaining days. This is worth considering if you frequently upload and remove media.
DigitalOcean Spaces
Spaces offers a flat $5/month plan that includes 250 GB of storage and 1 TB of outbound transfer, with a built-in CDN. For small-to-medium sites, this “all-in-one” pricing is easy to budget for.
Best for: Small-to-medium WordPress sites, users already on DigitalOcean, teams that value simplicity.
Watch out for: Once you exceed the included 250 GB of storage or 1 TB of transfer, overage rates apply. For larger media libraries, other providers may be more cost-effective.
So, Which One Should You Pick?
There’s no single best answer — it depends on your site’s size, traffic, and priorities:
- Lowest cost overall: Backblaze B2 or Cloudflare R2
- Simplest pricing: Wasabi (flat rate, no surprises)
- Already using Cloudflare: R2 is the obvious choice
- Already on DigitalOcean: Spaces keeps everything in one dashboard
- Enterprise or AWS ecosystem: Amazon S3 for its depth of features
The good news is that Advanced Media Offloader supports all five providers (plus any S3-compatible storage via the MinIO option). You can start with one and switch later without any changes to your content or URLs.
Getting Started
Once you’ve chosen a provider, setting up media offloading takes just a few minutes. We have step-by-step guides for the most popular options:
- How to Offload WordPress Media to Cloudflare R2
- How to Offload WordPress Media to Amazon S3
- How to Offload WordPress Media to Backblaze B2
Have questions about choosing the right provider? Reach out through our contact page or the WordPress support forum — we’re happy to help.