Cloudflare R2 Images

Cloudflare R2 image delivery, tested on my own site first.

I move your WordPress media to Cloudflare R2 with on-demand resizing and WebP delivery from the edge, the same setup my own site runs on. Your origin stops serving images, and your upload workflow doesn’t change.

500M+ search impressions earned on a site that serves its images from R2

Replies within 24 hours, usually the same day

What you are buying

₹12,000Fixed price, GST included
$149In dollars
One siteScope

Work delivered for, or alongside, teams at:

  • IBM
  • Adobe
  • HubSpot
  • Canva
  • monday.com
  • IATA
  • FreshBooks
  • Acer
  • ASUS
  • Airtel
  • BYJU’S
  • AppSumo
  • StellarWP
  • Copyleaks
  • Depositphotos
  • accessiBe

What it costs

One setup fee. The config I run myself.

You get the whole pipeline: bucket, Worker, WordPress integration, and migration of your existing library, validated end to end. R2 storage is billed by Cloudflare to your own account, with no egress fees.

R2 image optimization
₹12,000 $149fixed price · one site
  • R2 bucket set up and attached to your own domain
  • Edge Worker for on-demand resizing and WebP conversion
  • Lightweight WordPress integration, no heavy plugin
  • Migration of your existing media library to R2, validated
  • Pull-through caching for static assets like CSS and fonts
  • Before and after report on origin load and storage
Offload my images

Requires Cloudflare on your domain; the cache setup service handles that if it’s missing.

All prices include GST.

How this runs

You will know the price and the plan before I touch anything.

1

Baseline

I measure your media footprint: library size, thumbnail sprawl, and image weight on your heaviest pages. These are the numbers the final report gets compared against.

You leave with: the numbers we’re trying to beat.

2

Build

The R2 bucket and Edge Worker go up on your own domain and your own Cloudflare account. The Worker builds each image size on demand and caches it at the edge.

You leave with: an edge pipeline you own.

3

Integrate

A lightweight integration points WordPress at R2 and protects the resize endpoint with a secret. Your editors keep uploading exactly as before; nothing about the workflow changes.

You leave with: a media workflow that didn’t change.

4

Migrate

Existing uploads sync to R2 and get validated page by page, then I confirm images are serving from the edge and write up the before and after.

You leave with: measured results, not claims.

A note from me

How I run image delivery

I built this setup for my own site first, because WordPress’s habit of spawning thumbnails on every upload was bloating my storage and slowing my backups. The version I sell is the version I run.

The idea is simple: stop pre-generating sizes nobody asked for. The Worker builds exactly the size a visitor needs, converts it to WebP, and the edge caches it from then on.

I won’t solve this with a heavy optimization plugin. Those add database tables and settings screens to fix a problem they partly create.

— Gaurav

Before you write in

This isn’t for every site.

Worth starting

  • Your site is image-heavy: recipes, portfolios, product catalogs, photo-led articles.
  • LCP fails on pages where a big image is the largest element.
  • Bandwidth bills or hosting storage limits are creeping up on you.
  • Your uploads folder makes backups slow and restores nerve-wracking.
  • You’re on Cloudflare already, or willing to move your DNS there.

Look elsewhere

  • Your budget is under ₹12,000. A compression plugin plus lazy loading gets you part of the way for less.
  • Your site has a few dozen images. The setup would outweigh the gain; put the money into the ₹15,000 speed audit instead.
  • You can’t put your domain on Cloudflare. The Worker and edge cache depend on it.
  • You want video hosting or streaming. R2 can store video, but streaming is a different pipeline entirely.
  • You want cost-savings promises upfront. I report real before and after numbers, not projections.

If you want to:

  • Lighten every page right-sized WebP from the edge
  • Shrink your origin media served from R2, not your host
  • Keep your workflow uploads work exactly as before

Common questions

Not answered here? Ask directly and you will hear back within 24 hours.

₹12,000 fixed for one site, and the price includes GST. That covers the R2 bucket, the resizing Worker, WordPress integration, migration of your existing media library, and a before and after report. R2 storage itself is billed by Cloudflare to your account, and R2 charges nothing for bandwidth.

R2 is Cloudflare’s object storage with zero egress fees, meaning you don’t pay for bandwidth when images are served. Combined with an Edge Worker that resizes and converts on demand, it turns your media library into a fast global CDN without S3-style serving costs.

No. You and your team keep using the WordPress media library exactly as before. The integration handles storage and delivery behind the scenes, which is the point: infrastructure should change without your workflow noticing.

Yes. My own site serves its images through this exact R2 and Worker setup, which is why I can be specific about how it behaves in production. I built it for myself before I offered it to anyone.

It fixes the image part, which on image-heavy pages is usually the biggest part of LCP. If your real bottleneck is server response or JavaScript, this alone won’t save you, and I’ll say so. The speed audit tells you which case you’re in before you spend.

Gaurav Tiwari

About me

So, who’s watching your site?

Everything I would put on your site is running on mine first.

Care clients get the same stack I trust with my own traffic: GT Performance, Cloudflare, Redis, Hetzner.

I was a teacher before I was a developer. I taught mathematics to competitive-exam students, which is why I explain hard things plainly instead of hiding behind jargon.

What I am actually good at is the join: technical SEO, fast front-ends, and content treated as one system instead of three vendors blaming each other.

  • Author of GT Performance, my own caching engine
  • Hardening proven on my own production sites
  • Plugins on 10,000+ sites
  • WordPress Core contributor
  • 850+ clients since 2008
  • Building for the web since 2008

Tell me how big your media library is.

Send your domain and a rough image count. I’ll reply with what the move would look like on your stack and when I can start.

Replies within 24 hours, usually the same day