How to Bulk Convert All WordPress Images to WebP (With Clean URLs)

“Serving images in next-gen formats like WebP is no longer a ‘recommendation’ for 2026—it is a baseline requirement for passing Google’s Core Web Vitals. However, as many of us have discovered during site audits, simply activating a conversion plugin often results in a technical mess: bloated server folders, ‘double extensions’ like .jpg.webp, and a frustrating conflict where LiteSpeed Cache ‘hides’ your new assets from the actual HTML source code.

I recently navigated this exact minefield while optimizing dpquotes.com. The goal was simple: convert thousands of legacy JPEGs to WebP without losing SEO rankings or breaking the user experience. What I found was that the ‘default’ settings in most plugins actually hinder Googlebot’s ability to index your images properly.

In this guide, I’m sharing the first-hand workflow I used to achieve Clean URL indexing. We will move beyond basic conversion to look at ‘Mingled’ destination modes, proper .htaccess rewrites, and the specific LiteSpeed ‘Media Replacement’ toggle that ensures your WebP files are visible in your source code. If you’re tired of seeing your images ignored in Search Console’s ‘Crawled – currently not indexed’ report, this human-tested blueprint is for you.”

The Turning Point: Why “Good Enough” Wasn’t Enough

“A few weeks ago, I found myself staring at a Google Search Console report for dpquotes.com with a sinking feeling. Despite having thousands of images and a ‘super-fast’ LiteSpeed server, my image indexing was stagnant. I had followed every ‘best practice’—I installed the plugins, I clicked ‘Convert,’ and I assumed the job was done.

But when I dug deeper into the source code, I saw the truth: my site was lying to me.

On the surface, everything looked fine. But under the hood, I was serving messy .jpg.webp extensions that looked like a technical glitch rather than an optimization. Even worse, half of my pages were still physically loading heavy JPEGs because my cache was effectively ‘blind’ to the new WebP files I had created.

I spent hours in forums and documentation, feeling that familiar frustration of a ‘simple’ fix turning into a multi-day project. I almost gave up and went back to standard JPEGs. But I knew that for a site like mine—where every millisecond of load time translates to user retention—’good enough’ wasn’t an option.

I decided to strip everything back and find a way to make these tools actually talk to each other. What follows is the ‘Aha!’ moment where I finally bridged the gap between WebP Express and LiteSpeed Cache to get the clean, professional result my site deserved.”

The “Clean URL” Workflow: WebP Express + LiteSpeed Cache

To get professional, indexable .webp extensions without the messy .jpg.webp naming, follow this verified three-phase configuration.

Phase 1: Configuring WebP Express for “Clean” Output

The goal here is to ensure the converted files live in the same folder as your originals and use the correct naming convention.

  1. Operation Mode: Set this to “CDN Friendly” or “Varied Image Responses.” (For Hostinger/LiteSpeed, CDN Friendly is often more stable).
  2. Destination Folder: Select “Mingled.” * Expert Note: This keeps your .webp files in the same /uploads/ directory as your JPEGs, which is essential for “Clean URLs.”
  3. File Extension: Choose “Replace extension” (e.g., image.webp).
    • Avoid “Append extension” (image.jpg.webp) as it creates a nested file structure that search engines find less authoritative.
  4. Alter HTML: Check this box and select the “Replace image URLs” method. This physically changes the code on your page so Googlebot sees the .webp link immediately.

Phase 2: Resolving the LiteSpeed “Hidden WebP” Conflict

LiteSpeed Cache is incredibly fast because it saves a “snapshot” of your page. However, if that snapshot was taken before the WebP conversion, your visitors (and Google) will only see JPEGs.

You must enable these specific settings in LiteSpeed Cache:

  1. Navigate to LiteSpeed Cache > Settings > [6] Media.
  2. Image WebP Replacement: Toggle to ON.
    • Why? This tells the LiteSpeed server to intercept any JPEG requests and replace them with the WebP version automatically in the HTML.
  3. WebP For Extra srcset: Toggle to ON. (This ensures images in sliders, sidebars, and widgets are also converted).
  4. WebP Attribute To Replace: Leave the default list, but ensure src and data-src are included.

Phase 3: The “Final Purge” and SEO Verification

Once your settings are saved, the old “JPEG-only” snapshots must be destroyed.

  • Purge All: Click the LiteSpeed “Purge All” icon in your top admin bar.
  • The SEO Inspection: Open your site in an Incognito Window. Right-click an image and select View Page Source.
  • The “Win” Condition: Search ($Ctrl+F$) for .webp. If you see <img src=".../your-image.webp">, you have successfully achieved a clean, high-performance SEO setup.

2026 Pro-Tip: The “Network Tab” Truth

Sometimes your code might still show .jpg due to “Transparent Delivery.” To verify what is actually happening, press F12, go to the Network Tab, and refresh. If the “Type” column says webp, you are getting the speed benefits. If your source code also shows .webp, you are getting the SEO benefits.

Conclusion: Why this Matters for TechEcom Readers

“By bridging the gap between WebP Express and LiteSpeed, we aren’t just making a site ‘faster’—we are making it smarter. We’ve eliminated the double-extension bloat, ensured Googlebot can index our modern assets, and maintained a fallback for older browsers. This is the gold standard for WordPress image optimization in 2026.”


The “Expert Handoff” Call to Action

Did this fix your WebP indexing issues? “Optimizing a WordPress site is a journey of constant refinement. If this guide helped you clear your image backlog and secure those clean .webp URLs, I’d love to hear about your results in the comments below.

Are you still seeing .jpg in your source code? Drop a link to your site or describe your current plugin stack. I personally review every comment to help our TechEcom community navigate these tricky LiteSpeed and conversion conflicts.

Stay Ahead of the Curve: Don’t let the next Google update catch your site off-guard. [Join our TechEcom Newsletter] to get first-hand performance blueprints and SEO deep-dives delivered straight to your inbox. Let’s build faster, cleaner websites together.”

Frequently Asked Questions (Image SEO & Performance)

1. Why does my source code still show .jpg if the image is being served as WebP?

This is typically due to a conflict between your conversion plugin and your caching layer. While many plugins use “Transparent Delivery” (via .htaccess rewrites) to serve WebP data under a JPEG label, this can prevent Googlebot from officially indexing the .webp asset. To fix this in 2026, you must enable Image WebP Replacement in your LiteSpeed Cache settings and perform a Purge All. This forces the server to update the HTML DOM, ensuring the .webp extension is physically visible in the source code.

2. Will Google index my images if they have a double extension like .jpg.webp?

Google can index them, but it is not a best practice for Semantic SEO. A double extension signals to search engines that the file is a “derivative” rather than a primary asset. For maximum authoritativeness, use the “Replace Extension” setting in WebP Express. This generates a clean image.webp URL, which is easier for crawlers to categorize and looks more professional in Google Image Search results.

3. Can I delete my original JPEG and PNG files after converting to WebP?

No. Maintaining your original legacy files is essential for two reasons. First, Fallback Compatibility: While WebP support is near-universal in 2026, some legacy environments or specific email clients still require JPEGs. Second, Data Preservation: WebP is often a lossy format. If you need to re-generate your images at a different size or quality in the future, you need the original “master” JPEG to avoid “generation loss” (quality degradation).

4. Why does Google Search Console show my WebP images as “Crawled – currently not indexed”?

In many cases, this is actually the correct status. Search Console’s Page Indexing report tracks HTML documents, not image assets. Because a .webp file is an image and not a webpage, the Page Bot “crawls” it, realizes it isn’t a page, and moves on. However, the separate Googlebot-Image crawler will still process and index that file for Image Search. As long as your images appear when you search site:yourdomain.com in Google Images, your setup is working perfectly.

5. How does WebP impact my Core Web Vitals (LCP and INP) in 2026?

WebP is a primary driver for improving Largest Contentful Paint (LCP) because it significantly reduces the “Resource Load Delay.” By serving a file that is 25-34% smaller than a JPEG at the same visual quality, the browser can fetch and render the main content much faster. Additionally, smaller image payloads reduce main-thread activity, indirectly helping your Interaction to Next Paint (INP) scores by freeing up CPU resources for user interactions.