The pricing problem with most WebP plugins
WordPress generates 5-8 thumbnails for every image you upload (thumbnail, medium, medium_large, large, full, plus theme-specific sizes). Most popular optimizers count each thumbnail as a separate credit, so a single product photo or blog hero can burn through 6-8 credits before you’ve touched your second image.
Tempaloo charges 1 credit per upload, no matter how many sizes WordPress derives from it. Same quota, 6-8x more usable conversions.
Concrete comparison — 1,000 uploads / month
If your site averages 4+ thumbnails per upload (which it does, by default), Tempaloo is the lowest cost-per-converted-image on the market.
Built for
What’s in version 1.0
wp tempaloo status / activate / bulk / restore / quota. First-class deploy story for managed WordPress hosts.nocache_headers() + DONOTCACHEPAGE so LiteSpeed Cache, WP Rocket, and W3 Total Cache never serve stale admin data.Pricing
Paid plans include a 7-day trial and a 30-day money-back guarantee. Credits roll over up to 30 days on paid plans.
Full details at https://tempaloo.com/webp.
Trademarks
WebP and AVIF are open image formats developed by Google and the Alliance for Open Media respectively. Tempaloo is an independent product and is not affiliated with, endorsed by, or sponsored by Google or the Alliance for Open Media. ShortPixel, Imagify, EWWW, Smush, and Optimole are trademarks of their respective owners and are referenced for comparison purposes only.
This plugin connects to the Tempaloo conversion API hosted at https://api.tempaloo.com to:
What data is sent
Data retention
Providers
By activating this plugin and entering a license key, you agree to Tempaloo’s Terms and Privacy Policy.
See the External services section above for a full disclosure of the data this plugin sends to the Tempaloo API.
Three hooks let you tailor the plugin’s behavior from your own theme or custom plugin. They fire on both the auto-convert-on-upload path and the bulk path (CLI or admin), so a single rule applies everywhere.
apply_filters( 'tempaloo_webp_skip_attachment', false, $attachment_id, $mode )
Return true to bypass conversion for a specific attachment. Useful to exclude a folder, a CPT, or images larger than a threshold.
apply_filters( 'tempaloo_webp_quality_for', $quality, $attachment_id, $format )
Override the quality value (1–100) per attachment. Returned values are clamped to 1–100. Useful to lift quality on portfolio shots or drop it on product thumbnails.
do_action( 'tempaloo_webp_after_convert', $attachment_id, $info )
Fired after a successful conversion (one or more sizes written). $info contains format, converted, failed, mode, quality, sizes. Useful for CDN purges, custom logging, webhooks, manifest rebuilds.
Example — skip conversion for any attachment in the private/ upload subfolder:
add_filter( 'tempaloo_webp_skip_attachment', function( $skip, $id ) {
$path = get_attached_file( $id );
return $path && false !== strpos( $path, '/uploads/private/' );
}, 10, 2 );<h3>Source code</h3>
Tempaloo WebP is open source under the GPLv2 (or later) license. All compiled assets are generated from human-readable sources included in this distribution — no obfuscated or auto-generated code without a matching source.
The admin dashboard UI is built with Vite + React + TailwindCSS. The compiled output (build/admin.js and build/admin.css) is generated from the source files under admin-app/:
admin-app/src/admin-app/vite.config.ts, admin-app/tsconfig.json, admin-app/tailwind.config.js, admin-app/postcss.config.jsadmin-app/package.json (and admin-app/package-lock.json for reproducible installs)From the plugin root:
cd admin-app
npm install
npm run build
This regenerates build/admin.js and build/admin.css. Output is deterministic — same source plus same lock file produce the same bytes.
npm run typecheck runs the TypeScript compiler in `--noEmit` mode for a standalone type check.
All third-party libraries are pulled in via npm (declared in admin-app/package.json) — none are vendored as pre-built minified files in this repository. Their licenses are MIT and compatible with GPLv2-or-later.