
ImageWoc (Image WordPress Optimization & Conversion) processes images locally on your WordPress server. It can resize oversized uploads proportionally, convert supported source images to JPG, PNG, or WebP, control output quality, preserve transparency when possible, and keep one untouched backup of every original image for future reprocessing.
A key feature is reference-safe bulk optimization. When an existing Media Library image is converted and its master filename or extension changes, ImageWoc keeps the same WordPress attachment ID and updates stored references from the old image URL to the new optimized URL. It also maps regenerated WordPress intermediate-size URLs where matching sizes exist.
This helps prevent broken image references when optimized images are already used in posts, pages, Gutenberg blocks, page-builder data, widgets, templates, menus, links, and other content stored in standard WordPress posts, metadata, and options.
Before changing the Media Library, ImageWoc can run a read-only preview using the current settings. The preview reports how many images would change, how many would be resized or converted, and an estimated storage reduction. No image files, attachment metadata, or stored content references are modified during the preview.
Each bulk optimization run is treated as a transaction. Before an attachment is changed, ImageWoc stores a protected snapshot of its current master file, registered WordPress intermediate sizes, attachment metadata, MIME type, and reference migration map. If a processing failure occurs after the attachment has begun changing, ImageWoc attempts to restore that snapshot automatically.
The administrator can also roll back the latest bulk transaction from the ImageWoc settings screen. Manual rollback restores the pre-batch image files and WordPress metadata and reverses the stored URL replacements made by ImageWoc. Rollback runs in short resumable requests rather than one long PHP request.
The read-only Health Scanner checks the Media Library for common image integrity and optimization issues, including missing master files, incomplete attachment metadata, registered intermediate sizes missing from disk, missing untouched original backups, masters larger than the configured long-side limit, output-format mismatches, and unusually large master files. Findings are grouped by severity and the scanner does not modify the Media Library.
During bulk optimization, URL replacement covers standard WordPress storage used by many themes and plugins, including:
post_content;The replacement layer is serialization-aware and JSON-aware. The attachment ID remains unchanged, so integrations that reference Media Library images by attachment ID continue to reference the same attachment.
Third-party plugins can store image URLs in proprietary database tables or external systems. Those stores cannot be discovered safely in a generic way, so ImageWoc exposes hooks that integrations can use to extend reference migration.
Before processing an uploaded image, ImageWoc stores one untouched copy of the source file in a protected backup area under the WordPress uploads directory. WordPress-generated thumbnails are not duplicated into the backup.
When an image is optimized again later, the plugin can work from this untouched source instead of recompressing a previously optimized image. This avoids cumulative quality loss when changing dimensions, output format, or quality settings.
Original backups are intentionally not deleted automatically when the plugin is uninstalled, to reduce the risk of accidental loss of source files.
Available source formats depend on the image libraries and codecs installed on the web server. Formats such as TIFF, AVIF, HEIC, and HEIF commonly require Imagick/ImageMagick with the corresponding codec support.
JPEG does not support alpha transparency. ImageWoc avoids destructive transparency flattening and selects an available alpha-capable format when needed.
ImageWoc does not send image files, site content, or usage data to an external service. Image processing and logging are performed on the WordPress server.