WordPress Optimization 15 min read · Published February 09, 2026 · Updated March 13, 2026

How to Fix "Serve Images in Next-Gen Formats" in WordPress (Without a Plugin)

Improve LCP without touching your plugin stack

You run PageSpeed Insights on your homepage. The report is basically fine… until it isn't: "Serve images in next-gen formats" is lighting up, and right next to it you see the other gut-punch: "LCP needs improvement."

If you're running WordPress (especially WooCommerce) you've probably had the same thought I have: “I could install yet another image plugin… or I could fix the actual images.” This guide is the second option - a manual, repeatable workflow that improves LCP and reduces transfer size without installing image optimization plugins.

What's in this Guide

What "Serve Images in Next-Gen Formats" Actually Means

Lighthouse flags this audit when your page serves images in older formats (typically JPEG/PNG) that could be materially smaller if you served them as modern formats like WebP or AVIF.

The key idea isn't “WebP is magic.” It's that smaller image payloads reduce the amount of data the browser must download before it can paint the page. This is why it shows up next to LCP: if your LCP element is a 900KB JPEG hero, you're asking the browser to download a big file before you can “look fast.”

Why this shows up next to LCP

Largest Contentful Paint (LCP) measures how long it takes for the largest element in the viewport (often a hero image, featured image, or large banner) to render.

So if your LCP element is a 900KB JPEG hero, you're effectively asking the browser to download and decode a big file before you can “look fast.” Convert that hero to WebP/AVIF, and you often reduce transfer size enough to move LCP in the right direction (especially on mobile connections).

Why More Image Plugins Often Make Things Worse

I'm not anti-plugin. I'm anti “three plugins doing the same job with different defaults.” The most common failure mode we see on WordPress performance audits involves a stack that creates real costs:

  • More CPU load (image processing inside your hosting environment).
  • More moving parts (updates, conflicts, weird edge cases with themes).
  • More media clutter (duplicate files, “-scaled” variants, “backup-originals” folders).

If you want a clean backend, a plugin-free workflow is simple: only upload optimized images in the first place.

The Clean External Workflow (Mochify)

Mochify is built for exactly this: pre-optimizing images before they ever hit WordPress. Here is the workflow we recommend:

  1. Export or identify your hero and key content images (the ones PageSpeed calls out).
  2. Drag them into Mochify, convert JPG/PNG → WebP or AVIF, and compress.
  3. Download the optimized files and re-upload to WordPress, replacing the originals in your content/theme.

Why Mochify fits this job:

  • Images are processed in memory and discarded immediately-no disk storage, no retention.
  • Mochify runs a high-performance C++ engine for fast conversions and compression.
  • You can process up to 25 images in parallel in a batch (for free), which makes "cleaning up" a page or a small library realistic in one sitting.

💡 iPhone/Creator Bonus: HEIC Support

If you or your team uploads iPhone photos (HEIC/HEIF), the plugin-free approach still works: convert them to web-friendly formats (JPEG/WebP/AVIF) before uploading to WordPress, so you don't fight compatibility and file size later.

Step-by-Step: Fixing One Template/Page

Pick one page that matters commercially - homepage, a top category, or a best-selling product page. We're going to fix that page, not "optimize your whole site" in theory.

1. Identify the offending images (PageSpeed / Lighthouse)

Run PageSpeed Insights on the exact URL (mobile first). Open "Opportunities" and find "Serve images in next-gen formats." Copy the image URLs and note which one is likely your LCP element (often the hero/featured image).

2. Find each image in WordPress

Track down the actual file that's being served. Common places include the Media Library, Theme assets (hardcoded banners), or Page Builder sections (Elementor/Divi blocks).

3. Run them through Mochify

Upload a batch (up to 25 at once). Choose WebP for broad compatibility or AVIF for maximum compression (great for large hero images).

4. Re-upload and replace the originals

Option A (simplest): Upload the optimized WebP and update the page/post to reference the new file.

Option B (developer-friendly): If you want AVIF and a clean fallback without relying on a plugin, use the <picture> tag:

picture.html
<picture>
    <source type="image/avif" srcset="/images/hero.avif">
    <source type="image/webp" srcset="/images/hero.webp">
    <img src="/images/hero.jpg" width="1600" height="900" alt="Your descriptive alt text">
</picture>

5. Confirm WordPress can upload WebP

WordPress has supported uploading/using WebP images natively since WordPress 5.8.

That means your no-plugin workflow can be as simple as "convert to WebP, uploads, use it like any other image" on modern WordPress installs.

Best-Practice Settings & Dimensions

This is where most WordPress sites quietly lose: they upload a beautiful 5000px-wide image, then let WordPress generate a dozen derivatives, and still end up serving something too heavy for the first viewport.

Below is a cheat-sheet you can use as a starting point (not dogma-test against your theme layout and audience).

Hero / LCP image

Recommended Width 1600-2400px
Target Size 150-300KB (WebP)
~80-250KB (AVIF)

Blog featured image

Recommended Width 1200-1600px
Target Size 80-200KB

In-article images

Recommended Width 1000-1400px
Target Size 60-150KB

WooCommerce product

Recommended Width 1000-1600px
Target Size 70-180KB

Logos / simple icons

Recommended Width Consider SVG where appropriate
Target Size Under 20KB

Two rules I use in audits:

  1. If an image is above the fold, you should be able to justify its byte cost.
  2. If an image is below the fold, don't let it be larger than the above-the-fold hero.

A Small Format Comparsion (Example)

Here's what "serve images in next-gen formats" looks like in practice-same visual image, different encodings.

FormatFile SizeNotes
Original JPEG (hero)900KBLooks fine, but heavy for mobile LCP.
WebP (converted)260KBOften the best "default" win with minimal fuss.
AVIF (converted)180KBSmaller still; great for heroes if you handle fallback.

The point isn't chasing perfect numbers - it's removing hundred of kilobytes from the crtical rendering path.

Measuring the Impact (Before vs. After)

After you replace the images:

  1. Run PageSpeed Insights again on the same URL.
  2. You should see "Serve images in next-gen formats" disappear from the Opportunities section.
  3. Check your LCP metric - it should improve, often by a significant margin (especially on mobile).
  4. If you use Core Web Vitals in Google Search Console, you may see an improvement there as well after Google re-crawls your page.

A simple before/after story (example)

  • Before: hero JPEG ~900KBl LCP ~3.2s (mobile).
  • After: hero AVIF ~180KB LCP ~2.1s (mobile).

Treat those numbers as an illustration, not a promise. But the mechanism is real: LCP is driven by the render time of the largest viewport element, and on many WordPress sites that element is an image.

When You Might Want Automation (Mochify Pro)

The manual workflow is perfect for:

  • A handful of high-traffic pages.
  • A small catalog.
  • A publisher cleaning up top posts once per quarter.

But if you're processing thousands of product images, running multiple client sites, or building a CI-style media pipeline, you eventually want automation.

That's where Mochify Pro fits:

  • An API for high-volume, automated conversion/compression.
  • Parameters to fine tine quality and size.

Importantly, the privacy model doesn't change: Mochify is designed around in-memory processing and immediate discard-accounts would store settings and keys, not your images.

Free Tool

Fix it today, plugin-free

Run your heaviest page through PageSpeed, list the top 5 images it calls out, and run them through Mochify now.

Start Optimizing

FAQ

Does converting to WebP/AVIF directly help SEO?

Indirectly: it helps by reducing bytes and improving user-perceived speed, which can improve Core Web Vitals like LCP.

Do I need a plugin to use WebP in WordPress?

On modern WordPress, WebP uploads are supported natively (since 5.8), so a no-plugin workflow is viable.

Is it safe to upload client/product images to Mochify?

Mochify is designed around in-memory processing with immediate discard (no disk storage/retention).