OmegaPix Image Optimizer — from internal tool to WordPress.org plugin

For a long time, our image optimisation workflow was a combination of tools: a desktop app for bulk compression, manual uploads to the staging site, a check with PageSpeed Insights, and then production deployment. It worked but it was slow and the results varied depending on which tool we used and which compression settings were active that day. We wanted something consistent, automatic, and inside WordPress.
We looked at the existing image optimisation plugins. Many of them are fine. Some have free tiers that compress to a point and then ask for payment per image or a monthly subscription. We had enough client sites that the economics of per-image pricing added up to more than we wanted to spend. We also wanted control over the compression settings in a way that subscription tools did not always offer. So we wrote our own.
What it does and why
OmegaPix handles lossless compression for PNG files and quality-controlled compression for JPEGs, with WebP conversion on upload. The settings are per-media-type rather than a single global slider. For a photography client, you want higher quality on large hero images than on thumbnail grids. Having control over that without needing a separate rule per image was the design goal.
The other thing we built in was a bulk processing mode for existing libraries. Every client site we inherited had a media library full of unoptimised images that had been uploaded over years. Being able to run a bulk pass over an existing library without having to re-upload anything is genuinely useful and most plugins we evaluated handled it inconsistently.
Making it public
The code was internal for about eighteen months before we decided to submit it to the WordPress.org repository. Cleaning it up for public release was more work than we expected. Not the functionality, that was stable. The documentation, the settings interface, the error handling for edge cases that we had never encountered on our own sites but that certainly exist when you release something to a broad user base.
The review process from WordPress.org was thorough. There were specific feedback points about how we were handling user permissions and one flag about a function that had been deprecated in a recent WordPress version. We worked through each item and the plugin was approved after two rounds of review.
It has several hundred active installations at this point. A few users have submitted support requests that identified edge cases we have now patched. The plugin is open source and the code is available on GitHub. We do not monetise it. It does the job it was built to do.