Install It. Upload an Image. Watch It Disappear From Your Server.
Image Offload & Optimize works silently in the background. You upload images the same way you always have. The plugin handles everything else — converting to the fastest format, moving to cloud storage, and rewriting every URL so your visitors get the fastest possible image without you changing anything about how you work.
How does WordPress image offloading work?
When you upload an image to WordPress, Image Offload & Optimize automatically converts it to WebP or AVIF format, uploads every image size to your cloud storage bucket (Cloudflare R2, Amazon S3, or Backblaze B2), deletes the local copy from your server, and rewrites all image URLs in your content — so visitors load images from the cloud instead of your hosting server. This happens automatically on every upload with no changes to your workflow.
Three Things Happen Every Time You Upload an Image
Your Image Gets Converted to the Fastest Format Automatically
The moment you upload an image, Image Offload & Optimize converts it to WebP — a modern format that is 30-35% smaller than JPEG at the same visual quality. If you have AVIF enabled, visitors with compatible browsers get AVIF instead — up to 50% smaller than JPEG.
You upload a JPEG. Your visitors get WebP or AVIF. Your site loads faster. Your Core Web Vitals score improves. You do nothing differently.
The original is always preserved. You can restore any image to its original format with one click.
Does WordPress automatically convert images to WebP?
WordPress 5.8+ can generate WebP on compatible servers, but many hosting environments do not support this reliably. Image Offload & Optimize handles WebP conversion on every upload regardless of your hosting environment — on paid plans, conversion runs on a dedicated server so it works even on cheap shared hosting where your server lacks the required libraries.
Every Image Size Moves to Cloud Storage — Your Server Disk Stays Clean
WordPress generates multiple sizes for every image you upload — a thumbnail, a medium size, a large size, and any custom sizes your theme uses. Every single one of those files gets moved to your cloud storage bucket.
Once the plugin confirms every file is safely in your bucket, the local copies are deleted. Your server disk stays clean. Your backups get smaller. Your hosting costs stop growing.
Nothing breaks during this process. If the upload to cloud storage fails for any reason, the local file is kept and the image continues to load normally. The plugin retries automatically.
What is the best cloud storage for WordPress images?
Cloudflare R2 is the most cost-effective option for most WordPress sites because it has zero egress fees — you are never charged for bandwidth when visitors download images. Amazon S3 is a strong choice for sites already on AWS infrastructure. Backblaze B2 offers the lowest storage cost per GB. Image Offload & Optimize supports all three with no extra plugins required.
Every Image URL in Your Content Updates Automatically
This is the step most plugins get wrong. Moving an image to cloud storage is easy. Making sure every reference to that image — in your Gutenberg blocks, your Elementor sections, your WooCommerce product pages, your theme templates — points to the new cloud URL is hard.
Image Offload & Optimize rewrites every image URL automatically. In Gutenberg blocks. In the classic editor. In Elementor and Divi. In WooCommerce product galleries. In srcset attributes so responsive images work correctly. In ACF custom fields.
Your visitors load images from your cloud bucket. Your server never serves a single image file. You change nothing about how you build your site.
Do I need to update image URLs after moving to S3 or R2?
No. Image Offload & Optimize rewrites all image URLs automatically — including in Gutenberg blocks, Elementor, WooCommerce, and custom fields. You do not need to run a find-and-replace in your database or manually update any content. The plugin handles URL rewriting in real time on every page load, so even historical content gets the correct cloud URL.
Free Plan: Conversion on Your Server.
Paid Plans: Conversion on Ours.
This is the most important thing to understand about how Image Offload & Optimize works differently from other plugins.
Conversion happens on your hosting server using the image libraries already installed there. This works well on quality hosting with Imagick or GD properly configured. On cheap shared hosting, it may be limited or unavailable.
Conversion happens on our dedicated processing server — not yours. Your hosting server does nothing except receive the finished result and upload it to your bucket.
Why does WebP conversion fail on shared hosting?
WebP conversion requires either the Imagick or GD library compiled with WebP support. Many shared hosting providers either do not include this, restrict memory limits too tightly for large images, or run outdated versions that lack AVIF support. Image Offload & Optimize's paid plans solve this by running all conversion on a dedicated server — your hosting environment becomes irrelevant to image processing.
Your Site Never Shows a Broken Image. Ever.
Every step of the process has a fallback. Every failure has a safe outcome. Your visitors never see a broken image regardless of what goes wrong.
If conversion fails
The original image is used instead. Your visitor gets a JPEG instead of WebP — not a broken image.
If cloud upload fails
The local file is kept. The image loads normally from your server. The plugin marks it for retry and tries again automatically.
If your CDN goes down
The plugin falls back to direct cloud storage URLs. Your images keep loading from R2 or S3 directly.
If URL rewriting fails
The original local URL is used. Your image loads from your server as a fallback.
If our server is unavailable
The plugin falls back to local conversion on your server. If that also fails, the original image is used. The managed server going down never causes a broken image on your site.
Is it safe to offload WordPress images to cloud storage?
Yes, when done with a plugin that has proper fallback handling. Image Offload & Optimize verifies every upload succeeded before deleting local copies, keeps originals in a separate backup folder, and falls back to local URLs if any part of the delivery chain fails. Your site never shows a broken image under any failure condition.
Already Have Thousands of Images? One Click Migrates Everything.
Installing the plugin handles new uploads automatically. For images already in your media library — from years of posts, product photos, and uploads — the bulk migration tool handles everything.
The plugin scans your entire media library and shows you exactly how many images are unprocessed. You click start. It works through your library in small batches — processing each image, uploading every size to your bucket, and updating the URL — without timing out or crashing your server.
You can pause and resume any time. Each image shows its own status. Failed images can be retried individually. You can close the browser and come back — it picks up where it left off.
How do I migrate an existing WordPress media library to cloud storage?
Install Image Offload & Optimize and connect your cloud storage account. In the plugin dashboard, open the Bulk Migration tool. The plugin scans your media library and shows all unprocessed images. Click Start Migration — the plugin processes images in small batches in the background, uploading each one to your bucket and updating all URLs. You can pause, resume, and retry failures individually. The process works on any size library without timeouts.
Your Visitors Get the Fastest Image Their Browser Supports — Automatically
When a visitor loads a page on your site, their browser tells your site which image formats it supports. The plugin serves the best one available: Chrome, Edge, Firefox gets AVIF. Safari gets WebP. Older browsers get the original format. This happens automatically using standard HTML <picture> tags. No JavaScript. No page speed impact. No configuration required.
How do you serve different image formats to different browsers in WordPress?
Image Offload & Optimize outputs standard HTML picture elements with multiple source tags — one for AVIF, one for WebP, and one fallback for the original format. The browser automatically selects the best format it supports. This requires no JavaScript and adds no performance overhead — it is standard HTML that all modern browsers handle natively.
You Are Up and Running in Under 3 Minutes
Install Image Offload & Optimize from WordPress.org. Activate it. The setup wizard starts automatically.
Enter your Cloudflare R2, Amazon S3, or Backblaze B2 credentials. Click the connection test button.
Every new image upload offloads automatically from this point. For existing images, run migration.
How long does it take to set up WordPress image offloading?
Basic setup — connecting your cloud storage and enabling auto-offload — takes under 3 minutes. You need your cloud storage credentials (access key, secret key, bucket name, and endpoint URL) ready before you start. The plugin includes a one-click connection test so you know your credentials are correct before any images are processed.
Edit an Image. Delete a Post. Regenerate Thumbnails. It Stays In Sync.
Most image offload plugins stop working the moment you do anything other than upload. Edit an image in WordPress and the cloud version is out of date. Delete an attachment and the file stays in your bucket forever. Regenerate thumbnails after changing your theme and the new sizes never get uploaded.
Image Offload & Optimize handles the full lifecycle. Edit an image — the edited version syncs to your bucket. Delete an attachment — the plugin removes the file from your bucket automatically. Regenerate thumbnails — all new sizes are uploaded. Change your CDN domain — the plugin updates all URL output immediately.
What happens in cloud storage when you delete a WordPress image?
When you delete a media attachment in WordPress, Image Offload & Optimize automatically deletes the corresponding files from your cloud storage bucket — including all image sizes (thumbnail, medium, large, and custom sizes). This prevents orphaned files from accumulating in your bucket and running up storage costs. The deletion is verified before the WordPress attachment record is removed.
See It Working on Your Site — Free, No Account Required
Install from WordPress.org. Connect your R2, S3, or B2 bucket. Upload one image and watch what happens. Your next upload offloads automatically. Your server disk stays clean. Your visitors get WebP. Nothing breaks.
PRICING
Start free. Upgrade only when you actually need more.
Use the free version to optimize and offload new uploads. Upgrade when you need bulk migration, advanced processing, and expanded delivery controls.
Solo / Entry
Agency
Unlimited / Enterprise
WebP conversion
AVIF support
Works on cheap hosting
Managed processing server
Free tier
Free
- R2 + S3 + B2 connection
- WebP conversion
- Auto offload on upload
- Gutenberg compatible
- Full srcset support
Solo
- Everything in Free
- Bulk migration
- AVIF support
- CDN custom domain
- WooCommerce support
Agency
- Everything in Solo
- 25 sites
- Multisite support
- Agency dashboard
- Higher processing limits
Enterprise
- Everything in Agency
- Unlimited sites
- Highest priority queue
- 10,000 units/day
- Fair use verified
No artificial image limits.
Start free. Upgrade when you need bulk migration or managed processing.
6x cheaper than the market leader at every tier.
Get your image workflow under control
Install the plugin, connect your storage, and let it handle the rest — no extra tools, no extra cost.
Install Plugin Now