If you've been running a photography business for more than a year or two, you've probably started to feel the storage squeeze. Every shoot adds hundreds — sometimes thousands — of high-resolution images. Those files have to live somewhere, and if that somewhere is your web hosting account, things can get tight fast.
I've talked with many photographers who hit their hosting storage limits without realizing it. They get an email from their host saying they're at 90% capacity, or their site slows down because the server is struggling to serve large image files to multiple clients at once.
That's when the question comes up: should I move my gallery images to cloud storage? The short answer is yes, probably. Let me walk you through the why, the how, and exactly which provider to pick.
Why Your Hosting Plan Wasn't Built for Photo Galleries
Most WordPress hosting plans are designed for regular websites — blog posts, a few pages, maybe a small online store. They come with 10 to 50 GB of storage on shared plans, which sounds like a lot until you start uploading full-resolution images from every session.
A single wedding shoot can easily produce 16-32 GB of images. Portrait sessions, events, school photos — it all adds up. Professional photographers typically need 2 to 10 TB of storage annually, depending on volume. That's far beyond what most hosting plans offer.
Here's the real problem: your hosting plan bundles storage, bandwidth, and computing power together. When you fill up your storage, you have to upgrade the entire plan — even if you don't need more computing power. You end up paying for resources you don't use.
Cloud storage fixes this by separating image storage from your web hosting. Your server handles WordPress, and a dedicated storage service handles your images. Each scales independently, and you only pay for what you actually use.
What Cloud Storage Actually Does for Your Galleries
Instead of storing gallery images on your web server, they live on a cloud storage service like Amazon S3, Bunny.net, or Cloudflare R2. When a client visits your gallery, images are served directly from the cloud.
Your hosting storage stays clean. WordPress, your theme, plugins, and database live on your server. Images live in the cloud. You can host thousands of galleries without worrying about disk space.
Your galleries load faster. Cloud providers have servers distributed around the world. When a client in London views your gallery, images can be served from a European data center instead of traveling from a server in Texas. Some providers include built-in CDN (Content Delivery Network) capabilities, which means images are cached at edge locations close to your clients automatically.
Your server performs better. Serving large image files puts real load on a web server. When that work gets offloaded to cloud storage, your server can focus on running WordPress, processing requests, and handling checkout.
Your bandwidth costs drop. Many hosting plans charge overage fees when you exceed bandwidth limits. Those fees can range from $0.10 to $0.50 per GB. Cloud storage bandwidth is typically much cheaper, especially at scale.
What to Look for in a Provider
Before comparing specific providers, here's what actually matters for photography galleries:
Storage cost — How much per GB/TB to store your images. This is your monthly baseline.
Egress (bandwidth) cost — How much it costs when clients view your galleries. Every image load transfers data from the cloud to the browser. This can add up fast.
CDN included — A CDN caches images at servers worldwide for faster loading. Some providers include this, others require a separate CDN service on top.
Image privacy — Your full-resolution originals need to be private, served through expiring signed URLs. Thumbnails can be public. Make sure your provider supports this.
Setup complexity — Some providers are genuinely simple. Others have multiple dashboards, IAM policies, and bucket configurations to wrangle.
EU data storage (GDPR) — If you or your clients are in Europe, GDPR may require that image data stays within the EU. Check whether the provider offers EU storage regions — and whether the company itself is based in the EU, which affects how data requests from foreign governments are handled.
The 9 Providers Compared
Here's the pricing side by side. All numbers are approximate and based on current published rates.
| Provider | Storage (per TB/mo) | Egress Cost | CDN Included | EU Storage | Setup |
|---|---|---|---|---|---|
| Bunny.net | ~$10 | Low CDN rates | Yes | Yes (EU-based company) | Easy |
| Wasabi | ~$7 | Free | No | Yes | Easy |
| Backblaze B2 | ~$6 | Free (up to 3x storage) | No | Yes | Easy |
| Cloudflare R2 | ~$15 | Free | No (Cloudflare CDN available) | Yes | Moderate |
| DigitalOcean Spaces | ~$20 | $0.01/GB past 1TB | Yes | Yes | Easy |
| Linode | ~$20 | $0.01/GB past 1TB | No | Yes | Easy |
| Amazon S3 | ~$23 | $0.09/GB | No (CloudFront extra) | Yes | Complex |
| Google Cloud Storage | ~$20 | $0.12/GB | No | Yes | Complex |
| Custom S3-Compatible | Varies | Varies | Varies | Varies | Varies |
Now let's look at each one.
Bunny.net — Best Overall for Photographers
Bunny.net is what I recommend for most photographers.
Storage costs $0.01 per GB per month — roughly $10 per TB. But the real advantage is that Bunny.net isn't just storage — it's storage with a built-in CDN. When you upload images, they're automatically served through a global CDN with over 100 points of presence worldwide.
With other providers, you store images in one location and need a separate CDN for global delivery. With Bunny, it's all one system. Upload, store, deliver — done.
Bunny also handles image privacy through Token Authentication. Your full-resolution gallery images are protected with expiring signed URLs without needing bucket permission policies.
The math: 500 GB of gallery images costs about $5/month for storage. Add minimal CDN bandwidth and you're looking at $6-8 total per month for storage AND global delivery. Try getting that from AWS.
Best for: Most photographers, especially those serving clients internationally or wanting the simplest setup.
The Cloud Storage addon for Sunshine Photo Cart includes full Bunny.net integration with automatic CDN delivery and Token Authentication for image privacy. See the setup guide.
Wasabi — Cheapest Raw Storage
Wasabi costs around $7 per TB per month with no egress fees. Hard to beat on pure cost.
The catch: a 90-day minimum retention period. Delete files before 90 days and you're still charged for the full period. For photography galleries this is rarely an issue — you're not deleting images after a few weeks.
No CDN included. If your clients are all in the same region as your bucket, that's fine. For international clients, you might want Cloudflare in front of it.
Best for: Budget-conscious photographers with primarily local/regional clients.
Backblaze B2 — Simple and Affordable
Backblaze B2 is the cheapest pure storage at roughly $6 per TB per month.
Egress is free up to 3x your average monthly storage. Storing 1 TB gets you 3 TB of free bandwidth per month — more than enough for most galleries.
No built-in CDN, but Backblaze has a partnership with Cloudflare that lets you serve files through Cloudflare's CDN for free. That combo is very cost-effective if you're comfortable with the extra setup.
Best for: Photographers wanting the absolute lowest cost who are comfortable with a slightly more technical CDN setup.
Cloudflare R2 — Zero Egress Fees
Cloudflare R2 charges $0.015 per GB per month (~$15/TB) with zero egress fees. No matter how many clients view your galleries, you pay nothing for bandwidth.
The trade-off: R2 charges for operations — $0.36 per million read requests and $4.50 per million write requests. For most photography use cases these costs are minimal.
No CDN by default, but since it's Cloudflare, you can add their CDN relatively easily.
Best for: Photographers with high-traffic galleries where egress fees would otherwise add up.
DigitalOcean Spaces — Simple with CDN
DigitalOcean Spaces starts at $5 per month for 250 GB and 1 TB of bandwidth. It includes a built-in CDN — one of only two providers on this list that does (alongside Bunny.net).
Storage pricing is middle-of-the-road at ~$20/TB, comparable to Amazon S3 without the complexity.
Best for: Photographers already on DigitalOcean, or those who want CDN included without learning a new platform.
Linode — Akamai-Backed
Linode (now part of Akamai) offers similar pricing to DigitalOcean — $5 per month for 250 GB and 1 TB of outbound transfer. No built-in CDN, but being backed by Akamai could mean CDN integration options down the road.
Best for: Photographers already using Linode/Akamai infrastructure.
Amazon S3 — The Industry Standard
Amazon S3 is the most widely used cloud storage in the world — incredibly reliable and scalable. But it's also the most complex and one of the more expensive options for photographers.
Storage runs $0.023 per GB (~$23/TB). Egress is where it gets expensive at $0.09 per GB. With moderate gallery traffic, bandwidth costs can easily exceed storage costs.
Setup requires creating IAM users, configuring bucket policies, managing ACL permissions, and potentially setting up CloudFront separately for CDN. It works, but there are more steps than any other provider here.
Best for: Photographers who already use AWS, or those with specific enterprise requirements.
Google Cloud Storage — Google's Alternative
Google Cloud Storage is similar to S3 in capability and complexity. Standard storage costs about $0.020 per GB (~$20/TB), with egress at $0.12 per GB — the most expensive bandwidth in this comparison.
Setup involves creating a service account with a JSON key file, which feels more technical than the access key / secret key pattern used by everyone else.
Best for: Photographers already invested in Google Cloud Platform.
Custom S3-Compatible — The Flexible Option
The Cloud Storage addon also supports any service that implements the S3 API. If there's a regional or smaller provider you prefer, you can use it by entering a custom endpoint.
Best for: Photographers with specific provider or regional requirements.
GDPR Compliance: Which Providers Store Data in the EU?
If you photograph clients in Europe, GDPR is something you need to think about. Client photos are personal data under GDPR, and your clients may expect — or legally require — that their images stay within the EU.
The good news: every provider on this list offers EU storage regions. You can store gallery images in European data centers with any of them.
The more nuanced question is where the company itself is headquartered. US-based companies are subject to the US CLOUD Act, which means US authorities can compel them to hand over data — even if that data is physically stored in an EU data center. For most photographers this is unlikely to be a practical concern, but if your clients or contracts require the strongest possible data protection, it matters.
| Provider | HQ Location | EU Storage Regions |
|---|---|---|
| Bunny.net | Slovenia (EU) | Frankfurt, London, Stockholm, Madrid, Prague |
| Wasabi | USA | Amsterdam, Frankfurt, London, Paris |
| Backblaze B2 | USA | Amsterdam |
| Cloudflare R2 | USA | EU jurisdiction option |
| DigitalOcean Spaces | USA | Amsterdam, Frankfurt |
| Linode | USA | Frankfurt |
| Amazon S3 | USA | Ireland, Frankfurt, Paris, Stockholm, Milan + more |
| Google Cloud Storage | USA | Belgium, Finland, Frankfurt, Netherlands, Milan + more |
Bunny.net is the only EU-headquartered provider on this list. Based in Slovenia, it's not subject to the US CLOUD Act. Bunny also offers EU-only CDN routing, which ensures European visitors are served exclusively through European edge servers. If GDPR compliance is a priority, this is a meaningful advantage.
Every provider listed offers a Data Processing Agreement (DPA) — that's the baseline legal document you need to process personal data on behalf of your clients under GDPR. Most make it available on their website or on request.
If you want an EU-based provider beyond Bunny.net, the Custom S3-Compatible option opens the door to companies like OVHcloud (France), Scaleway (France), and Hetzner (Germany) — all EU-headquartered with S3-compatible storage.
The practical takeaway: Choose any provider with an EU region, select that region when creating your storage bucket, and sign their DPA. That covers the basics. For the strongest legal protection, go with an EU-based company like Bunny.net.
Which One Should You Pick?
Here's my honest take after building and testing all nine integrations:
For most photographers: Bunny.net. Low storage costs, integrated CDN, simple setup, and built-in image privacy. Storage AND global CDN delivery for roughly $10/TB per month with no separate services to configure. It's also the only EU-headquartered provider on this list — a real advantage if GDPR compliance matters to you.
If budget is your top priority: Wasabi or Backblaze B2. Wasabi at ~$7/TB with free egress is hard to argue with. Backblaze at ~$6/TB with free Cloudflare CDN integration is the cheapest way to get storage plus CDN.
If you're already on a platform: Stay there. If you're an existing DigitalOcean, Linode, AWS, or Google Cloud user, use what you know. The convenience of a familiar platform is worth a few dollars per month.
If you get heavy traffic: Cloudflare R2. Zero egress fees means completely predictable costs regardless of how many clients view your galleries.
A Real-World Cost Example
Say you're a wedding photographer with 200 galleries, 1 TB of image data, and 500 GB of monthly bandwidth from clients viewing galleries.
| Setup | Monthly Cost |
|---|---|
| Amazon S3 + CloudFront | ~$65 |
| Amazon S3 (no CDN) | ~$68 |
| Cloudflare R2 | ~$15 |
| Bunny.net (storage + CDN) | ~$12-15 |
| Wasabi (no CDN) | ~$7 |
| Backblaze B2 + Cloudflare CDN | ~$6 |
The gap between S3 and Bunny.net alone is $600+ per year. That's real money back in your pocket.
Ready to offload your gallery images to the cloud? The Cloud Storage addon supports all nine providers and includes a built-in migration tool. See the setup documentation to get started.
How It Works with Sunshine Photo Cart
One thing to be clear about: you don't upload images directly to your cloud provider. Your workflow stays exactly the same.
You upload images to your gallery through the WordPress admin — drag-and-drop or FTP, same as always. Sunshine processes them (resizing, watermarking, generating thumbnails), and then the Cloud Storage addon automatically uploads the processed files to your chosen provider. The URLs get rewritten behind the scenes so everything just works.
Your clients never know the difference. Same gallery, same images, same experience. The images just happen to be served from the cloud instead of your web server.
If you already have galleries, the addon includes a migration tool that analyzes your existing images, shows you how much data needs to move, and processes everything in the background with a progress bar. If you were previously using WP Offload Media, the addon can read those files too.
For photographers who use Volume Galleries for school or sports photography, the addon also lets you import photos directly from cloud storage folders — upload processed images to a bucket and create galleries straight from there.
Getting Started Tips
Start with one provider and stick with it. Don't overthink it. If you want the best all-in-one value, go with Bunny.net. If you want the cheapest raw storage, pick Wasabi.
Test with a few galleries first. Before migrating everything, try it with a handful of galleries. Make sure URLs load properly and your workflow feels good. Then scale up.
Keep your bucket organized. Use a folder structure (year/month or by gallery) so you can browse your bucket directly if needed. Good tools handle this automatically.
Store credentials securely. Most integrations let you store access keys in your wp-config.php file instead of the database, which is more secure.
Cloud storage is one of those investments that pays off quietly — your hosting stays fast, your storage scales painlessly, and your clients get a better experience. If you're running more than a few dozen galleries, it's worth the setup time.
New to Sunshine Photo Cart? Get the free version and start building your client galleries. Cloud Storage is available as an addon or as part of the Pro plan.