Tag: WordPress media

  • Cloudflare R2 Pricing for WordPress: Storage, Egress Fees, and Real Costs

    Cloudflare R2 Pricing for WordPress: Storage, Egress Fees, and Real Costs

    Cloudflare R2 pricing for WordPress matters because image-heavy websites do not only pay for storage. They also pay for delivery, bandwidth, requests, and plugin setup. Many WordPress users compare storage prices and miss the bigger cost: egress fees.

    Cloudflare R2 changes that calculation. R2 includes a free tier, low storage pricing, and zero egress fees. That means you can store media files in object storage and avoid the usual outbound transfer charges that make image delivery expensive on some cloud platforms.

    However, R2 is not completely free. Storage stays free only up to the free tier. Request operations can also create small charges. Therefore, the smart way to understand Cloudflare R2 pricing for WordPress is to look at storage, operations, egress, and WordPress integration together.

    This guide explains the real R2 cost structure, how it compares with Amazon S3, when it makes sense for WordPress, and how Image Offload helps connect WordPress media libraries to Cloudflare R2. For the full setup process, read our guide on how to offload WordPress media to Cloudflare R2.

    Quick Answer: Cloudflare R2 Pricing for WordPress

    Cloudflare R2 gives you 10 GB-month of free storage each month. It also includes 1 million Class A operations and 10 million Class B operations each month. After that, Standard storage costs $0.015 per GB-month, Class A operations cost $4.50 per million requests, and Class B operations cost $0.36 per million requests.

    The biggest advantage is egress. Cloudflare R2 charges $0 for data transfer to the internet. So if your WordPress site serves large image files to visitors, R2 can reduce delivery costs compared with storage services that charge outbound transfer fees.

    Still, you should not describe R2 as fully free. A better summary is simple: R2 has a free storage tier, paid storage after 10 GB-month, request operation charges after free limits, and zero internet egress fees.

    Why Egress Fees Matter for WordPress

    WordPress sites often grow their media libraries faster than expected. A small blog may start with a few images per post. Over time, it may hold thousands of thumbnails, featured images, product photos, gallery files, PDFs, and downloadable assets.

    Storage alone rarely causes the biggest bill. Delivery creates the real cost.

    Every time a visitor loads a page, the browser requests images. A product page may load a main image, gallery images, thumbnails, logos, icons, and related product images. A blog post may load a featured image, inline images, author images, and responsive sizes. As traffic grows, those image requests increase.

    Traditional object storage services often charge for outbound data transfer. If your site sends hundreds of gigabytes or several terabytes of images every month, egress fees can become more expensive than storage.

    Cloudflare R2 pricing for WordPress looks attractive because it removes that egress line item. You still pay for storage and operations when you exceed the free tier, but you do not pay Cloudflare for internet data transfer out of R2.

    Cloudflare R2 Pricing Breakdown

    Cloudflare R2 has three main pricing parts.

    1. Storage

    R2 Standard storage includes 10 GB-month per month for free. After that, Cloudflare charges $0.015 per GB-month.

    Stored MediaEstimated R2 Storage Cost
    10 GBUsually within free tier
    100 GBAround $1.50 per month
    500 GBAround $7.50 per month
    1 TBAround $15 per month

    These numbers only show storage. They do not include request operation costs. However, for many WordPress sites, storage remains predictable and low.

    2. Class A Operations

    Class A operations include writes and list actions. In WordPress terms, these usually happen when you upload files, sync files, or manage objects.

    Cloudflare includes 1 million Class A operations per month for free. After that, Class A operations cost $4.50 per million requests.

    Most normal WordPress sites will not worry much about Class A costs unless they run large imports, frequent migrations, or heavy automation.

    3. Class B Operations

    Class B operations include reads. These happen when files get requested from R2.

    Cloudflare includes 10 million Class B operations per month for free. After that, Class B operations cost $0.36 per million requests.

    High-traffic image sites should watch this number, but Class B costs usually remain much lower than egress fees on platforms that charge outbound bandwidth.

    4. Egress

    Cloudflare R2 charges $0 for internet egress.

    That is the main reason WordPress users compare R2 with Amazon S3, Google Cloud Storage, and other object storage services. If your site serves a large amount of image traffic, zero egress can change the total monthly cost.

    Check – Cloudflare R2 pricing calculator

    Cloudflare R2 vs Amazon S3 for WordPress

    Amazon S3 works well and has a mature ecosystem. Many WordPress offload plugins started with S3 support because S3 became the default object storage standard.

    However, S3 pricing includes more than storage. AWS gives customers a monthly free regional data transfer allowance to the internet, but usage above that can create transfer charges. For image-heavy WordPress sites, that matters.

    Cost FactorAmazon S3Cloudflare R2
    StorageCommonly around $0.023 per GB-month depending on region$0.015 per GB-month
    Free storage tierDepends on the AWS account and free tier terms10 GB-month per month
    Internet egressFree allowance first, then paid transfer$0
    100 GB storageAround $2.30 per monthAround $1.50 per month
    Large image deliveryCan create outbound transfer costNo R2 egress fee

    For example, imagine a WordPress site stores 100 GB of images and serves around 1 TB of image data per month. With S3, the first part of that data transfer may fall under the monthly free allowance, but the rest can still create a meaningful outbound transfer bill. With R2, that same outbound transfer does not create an egress fee.

    This does not mean R2 costs nothing. It means R2 removes the bandwidth charge that often surprises media-heavy sites.

    Read – Amazon S3 pricing

    Is R2 a CDN?

    No. Cloudflare R2 is object storage. It stores files such as images, PDFs, videos, and downloads.

    A CDN helps deliver files quickly from locations close to visitors. R2 can work very well with Cloudflare’s network, especially when you use the right domain and caching setup. Still, you should not treat R2 alone as a complete WordPress image optimization system.

    For WordPress, the challenge includes more than storage. You also need URL rewriting, responsive image handling, WebP delivery, fallback behavior, media library status tracking, and safe migration from local storage to cloud storage.

    That is where a WordPress plugin becomes useful.

    How Image Offload Helps WordPress Users Use R2

    Image Offload is a WordPress media offloading plugin currently in pre-launch. It helps WordPress users connect their media library to Cloudflare R2 without manually handling every part of the offload workflow.

    The free version does not require signup. Users can connect WordPress to Cloudflare R2 and offload new uploads without creating an account. Existing media library bulk offload belongs to Solo and higher paid plans.

    Image Offload supports WebP conversion for all users, including the free version. AVIF is planned as a paid feature. It also supports <picture> markup and srcset, so browsers can choose optimized image sources when available.

    For paid plans, Image Offload adds managed conversion servers and bulk migration. The confirmed pricing structure is Free, Solo at $49 per year, Agency at $129 per year, and Enterprise at $249 per year. Pricing information can change before or after launch, so users should verify current pricing before buying.

    Image Offload Feature Overview

    FeatureStatus
    Free usage without signupYes
    Cloudflare R2 connectionFree
    Existing media bulk offloadFree
    New upload offloadFree
    Existing media bulk offloadPaid, Solo and above
    WebP conversionFree
    AVIF conversionComing soon, paid
    <picture> markupFree
    srcset supportFree
    Managed conversion serversPaid
    Local file deletionOptional
    R2 existence check before deletionYes
    Custom domain supportComing soon, paid
    Public bucket URLsDefault
    Gutenberg supportYes
    WooCommerce supportYes
    Multisite supportPlanned for Agency

    Image Offload does not currently claim support for every page builder. Do not assume compatibility with Elementor, Divi, Bricks, Oxygen, CSS background image rewriting, or serialized page builder data unless your setup has been tested.

    What Happens If R2 Becomes Unavailable?

    Image Offload uses <picture> markup so browsers can load optimized WebP files from R2 while keeping the original image URL available as the <img> fallback.

    If you keep local copies after offload, your site can fall back to serving original images from your WordPress server if R2 becomes unavailable. This gives cautious site owners an extra layer of protection.

    If you choose to delete local files after offload, image delivery depends on R2 after successful offload. That is the same tradeoff found in cloud offload workflows. You save server storage, but your cloud storage layer becomes required for delivery.

    To reduce risk, Image Offload verifies that the file exists in R2 before deleting the local copy. Local deletion does not happen blindly.

    Who Should Use Cloudflare R2 for WordPress?

    Cloudflare R2 pricing for WordPress makes the most sense for sites with growing media libraries and meaningful image traffic.

    R2 is a strong fit for:

    • WooCommerce stores with many product images
    • Photography portfolios
    • Design and creative agency sites
    • Content-heavy blogs
    • Travel websites
    • Food blogs
    • LMS and course websites
    • Membership sites with downloadable files
    • Agencies managing many WordPress sites
    • Developers who want object storage without egress fees

    If your hosting storage keeps filling up, or your bandwidth cost keeps rising, R2 deserves serious attention.

    Who May Not Need R2 Yet?

    Not every WordPress site needs object storage immediately.

    You may not need R2 if your site has a small media library, low traffic, and enough hosting storage. You may also wait if your setup relies heavily on untested page builders, custom CSS background images, or complex media handling.

    In addition, users who want zero technical setup should know that R2 still requires a Cloudflare bucket and API tokens. Image Offload simplifies WordPress integration, but users still create their own R2 bucket and access credentials.

    How to Estimate Your R2 Cost

    Follow this simple process.

    1. Step 1: Check Your Media Library Size

      Look at your uploads folder or hosting storage panel. Estimate how many gigabytes your images and media files use.

    2. Step 2: Estimate Monthly Image Delivery

      Use analytics, CDN logs, hosting bandwidth reports, or server logs. Find out how much image traffic your site serves monthly.

    3. Step 3: Calculate R2 Storage

      Multiply storage above the free tier by $0.015 per GB-month.

    4. Step 4: Consider Request Operations

      Most normal WordPress sites will not see large request costs. Still, high-traffic websites should estimate Class B read operations.

    5. Step 5: Compare Against S3-Style Egress

      If your current storage provider charges outbound transfer, estimate that cost separately. This is where R2 often wins.

    Practical Recommendation

    Do not choose object storage based on storage price alone. For WordPress, image delivery matters more than many site owners realize.

    Cloudflare R2 pricing for WordPress works best when you combine three benefits: low storage cost, free egress, and a plugin that handles WordPress media behavior correctly.

    If you want the lowest-risk setup, keep local copies after offload. If you want to save server disk space, enable local deletion only after you understand the R2 dependency.

    Image Offload is currently in pre-launch. Join the waitlist to get early access when the plugin becomes available.

    Frequently Asked Questions

    Does Cloudflare R2 charge egress fees?

    No. Cloudflare R2 does not charge internet egress fees. Storage and request operation costs still apply after the free tier.

    Is Cloudflare R2 storage free?

    Cloudflare R2 includes 10 GB-month of free Standard storage each month. After that, Standard storage costs $0.015 per GB-month.

    Is Cloudflare R2 cheaper than Amazon S3 for WordPress?

    Cloudflare R2 can be cheaper for image-heavy WordPress sites because it charges zero egress fees. Amazon S3 remains powerful, but outbound transfer can add cost after the free allowance.

    Can I use Cloudflare R2 for WordPress images?

    Yes. WordPress can use R2 for media storage through plugins that support R2 or S3-compatible object storage.

    Does Image Offload require signup for the free version?

    No. The free version does not require a sign-up. Users can connect WordPress to Cloudflare R2 and offload new uploads.

    Does Image Offload support WebP?

    Yes. WebP conversion is available for all users, including the free version.

    Does Image Offload support AVIF?

    AVIF is planned as a paid feature and should not be treated as live until release.

    What happens if R2 goes down?

    If you keep local copies, browsers can fall back to original WordPress image URLs. If you delete local files after offload, image delivery depends on R2 being available.

    Does Image Offload support WooCommerce?

    Yes. Image Offload supports WooCommerce product images.

    Does Image Offload support custom domains?

    Custom domain support is planned as a paid feature. Public R2 bucket URLs work by default.

    How to Use Cloudflare R2 With WordPress

    • Create a Cloudflare R2 bucket.
    • Create the required R2 API token.
    • Install Image Offload when early access opens.
    • Add your R2 credentials in the plugin settings.
    • Choose whether to keep local copies or delete them after successful offload.
    • Enable WebP delivery if needed.
    • Test new uploads.
    • Check media library status badges for offloaded, pending, or failed items.
    • Use paid bulk migration if you want to offload an existing media library.
    • Monitor storage, operations, and image delivery behavior.

    Cloudflare R2 pricing for WordPress becomes most powerful when you use it with a safe media workflow. R2 handles storage and removes egress fees. Image Offload handles the WordPress side of the problem.

  • How to Offload WordPress Media to Cloudflare R2 (Complete Guide)

    How to Offload WordPress Media to Cloudflare R2 (Complete Guide)

    If you want to offload WordPress media to Cloudflare R2, the right plugin can reduce server load, improve image delivery, and remove bandwidth-based storage surprises. Image Offload & Optimize connects your WordPress media library to an R2 bucket and rewrites media URLs so images load from Cloudflare’s network instead of your server. Enter your R2 credentials, point to your bucket, and new uploads can offload automatically — no complex IAM policies, no egress fees, and no separate CDN plugin required.

    Key Highlights

    • Cloudflare R2 charges zero egress fees — you pay for storage, not bandwidth
    • Image Offload & Optimize handles offloading, WebP/AVIF conversion, and CDN delivery in one plugin
    • The Solo plan costs $49/year for unlimited media offloading, while WP Offload Media’s entry plan limits media items and its unlimited agency tier costs $1,199/year.
    • R2 setup is simpler than Amazon S3 — no region selection, no bucket policy debugging
    • Existing media libraries can be migrated to R2 without breaking your current URLs

    See all Image Offload & Optimize features if you want the full list of supported storage, conversion, and delivery options.

    Why Offload WordPress Media to Cloudflare R2?

    Your Server Shouldn’t Be a File Server

    Web servers are optimized for processing PHP and serving dynamic content. They are not efficient file servers. Every time a visitor loads an image hosted on your origin server, that request consumes CPU cycles, memory, and bandwidth that could be serving actual page requests.

    Offloading moves static media to purpose-built object storage. Your server handles WordPress. Cloudflare handles the files. The separation is clean, and the performance improvement is measurable, particularly on shared hosting and mid-tier VPS plans where resources are constrained.

    WordPress media offloading before and after Cloudflare R2 setup

    The Egress Fee Problem with Amazon S3

    Amazon S3 charges for egress — every gigabyte that leaves S3 to reach a user costs money. For a site serving 500GB of images per month, AWS egress charges alone can run $45–$90/month, depending on region, before you factor in request costs. That figure catches people off guard when the first bill arrives.

    Cloudflare R2 eliminates egress fees entirely. You pay for storage (currently $0.015/GB/month) and API operations, but bandwidth is free. For image-heavy sites, this is a significant structural cost advantage over S3. At 500GB/month, you save roughly $540–$1,080 per year in egress charges alone.

    Cloudflare R2 vs Amazon S3 egress fee comparison for WordPress media

    Performance Gains from WordPress Media Offloading

    When images are served from Cloudflare’s edge network, they load from a data center physically close to each visitor. Latency drops. Time-to-first-byte for images improves. Combined with modern formats like WebP and AVIF, the cumulative effect on Core Web Vitals, particularly Largest Contentful Paint, can be substantial.

    Google’s own guidance on image optimization treats format modernization and delivery optimization as among the highest-impact changes you can make to page performance.

    When You May Not Need R2 Offloading Yet

    If your WordPress site has only a small media library, low traffic, and a fast host with enough bandwidth, you may not need to offload WordPress media to Cloudflare R2 immediately. Start with image compression, caching, lazy loading, and basic performance cleanup first. R2 becomes more valuable when your image library grows, bandwidth usage increases, or you manage multiple client sites.

    Understanding Cloudflare R2 for WordPress Media Offloading

    S3-Compatible API

    R2 uses the same API as Amazon S3. Any plugin built to work with S3 can work with R2 with minimal configuration changes. Purpose-built R2 support — like what Image Offload & Optimize provides — makes the initial setup faster and removes the trial-and-error that comes with adapter-based workarounds. The easiest way to offload WordPress media to Cloudflare R2 is to use a plugin that handles storage connection, URL rewriting, and existing media migration from one dashboard. This avoids the manual setup normally required when using generic S3-compatible plugins with R2.

    No Egress Fees

    Cloudflare’s R2 pricing page confirms no charge for data transferred out of R2 to the internet. Current pricing breaks down as follows:

    • Storage: $0.015/GB/month (first 10GB free)
    • Class A operations (writes/uploads): 1 million free per month (then $4.50 per million)
    • Class B operations (reads/downloads): 10 million free per month (then $0.36 per million)

    For most small to medium WordPress sites, these generous limits mean your monthly R2 storage and API bill may remain at $0.00, depending on usage.

    Global CDN Without Extra Configuration

    R2 buckets connect directly to Cloudflare’s edge network. Enable a public bucket or connect a custom domain, and your images are delivered from Cloudflare’s worldwide data centers. You don’t need to configure a separate CDN — the delivery infrastructure is already there.

    No Regional Complexity

    Amazon S3 requires you to choose a region, configure bucket policies to match, ensure your IAM roles have the right regional permissions, and troubleshoot CORS errors that vary by region. R2 has no regions. You create a bucket, get your credentials, and connect. That simplicity matters when you’re managing multiple client sites under a deadline.

    “For a full cost breakdown across different traffic volumes and site sizes, see our Cloudflare R2 pricing guide for WordPress.

    How to Offload WordPress Media to Cloudflare R2 with Image Offload & Optimize

    Step 1: Create Your R2 Bucket

    Log in to your Cloudflare dashboard. Navigate to R2 Object Storage and create a new bucket. Give it a descriptive name — for example, yoursite-media. No region selection is required.

    Create Cloudflare R2 bucket for WordPress media offloading

    Step 2: Generate R2 API Credentials

    In your Cloudflare dashboard, go to R2 > Manage R2 API Tokens. Create a new token with Object Read & Write permissions scoped to your bucket. Copy your Access Key ID and Secret Access Key — you’ll only see the secret key once, so store it immediately.

    Also copy your Account ID from the right sidebar of the R2 dashboard. You’ll use it to construct your R2 endpoint URL:

    https://<ACCOUNT_ID>.r2.cloudflarestorage.com
    Generate Cloudflare R2 API credentials for WordPress media offloading

    Step 3: Install and Configure Image Offload & Optimize

    Install the plugin from the WordPress plugin directory or your account dashboard. In WordPress, go to Settings > Image Offload & Optimize.

    Select Cloudflare R2 as your storage provider. Enter your Access Key ID, Secret Access Key, bucket name, and endpoint URL. The plugin handles the storage connection and URL rewriting, reducing the manual setup normally required for R2-based media offloading. There is nothing else to configure at this stage.

    For a full setup overview, see how Image Offload & Optimize works from upload to delivery.

    Step 4: Configure URL Rewriting

    The plugin rewrites WordPress media URLs to point to your R2 bucket or your custom Cloudflare domain if you’ve connected one. New uploads offload automatically. Existing media can be bulk-migrated using the plugin’s offload tool, which copies files to R2 and updates URLs in the WordPress database.

    WordPress media URL rewriting for Cloudflare R2 offloading

    Step 5: Test Before Migrating Old Content

    Upload a new image in the WordPress media library. Right-click the image and inspect its URL — it should now point to your R2 bucket endpoint or custom domain, not your origin server. Confirm the image loads from Cloudflare in your browser’s Network tab. Once new uploads are working correctly, run the bulk migration for your existing library.

    Test WordPress media offloading before migrating existing files to Cloudflare R2

    Advanced Optimization: WebP, AVIF, CDN Delivery, and Picture Tags

    Offloading without optimizing is a missed opportunity. Moving files to R2 reduces server load and eliminates egress costs, but it doesn’t change the file format or size. That’s where Image Offload & Optimize goes further than most offloading plugins.

    WebP and AVIF Conversion

    On the free tier, the plugin converts images to WebP and AVIF locally on your server during upload. On paid tiers (Solo and above), conversion happens on managed servers, removing the CPU overhead from your WordPress install entirely.

    AVIF typically achieves 50–60% smaller file sizes than JPEG at equivalent visual quality. WebP averages 25–35% smaller than JPEG. Serving a 200KB JPEG as a 90KB WebP or a 75KB AVIF — multiplied across thousands of page loads — produces real, measurable LCP improvements.

    Picture Tags and srcset

    Standard WordPress image output uses <img> tags with srcset for responsive images. Image Offload & Optimize wraps images in <picture> tags, so browsers select the most efficient format they support. A browser supporting AVIF gets the AVIF version. A browser that supports only WebP gets WebP. Older browsers fall back to the original format.

    Picture tag delivery for WordPress WebP and AVIF images

    This implementation doesn’t break older browsers. It requires no JavaScript. Format selection happens natively using established HTML5 standards.

    What Most Plugins Miss

    Most WordPress offloading plugins stop at URL rewriting. They move files to cloud storage, rewrite links, and that’s it. Format conversion and intelligent delivery require separate plugins — which introduces potential conflicts, additional configuration overhead, and more plugin update cycles to manage.

    Having offloading, conversion, and CDN delivery in one plugin reduces surface area for errors. One settings panel. One update cycle. One support relationship if something breaks.

    Image Offload & Optimize vs. WP Offload Media

    The comparison is direct. Here’s what the numbers actually show:

    FeatureImage Offload & Optimize (Solo)WP Offload Media (Bronze)
    Media Library Limits✅ YesCapped (2,000 items)
    Native 1-Click R2 Setup✅ Yes❌ No (Manual S3 mapping)
    Cloudflare R2 Support✅ Yes❌ No (Generic S3 only)
    Image Optimization✅ Yes❌ No
    CDN Delivery✅ Yes❌ No (Requires manual config)
    Cloudflare CDN Integration✅ Yes❌ No
    Backblaze B2 Support✅ Yes⚠️ Limited
    WebP/AVIF Conversion✅ Yes (Managed Servers)❌ No
    Picture Tag Delivery✅ Yes (Native HTML5)❌ No
    Annual Cost (Entry)$49/year$39/year
    Unlimited Agency Cost$129/year$1,199/year
    Free Tier Available✅ Yes❌ No

    The free tier from Image Offload & Optimize is a compelling alternative to no optimization at all. For agencies, the $129/year plan is significantly cheaper than WP Offload Media’s $1,199/year unlimited agency tier.

    WP Offload Media is a mature and widely used plugin, but its entry-level plan may not be the best fit for image-heavy WordPress sites or agencies managing large media libraries. The lower-tier plan includes a media item limit, and Cloudflare R2 setup typically requires using S3-compatible configuration rather than a dedicated one-click R2 workflow.

    It is a strong option for users who already understand S3-style storage setups, but site owners who want native R2 support, built-in WebP/AVIF conversion, and simpler media optimization may find Image Offload & Optimize easier to manage.

    Image Offload & Optimize takes a different approach: an unmetered architecture. At $49/year, the Solo plan gives you unlimited media offloading, native R2 support, and managed WebP/AVIF conversion. For agencies, our $129/year plan offers a massive cost reduction compared to WP Offload Media’s $1,199 unlimited tier, allowing you to scale client builds without arbitrary limits.

    Image Offload and Optimize vs WP Offload Media comparison for Cloudflare R2

    Best Practices to Offload WordPress Media to Cloudflare R2

    Keep local copies until you’ve verified everything. Don’t delete local files immediately after migration. Confirm that all URLs are rewriting correctly and that your backup strategy covers R2 content — some backup plugins exclude offloaded media by default.

    Use a custom domain for your R2 bucket. Connecting a subdomain like media.yoursite.com to your R2 bucket produces cleaner URLs, gives you control over CDN cache headers, and means you can switch storage providers later without updating thousands of URLs sitewide.

    Monitor R2 usage periodically. Storage costs are low, but orphaned files — images deleted in WordPress but not removed from R2 — accumulate over time. A quarterly audit of your R2 bucket prevents gradual cost creep.

    Before you offload WordPress media to Cloudflare R2 at scale, test new uploads, verify rewritten URLs, and confirm your backup process includes offloaded files.

    Test new uploads before migrating old content. Upload a few images, verify they render correctly in WebP and AVIF on the front end, then run the bulk migration. Fixing format or URL issues after a full migration is substantially more work than catching them early.

    Clear your page cache after configuring offloading. If you’re running a full-page caching plugin, cached pages may continue referencing old local image URLs for some time after the switch. A cache flush immediately after setup prevents visitors from hitting broken image references during the transition.

    Why Image-Heavy Sites Should Offload WordPress Media to Cloudflare R2

    If you’re running a WordPress site with more than a few hundred media files, and your hosting plan strains under media delivery load, offloading to Cloudflare R2 is the correct decision. The economics are clear: storage costs are minimal, egress is free, and Cloudflare’s network provides global delivery without a separate CDN configuration.

    Use Image Offload & Optimize as your plugin. The free tier is functional enough to test the complete pipeline on a real site. The Solo plan at $49/year adds managed server conversion, removing CPU overhead from your WordPress install entirely. For agencies handling multiple client sites, the $129/year Agency plan covers the full workload at a fraction of what alternatives charge.

    The mistake most site owners make is treating offloading as a separate concern from optimization. They move files to cloud storage and stop there, leaving half the performance gains untouched. Format conversion and picture tag delivery complete the performance stack. Running all three through a single plugin is cleaner, cheaper, and far less likely to break than stitching together separate tools.

    Frequently Asked Questions

    What are the main benefits of offloading WordPress media to Cloudflare R2?

    Zero egress fees, global CDN delivery through Cloudflare’s existing network, simpler setup than Amazon S3, and predictable low storage costs are the four primary benefits. For sites serving significant image bandwidth, the absence of egress fees alone can save hundreds of dollars per year compared to S3. A site pushing 1TB/month in image bandwidth avoids roughly $90/month in AWS egress charges by switching to R2.

    How does Image Offload & Optimize handle existing media files when offloading to R2?

    The plugin includes a bulk migration tool that copies your existing media library to R2 and updates the corresponding URLs in the WordPress database. New uploads offload automatically after initial setup. Your original local files can be retained as a backup until you’ve confirmed the migration is complete and your backup workflow accounts for R2 content.

    Is Cloudflare R2 egress truly free, and what does that mean for costs?

    Yes — Cloudflare charges no egress fees for data transferred from R2 to the internet. Cloudflare’s R2 pricing documentation confirms this. You pay only for storage ($0.015/GB/month) and API operations. For a site serving 1TB of image bandwidth per month, this is the difference between a near-zero bandwidth bill and $90+ in AWS egress charges — every month.

    Can I convert images to WebP or AVIF when using R2 with Image Offload & Optimize?

    Yes. On the free tier, conversion runs locally on your server during image upload. On paid tiers (Solo and above), conversion is handled on managed servers, so the CPU load doesn’t affect your WordPress install. Converted images are stored in R2 alongside originals and served via picture tags based on each visitor’s browser support.

    How does Image Offload & Optimize compare to WP Offload Media for R2 users?

    WP Offload Media caps entry-level plans at just 2,000 media items, does not feature a 1-click native setup for Cloudflare R2, and offers zero image format optimization. To get unlimited file offloading, WP Offload Media charges $1,199/year. Image Offload & Optimize provides unmetered offloading, dedicated R2 integration, and managed WebP/AVIF conversion starting at just $49/year.

    Does Image Offload & Optimize support storage providers other than Cloudflare R2?

    Yes — the plugin supports Amazon S3 and Backblaze B2 in addition to Cloudflare R2. If you’re currently on S3 and want to evaluate R2’s cost profile, you can test R2 on a staging site without touching your existing production setup.

    If your site is image-heavy, now is the right time to offload WordPress media to Cloudflare R2 and stop using your web server as a media delivery system.

    Image Offload and Optimize WordPress plugin dashboard for Cloudflare R2 media offloading

    Start Offloading for Free

    Image Offload & Optimize’s free tier lets you connect Cloudflare R2, offload your media library, and verify the entire pipeline works on your actual site before spending anything. When you’re ready to move image conversion off your server entirely, the Solo plan at $49/year adds managed WebP and AVIF conversion – removing CPU overhead from your WordPress install and completing the performance stack. Install the free plugin, run the R2 setup, and see what your server load looks like without carrying your media library.