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
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.zipLightweight, 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
- Upload the
simple-webp-convertfolder to/wp-content/plugins/ - Activate via Plugins menu
- Configure quality, extensions, and options at Settings → Simple WebP Convert
- Upload images as usual — automatic conversion
- 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_uploadfilter - 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+
-scaledandoriginal_imagehandling - 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.