This is the first post on the Product Twenty blog. We build WordPress plugins, so this blog will mostly be WordPress-specific: how our plugins work, why they’re scoped the way they are, and what we’ve learned maintaining them. We’re starting with an introduction to the two plugins that exist today, since every future post will assume you know what they do.
Media Usage
Media Usage answers a question every long-running WordPress site eventually asks: is this image actually used anywhere?
It builds a local index of where Media Library images are referenced — in post content, templates, metadata, and builder data from Elementor, Divi, WPBakery, Uncode, and ACF fields. Each image gets a status: In use, Referenced, Needs review, No references found, or Protected.
The deliberate choice is the label “No references found” instead of “Unused.” A database scanner can’t prove an image isn’t loaded by custom code, an external system, or conditional output it can’t see. When the scanner’s coverage is incomplete for a given source, affected images are marked Needs review rather than confidently wrong. The dashboard tells you exactly which source was skipped and why.
Media Usage doesn’t delete anything, doesn’t phone home, and doesn’t collect telemetry. It’s a local index, full stop.
Media Usage Pro adds one thing on top: a reversible Cleanup Queue. Images only become eligible after a complete, warning-free scan reports zero references. Queued images are hidden from the Media Library without moving files or touching attachment records, and restoring them never requires an active license — even if Pro is later deactivated, queued images just reappear.
Site Defaults
Site Defaults is for the setup work that repeats across every new site: permalinks, comment settings, a handful of cleanup policies, basic enumeration hardening. Instead of hand-checking the same options on every build, you pick a preset — Agency, Business, Blog, or Development — preview exactly what it would change against current values, and apply it explicitly.
After that, Site Defaults watches those options. If something drifts — a theme reset a setting, another plugin changed one — it shows up in the dashboard and in WordPress Site Health, with an explicit restore or accept action. Nothing is silently reverted behind your back.
Like Media Usage, there’s no telemetry, no remote requests, and no dashboard spam pushing you toward anything.
Why these two first
Both plugins came out of the same pattern: a task we kept doing by hand on client sites, done enough times that automating it honestly was worth more than the next feature on someone else’s roadmap. Neither one tries to be a platform. Site Defaults doesn’t know about images, Media Usage doesn’t know about settings, and we’d rather ship two small, independently useful plugins than one plugin that does everything adequately.
What’s next
Future posts will go deeper on specific mechanics — how the builder-data scanner in Media Usage actually walks Elementor and Divi storage, how drift monitoring in Site Defaults avoids false positives, release notes when scope changes. If there’s a WordPress plugin-development topic you’d like us to cover, the about section has the best way to reach us.