Next-Level Code. Nexuvibe Style ...

Hrs
Min
Sec
Modern Image Formats & Multi-Format WordPress Storage Strategy

Retina Images, WebP, and AVIF:
Triple Storage Problem, One FTP Solution

Serving the right image format to the right device used to mean one file per image. Today it means JPEG originals, WebP variants, AVIF variants, and 2x retina versions across each format. A single product image can now legitimately require eight to twelve files. This guide explains how to manage that multiplication without letting it consume your hosting storage.

11 min read
Updated 2026
Modern Image Format Strategy
WordPress retina images WebP and AVIF multi-format storage problem showing how FTP offload handles multiple image format variants without filling hosting server storage

The image format landscape has changed dramatically in the past five years. Where once a WordPress media library contained JPEG and PNG files with a handful of thumbnail variants per image, the modern best practice involves serving multiple formats based on browser support: JPEG as fallback, WebP for browsers that support it (now over 97% of users globally), and AVIF for browsers with native AVIF support (growing rapidly). Add retina support for high-density displays and each uploaded image multiplies into a file family that can easily reach eight to twelve individual files.

This file multiplication is the right approach for image performance — serving AVIF to browsers that support it reduces image payload by 40 to 50% compared to WebP, and WebP reduces payload by 25 to 35% compared to JPEG. The visual quality is equivalent or better. The user experience is faster. But the storage requirement per image has increased by a factor of three to four compared to serving JPEG only, and the inode consumption per uploaded image has grown proportionally.

This guide examines the storage arithmetic of modern multi-format image serving in WordPress, explains why FTP offloading is specifically well-suited to handling the resulting storage growth, and covers the configuration that makes retina, WebP, and AVIF serving work correctly through CDN delivery.

What this guide covers
The storage math for modern multi-format image serving in WordPress.
How retina images multiply storage without proportionally multiplying bandwidth.
Why FTP offload is the right infrastructure for a library that grows three to four times faster than before.
The CDN configuration for content negotiation: serving WebP or AVIF based on Accept headers.
The WordPress picture element and srcset for retina and format-negotiated delivery.
Which approach is right for your site: pre-generated variants versus real-time CDN conversion.

The storage math for modern multi-format image serving

To understand the storage problem, let us trace exactly what files are created when a single product image is uploaded to a WordPress site configured for modern best-practice image serving.

Starting point: one 3000×2000px product photo uploaded as JPEG (2.4MB original)
Original JPEG (kept for editing reference)
2.4 MB

JPEG thumbnail set (8 sizes: thumb, medium, medium_large, large, 1536w, 2048w, WooCommerce shop, WooCommerce single)
~3.8 MB

WebP versions of all 8 JPEG thumbnails (generated by EWWW or ShortPixel)
~1.9 MB

AVIF versions of all 8 JPEG thumbnails (if AVIF generation is active)
~1.1 MB

Retina (2x) JPEG sizes for high-DPI displays (if retina plugin active)
~4.2 MB

Total storage per uploaded image (full modern stack)
~13.4 MB

Classic JPEG-only approach (8 sizes, no WebP, no AVIF, no retina)
~3.8 MB

The multiplication effect at catalog scale
A WooCommerce store with 1,000 products and 5 images per product = 5,000 uploaded images.

Classic JPEG-only storage: 5,000 × 3.8MB = 19 GB
Modern full-stack storage: 5,000 × 13.4MB = 67 GB

The modern best practice generates 3.5x more storage than the classic approach for the same catalog. For a site on a hosting plan sized for the classic approach, this means hitting storage limits 3.5x faster than expected.

Retina images: why they matter and what they cost

Retina displays (2x pixel density) are now standard on iPhones, MacBook Pros, most high-end Android devices, and many Windows laptops. On a retina display, an image displayed at 400×400 CSS pixels requires an 800×800 image source to appear crisp. A standard-resolution 400×400 image displayed on a retina screen appears slightly blurry or soft because the display has twice the physical pixels than the image has data points.

WordPress’s srcset implementation handles retina delivery by including 2x and sometimes 1.5x versions of each thumbnail size in the srcset attribute. The browser selects the appropriate resolution based on the device pixel ratio. This is the right approach for image quality, but it means every thumbnail size effectively becomes two sizes: the standard version and the 2x retina version.

Image approach
Files per upload
Storage per upload
Per 5,000 uploads

JPEG only, 8 sizes
9 files
3.8 MB
19 GB / 45,000 files

JPEG + WebP, 8 sizes each
17 files
5.7 MB
28.5 GB / 85,000 files

JPEG + WebP + AVIF
25 files
6.8 MB
34 GB / 125,000 files

Full stack: JPEG + WebP + AVIF + retina
41 files
13.4 MB
67 GB / 205,000 files

Inode concern threshold
Shared hosting: 250K limit
JPEG-only: 5,500 uploads to exhaust
Full stack: 1,220 uploads to exhaust

The inode row is the most important for practical planning. A shared hosting plan with a 250,000 inode limit hits that limit after 5,500 images in JPEG-only mode. With the full modern stack generating 41 files per upload, the same 250,000 inode limit is exhausted after just 1,220 uploaded images. A WooCommerce store with 500 products and 5 images each (2,500 uploads) will hit inode limits while still having gigabytes of storage quota remaining, triggering the confusing error state described in previous guides.

🔗Photography blogs facing exponential file growth often rely on scalable WordPress media storage solutions to manage 100GB+ libraries efficiently. →

Two approaches to multi-format delivery: pre-generated vs real-time CDN conversion

There are two architecturally different approaches to serving WebP and AVIF from a WordPress site, and they have meaningfully different storage implications.

Approach 1: Pre-generated variants (ShortPixel, EWWW, Imagify)

An optimization plugin converts every JPEG and PNG image to WebP (and optionally AVIF) at upload time, generating additional files alongside the originals. WordPress serves these variants based on browser Accept headers, typically through .htaccess rules that redirect requests for .jpg files to .webp when the browser supports it.

Advantages
Precise control over quality and compression. Works on any CDN. Format conversion done at upload, not on delivery. AVIF generation possible.
Storage impact
Generates the full file multiplication shown in the table above. 2x to 4x more files per image. FTP offload is essential to keep hosting server storage manageable.

Approach 2: Real-time CDN image conversion (Cloudflare Images, BunnyCDN Optimizer)

Some CDN services can convert image formats in real time based on the requesting browser’s Accept header. You store only the JPEG original on FTP. When a WebP-capable browser requests the image, the CDN automatically serves a WebP version. When an AVIF-capable browser requests it, the CDN serves AVIF. No pre-generated variants are stored anywhere.

Advantages
Stores only original files. Eliminates the file multiplication entirely. FTP storage contains one file per upload, not 8 to 41.
Considerations
Requires CDN support (Cloudflare Images or BunnyCDN Optimizer). First conversion may be slightly slower. Less control over compression quality than local optimization.

Why FTP offload is the right infrastructure for both approaches

Whether you use pre-generated variants or real-time CDN conversion, FTP offloading is the correct infrastructure choice for storing and delivering modern multi-format image libraries.

For pre-generated variants: FTP absorbs the file multiplication without cost penalty

A Hetzner Storage Box at the BX31 tier (1TB) costs €7.90/month. Storing 67GB of multi-format images for a 1,000-product catalog uses 6.7% of a 1TB allocation. Adding WebP, AVIF, and retina variants triples the storage requirement but costs proportionally less than the equivalent hosting server storage. The flat-rate pricing means file multiplication has no per-file cost. Inode limits on Hetzner Storage Box are either absent or measured in millions rather than hundreds of thousands.

🔗Without proper management, a WooCommerce uploads folder storage crisis can escalate quickly when each product image generates multiple WebP, AVIF, and retina variants. →

For real-time CDN conversion: FTP stores clean originals, CDN handles format delivery

With real-time CDN conversion, FTP stores only the JPEG originals. The CDN converts and caches WebP and AVIF variants on the first request for each browser type. The FTP library contains one file per uploaded image. Storage growth is linear with uploads rather than linear-times-format-count. This is the most storage-efficient approach available: one file stored, three formats served.

For both approaches: CDN caches every variant at edge nodes for fast delivery

Whether the WebP variant was generated by a plugin and stored on FTP, or generated in real time by the CDN, once a visitor has requested it, the CDN caches it at the edge node for subsequent requests. Both approaches deliver WebP and AVIF with the same 10 to 25ms TTFB from CDN edge nodes. The delivery architecture is identical; only the storage architecture differs.


WP FTP Media dashboard showing modern multi-format WordPress site with WebP AVIF and retina image variants all stored on FTP and delivered via CDN without filling hosting server storage

Multi-format library status in WP FTP Media – WordPress multi-format image storage plugin for managing WebP AVIF and retina image variants on FTP without inode exhaustion or hosting storage overflow — all 41 files per image upload confirmed on FTP, hosting server inode count stays near zero.

Configuring CDN for format-negotiated delivery with FTP origins

When pre-generated WebP and AVIF variants are stored on the FTP server alongside JPEG originals, the CDN needs to serve the correct format to each browser. This requires configuration at either the CDN level or through WordPress’s output.

Option 1: WordPress picture element with explicit format sources

The most reliable approach for pre-generated variants is using the HTML picture element with explicit source elements for each format. WordPress’s block editor supports this natively for Image blocks when an optimization plugin has generated the variants. The browser selects the first source format it supports.

<picture>
  <source srcset=”image.avif” type=”image/avif”>
  <source srcset=”image.webp” type=”image/webp”>
  <img src=”image.jpg” alt=”Product” width=”800″ height=”600″>
</picture>

Option 2: CDN Accept-header-based format negotiation

Both Cloudflare and BunnyCDN can serve different format variants based on the browser’s Accept header without changing the URL in the HTML. When a browser supporting AVIF requests image.jpg, the CDN intercepts the request and serves image.avif from cache if available. The WordPress HTML remains unchanged, and the format selection happens transparently at the CDN layer.

For Cloudflare, this is handled via Polish (image optimization) with AVIF enabled. For BunnyCDN, the Perma-Cache with Format Optimization feature provides the same capability. Both require that the variants exist on the FTP origin or are generated in real time by the CDN service.

🔗Implementing a multi-format storage strategy also helps mitigate the Gutenberg media block storage optimization challenges in Full-Site Editing environments. →

Option 3: Srcset for retina delivery (standard WordPress behavior)

WordPress automatically generates srcset attributes for images that include multiple size variants. When retina-sized thumbnails exist, WordPress includes them in the srcset. The browser selects the appropriate resolution based on its device pixel ratio. This works automatically once the retina-sized files exist on the FTP server and are served from CDN — no additional configuration is needed beyond ensuring WP FTP Media’s URL rewriting applies to srcset attribute values as well as src values.

According to Can I Use’s AVIF support data, AVIF is now supported by over 90% of browsers globally as of 2026, making AVIF delivery worth implementing for most sites. The compression advantage of AVIF (40 to 50% smaller than WebP at equivalent quality) is significant enough to justify the storage multiplication, provided that storage is managed on FTP rather than on the hosting server where inode limits and storage quotas make the file count increase problematic.

The modern image stack — JPEG originals, WebP variants, AVIF variants, retina sizes — is the right approach for image performance. The storage implication is 3 to 4 times the file count and 2 to 3 times the storage volume per image. WP FTP Media’s modern image format storage plugin for WordPress handles this multiplication cleanly by routing all variant files — JPEG, WebP, AVIF, retina — to FTP storage where flat-rate pricing and high inode limits make multi-format serving economically and technically straightforward.


WordPress site delivering AVIF images to supporting browsers and WebP to others from CDN origin backed by FTP storage without hosting server inode or storage limit issues

Multi-format delivery result in WP FTP Media – WordPress AVIF WebP retina delivery plugin for serving modern image formats from FTP storage via CDN with full browser format negotiation and retina srcset support — AVIF served to Chrome and Safari, WebP to supporting browsers, JPEG fallback for legacy browsers, all from CDN edge nodes.
JPEG · WebP · AVIF · Retina · All on FTP · All via CDN

Serve every browser the best format it supports. Store every variant where it belongs.

WP FTP Media routes all WordPress image variants — JPEG originals, WebP conversions, AVIF files, and retina-sized thumbnails — to FTP storage with flat-rate pricing and high inode limits, making the modern multi-format image stack sustainable without inode exhaustion or hosting storage overflow.

WP FTP Media – WordPress multi-format image storage plugin for managing JPEG WebP AVIF and retina image variants on FTP storage with CDN delivery without hosting inode limits

WP FTP Media by NEXU WP
WordPress plugin · Multi-Format Ready · FTP & SFTP · CDN Delivery


Get WP FTP Media

🔗Without proper optimization, frequent WordPress thumbnail regeneration storage impact can bloat your media library by thousands of redundant files. →

Picture of Mahdi Jabinpour

Mahdi Jabinpour

As a sales-driven developer and the founder of NexuWP, Mahdi focuses on building WordPress solutions that don't just work—they convert. From AI-powered bulk translation engines to high-efficiency media offloading, he helps business owners automate the "grind" so they can focus on global growth. He is a pioneer in integrating advanced LLMs into the WordPress workflow.

RELATED POSTS

RELATED POSTS

3 Reviews
Jennifer Martinez 2 months ago

Nice finally sharp pics without the bloat!

mehdiadmin 2 months ago

Thank you.

Joseph Martin 2 months ago

Worried about storage, but this keeps my originals safe on FTP. Solid deal!

Patricia Martinez 3 months ago

This plugin creates way too many files per image 12 for each one! Even a small catalog of 1,200 images hits the inode limit on standard hosting, leaving no space for anything else.

Mahdi Jabinpour 3 months ago

This is a common hurdle with standard hosting plans. we'd be happy to share some cost effective solutions like higher inode hosts or CDNs that could help streamline your storage needs. just let us know if you'd like recommendations

Please log in to leave a review.