WP Manifestindependent plugin directory
manifest / media / nimble-image-optimizer

Nimble Image Optimizer

Free WordPress image optimizer: compresses every thumbnail size, converts to WebP/AVIF, no account or credits

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/sunnycrafts/nimble-image-optimizer/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

I was paying for ShortPixel across a couple of WordPress sites just to compress images, and it kept running into monthly credit limits. This does the same job — compress every thumbnail size, convert to WebP/AVIF, serve the smallest format automatically — server-side, for free, with no account and no limits.

A live static mock of the admin screen (built from the plugin's real CSS) is at preview/index.html — open it in a browser to click through the UI without a WordPress install.

What it does

  • Compresses every generated thumbnail size, not just the full-size original — thumbnails are what actually get loaded on a page, so that's what needs shrinking. Three levels (Lossless, Balanced, Aggressive), each showing its typical savings up front. Imagick with progressive JPEG and 4:2:0 chroma subsampling, falling back to GD if Imagick isn't available.
  • Next-gen formats — one dropdown: Off / WebP / WebP + AVIF. Served automatically via <picture> rewriting, no server config needed. A next-gen file that comes out bigger than the source is discarded.
  • Optional resize for oversized uploads, applied in the same decode pass as compression. Never upscales, never touches thumbnails or aspect ratio.
  • Backups are always on — no setting to turn them off. Originals are mirrored into uploads/nio-backups/ (blocked from public access) before anything is touched, so every image can be restored.
  • Restore brings back every size for an image, deletes its WebP/AVIF siblings, and reverts any resize. A re-encode that comes out larger than the original is rolled back automatically.
  • Persistent activity log (its own DB table, survives reloads and plugin updates) — every optimize, restore, and error, with an issues filter so you don't have to dig through successful runs to see what went wrong.
  • Resumable bulk run — one attachment per request, pause/resume, live totals, per-file log.
  • Auto-optimize on upload (toggle), Media Library column with per-image savings, and a Details view with before/after size per thumbnail.
  • Five settings total. Everything else (stripping metadata, keeping the colour profile, optimizing every thumbnail size) is fixed behaviour instead of another checkbox to figure out.

Install

Drop the nimble-image-optimizer folder into wp-content/plugins/ and activate it from the WordPress admin. Requires PHP 7.4+ and either Imagick or GD.

Removing the plugin deletes only its own settings — optimized images and backups are left in place.

Files

  • nimble-image-optimizer.php — plugin bootstrap, activation hook
  • includes/class-nio-engine.php — the actual compression/conversion engine
  • includes/class-nio-optimizer.php — per-attachment optimize/restore logic
  • includes/class-nio-media.php — Media Library integration
  • includes/class-nio-delivery.php — <picture> rewriting for next-gen formats
  • includes/class-nio-log.php — the persistent activity log table
  • includes/class-nio-admin.php / class-nio-ajax.php — dashboard UI + AJAX endpoints
  • includes/class-nio-settings.php — the five settings