User guide
Bulk regenerate
Fix a library that is already full of oversized images, without a PHP timeout costing you the whole run.
Capping new uploads solves tomorrow’s problem. The library you already have is today’s, and on a site with ten years of posts it is usually several gigabytes of images nobody will ever view at full size.
Why this is a queue and not a button
A bulk pass over an image library is the classic way to discover your host’s PHP time limit. Decoding, scaling and re-encoding one large JPEG takes a noticeable fraction of a second; a thousand of them does not fit in thirty seconds, and a request that dies halfway leaves you with no idea where it got to.
So the bulk pass is a queue with a checkpoint after every attachment:
- Progress is stored, so a timeout costs you the one image in flight rather than the run.
- Re-running it resumes rather than restarting.
- Closing the tab does not stop it, and reopening the page shows where it is.
Planned for 1.1.0Changelog
Bulk regeneration across the whole library is a Pro feature. Regenerating one image at a time from the media library is free.
Running it
From Media → Regenerate (placeholder — not final), choose what to include and start the run. The screen shows the processed count, the bytes saved so far, and the attachment it is currently on.
What it does to each image
| Step | What happens |
|---|---|
| Cap dimensions | Scaled down if either edge exceeds your maximum |
| Convert | WebP generated alongside; AVIF as well, with Pro |
| Regenerate sizes | Every registered thumbnail size is rebuilt from the capped original |
| Keep the original | The untouched upload is retained until you prune it |
The retained original is the part people are surprised by. It means a regeneration pass initially increases the size of your uploads directory, and the saving arrives when you prune. That is the right order: an irreversible operation should be a separate decision, taken after you have looked at the result.
When it goes wrong
The failure worth planning for is an image the encoder cannot read: a CMYK TIFF
renamed to .jpg, a file truncated by a failed upload years ago. The queue records
the failure against the attachment and carries on, and the run finishes with a list
rather than an exception.