WP Manifestindependent plugin directory
manifest / performance / simple-webp-convert

Simple WebP Convert

Lightweight, automatic WebP image conversion for WordPress. Converts uploads instantly and bulk-converts existing images. No bloat.

by Strony.Love · github.com/strony-love/simple-webp-convert · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/strony-love/simple-webp-convert/archive/refs/heads/main.zip

Lightweight, automatic WebP image conversion for WordPress. Converts uploads instantly and bulk-converts existing images. No bloat.

Description

Simple WebP Convert automatically converts uploaded images (JPG, JPEG, PNG) to WebP format — the modern, smaller, faster image format supported by all major browsers.

No bloat. No premium upsells. No external services. One PHP file. Server-side conversion that just works.

On Upload

Every image upload — Media Library, featured images, custom post types, REST API — is intercepted before WordPress generates thumbnails. The original is converted to WebP, and all thumbnail sizes are created natively as WebP.

Bulk Conversion

One-click conversion of your entire existing Media Library, accessible from Tools → Simple WebP Convert. Processes images in batches of 10 with a real-time progress bar. Handles any library size (tested with 1000+ images). Conversion state is stored server-side — if the browser disconnects, reopening the Tools page auto-resumes from where it left off.

WordPress 5.3+ Big Image Handling

WordPress creates downsized -scaled copies of images larger than 2560px. Simple WebP Convert handles both the -scaled version and the unscaled original, converting and cleaning up both.

Page Builder URL Rewriting

Optionally rewrites hardcoded image URLs in content during bulk conversion. Supports Gutenberg blocks, Classic Editor, Bricks Builder (serialized PHP arrays), and Elementor (JSON with escaped slashes). Builder detection is data-driven — checks for builder content in the database, not active plugin/theme status.

Keep Original

Optionally preserves original JPG/PNG files alongside WebP conversions. Files are tracked in WordPress's native _wp_attachment_backup_sizes metadata — they are automatically cleaned up when the attachment is deleted, even if this plugin has been deactivated or uninstalled.

Architecture

One PHP file. No frameworks, dependencies, or build steps. Configuration via Settings → Simple WebP Convert, bulk conversion via Tools → Simple WebP Convert. Conversion engine: PHP GD (primary) or Imagick (fallback).

Server Requirements

  • PHP 7.4+
  • WordPress 6.0+ (tested up to 6.9)
  • PHP GD extension with WebP support, or PHP Imagick (ImageMagick) as fallback
  • Write permissions on wp-content/uploads/

Installation

  1. Upload the simple-webp-convert folder to /wp-content/plugins/
  2. Activate via Plugins menu
  3. Configure quality, extensions, and options at Settings → Simple WebP Convert
  4. Upload images as usual — automatic conversion
  5. To bulk convert existing images, go to Tools → Simple WebP Convert

Settings (Settings → Simple WebP Convert)

  • Quality — 50 (smaller), 75 (balanced, default), or custom 0–100
  • Keep Original — Preserve JPG/PNG files alongside WebP. Tracked in WordPress native backup metadata. Off by default
  • File Extensions — JPG, JPEG, PNG (all on by default)
  • Update URLs in Content — Rewrite image URLs in Gutenberg, Classic Editor, Bricks Builder, and Elementor during bulk conversion

Bulk Converter (Tools → Simple WebP Convert)

One-click bulk converter with real-time progress bar, batch log, and auto-resume. Processes all images in the Media Library using settings configured at Settings → Simple WebP Convert.

Translations

German, French, Spanish, Russian, Polish, Swedish, Italian, Japanese, Chinese (Simplified), Portuguese.

Frequently Asked Questions

Does this work with page builders?

Yes. Any builder using WordPress attachment IDs serves WebP automatically. The URL rewriter also handles hardcoded URLs in Bricks and Elementor data.

What about large images and -scaled?

Handled. Both the -scaled version and unscaled original are converted and cleaned up.

What if I deactivate the plugin?

WebP images remain. Kept originals are tracked in WordPress native metadata and cleaned up on deletion without the plugin.

Will it re-process converted images?

No. Converted attachments become image/webp and are invisible to subsequent bulk runs.

Changelog

1.0.0

  • Automatic WebP conversion on upload via wp_handle_upload filter
  • Bulk converter at Tools → Simple WebP Convert with browser-driven batching, server-side state, progress bar, auto-resume
  • Settings at Settings → Simple WebP Convert (quality, keep original, extensions, URL rewrite)
  • ID-based cursor for resilient batch processing (survives interruptions)
  • GD primary engine with Imagick fallback
  • PNG alpha channel preservation
  • WordPress 5.3+ -scaled and original_image handling
  • Keep Original with _wp_attachment_backup_sizes (plugin-independent cleanup)
  • URL rewriter for Gutenberg, Classic Editor, Bricks Builder, Elementor
  • Data-driven builder detection (database content, not active plugin/theme)
  • Proper $wpdb->prepare() for all database queries
  • wp_delete_file() for all file deletions
  • Transient-cached builder detection
  • Translations: DE, FR, ES, RU, PL, SV, IT, JA, ZH, PT

Credits

Built by Strony.Love (https://strony.love) with the assistance of Claude Opus 4.6, an AI assistant by Anthropic.

Upgrade Notice

1.0.0

Initial release. Configure at Settings → Simple WebP Convert, bulk convert at Tools → Simple WebP Convert.