Skip to content
Subset

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

StepWhat happens
Cap dimensionsScaled down if either edge exceeds your maximum
ConvertWebP generated alongside; AVIF as well, with Pro
Regenerate sizesEvery registered thumbnail size is rebuilt from the capped original
Keep the originalThe 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.