{"id":280517,"date":"2026-07-03T02:34:54","date_gmt":"2026-07-03T02:34:54","guid":{"rendered":"https:\/\/ja.wordpress.org\/plugins\/webp-discipline-auto-webp-storage-cleaner\/"},"modified":"2026-07-03T04:28:18","modified_gmt":"2026-07-03T04:28:18","slug":"imgzen-media-cleaner","status":"publish","type":"plugin","link":"https:\/\/haz.wordpress.org\/plugins\/imgzen-media-cleaner\/","author":23448045,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.0","stable_tag":"0.1.0","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Imgzen Media Converter - WebP for CDN","header_author":"T. Kubota","header_description":"Automatically converts uploaded images to WebP and cleans up unused originals to save storage.","assets_banners_color":"f3feff","last_updated":"2026-07-03 04:28:18","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/imgzen-media-cleaner\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":46,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.0":{"tag":"0.1.0","author":"tkubota","date":"2026-07-03 04:28:18"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3594760,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3594760,"resolution":"1544x500","location":"assets","locale":"","width":1824,"height":576}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3594760,"resolution":"1","location":"assets","locale":"","width":1096,"height":1410},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3594760,"resolution":"2","location":"assets","locale":"","width":1548,"height":703},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3594760,"resolution":"3","location":"assets","locale":"","width":644,"height":767}},"screenshots":{"1":"<p>Dashboard\nOverview of storage savings and current status.<\/p>","2":"<p>Statistics Panel\nDisplays total disk space saved through cleanup.<\/p>","3":"<p>Settings\nControl over quality, deletion behavior, and safety guards.<\/p>"}},"plugin_section":[],"plugin_tags":[3863,3875,188139,29161,15376],"plugin_category":[59],"plugin_contributors":[269945],"plugin_business_model":[],"class_list":["post-280517","plugin","type-plugin","status-publish","hentry","plugin_tags-cdn","plugin_tags-cloudfront","plugin_tags-image-conversion","plugin_tags-image-optimization","plugin_tags-webp","plugin_category-utilities-and-tools","plugin_contributors-tkubota","plugin_committers-tkubota"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/imgzen-media-cleaner\/assets\/icon-256x256.png?rev=3594760","icon_2x":"https:\/\/ps.w.org\/imgzen-media-cleaner\/assets\/icon-256x256.png?rev=3594760","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/imgzen-media-cleaner\/assets\/screenshot-1.png?rev=3594760","caption":"<p>Dashboard\nOverview of storage savings and current status.<\/p>"},{"src":"https:\/\/ps.w.org\/imgzen-media-cleaner\/assets\/screenshot-2.png?rev=3594760","caption":"<p>Statistics Panel\nDisplays total disk space saved through cleanup.<\/p>"},{"src":"https:\/\/ps.w.org\/imgzen-media-cleaner\/assets\/screenshot-3.png?rev=3594760","caption":"<p>Settings\nControl over quality, deletion behavior, and safety guards.<\/p>"}],"raw_content":"<!--section=description-->\n<p><strong>Most WebP plugins break behind a CDN.<\/strong><\/p>\n\n<p>Plugins that serve WebP conditionally (based on browser support) rely on the HTTP <code>Accept<\/code> header to decide which format to deliver. CDNs like CloudFront cache responses aggressively \u2014 and unless explicitly configured to vary the cache by <code>Accept<\/code> header, the CDN will serve the same cached format to every visitor, regardless of their browser.<\/p>\n\n<p>The result: your images stay as JPEG even though WebP conversion is enabled.<\/p>\n\n<p><strong>Imgzen Media Converter solves this differently.<\/strong><\/p>\n\n<p>Instead of conditional serving, it permanently replaces the uploaded image with a WebP version at upload time. The attachment itself becomes WebP \u2014 WordPress, your CDN, and your visitors all see one format with no negotiation required.<\/p>\n\n<p>That means zero-configuration CDN compatibility. There is no need to touch\nCloudFront cache policies, server rewrite rules, or <code>.htaccess<\/code> delivery logic.\nInstall it, enable it, and new uploads are handled automatically.<\/p>\n\n<p>This makes it the right choice when:<\/p>\n\n<ul>\n<li>Your site runs behind CloudFront, Fastly, or any CDN with aggressive caching<\/li>\n<li>You manage sites for non-technical clients who upload images without optimization<\/li>\n<li>You want uploads handled automatically with no per-image manual steps<\/li>\n<\/ul>\n\n<h3>Features<\/h3>\n\n<ul>\n<li><p>Permanent WebP Conversion\nReplaces uploaded JPEG\/PNG with WebP at upload time. No dual-format serving.<\/p><\/li>\n<li><p>CDN Compatible\nWorks behind CloudFront and any CDN without cache policy changes,\nrewrite rules, or special server configuration.<\/p><\/li>\n<li><p>Optional Physical Cleanup\nRemoves original JPEG\/PNG files and intermediate sizes from the server\nafter successful WebP conversion (can be disabled).<\/p><\/li>\n<li><p>Safety Guard\nSkips conversion when the WebP output would be larger than the original,\nand guards against images that are still oversized (over 15MB or 6000px)\nafter WordPress's standard upload scaling.<\/p><\/li>\n<li><p>Suppress Intermediate Size Generation\nChoose which intermediate sizes WordPress generates at upload time.<\/p><\/li>\n<li><p>Storage Saving Statistics\nDisplays the total amount of disk space saved through cleanup,\nso you can see exactly how many megabytes have been reclaimed.<\/p><\/li>\n<li><p>Flexible Quality Control\nAdjustable quality settings for JPEG and PNG,\nincluding optional PNG lossless conversion and EXIF stripping.<\/p><\/li>\n<li><p>Dual Engine Support\nSupports both Imagick (recommended) and GD libraries,\nautomatically selecting the available engine.<\/p><\/li>\n<\/ul>\n\n<h3>Why not other WebP plugins?<\/h3>\n\n<p>Most WebP plugins use browser detection to serve WebP or the original image\nconditionally. This approach breaks with CDN caching (CloudFront, Fastly, etc.)\nunless the CDN is configured to vary its cache by the Accept header \u2014 a setting\nmost users are not aware of or cannot easily configure.<\/p>\n\n<p>The result: the CDN caches whichever format was requested first, and all\nsubsequent visitors receive that version regardless of their browser's WebP\nsupport.<\/p>\n\n<p>Imgzen Media Converter takes a different approach: images are permanently converted\nto WebP at upload time. The attachment itself becomes WebP \u2014 no conditional\nserving, no browser detection, no CDN configuration needed. It just works.<\/p>\n\n<p>For teams and client sites, this also reduces operational friction. There are no\nCloudFront policies to explain, no server rules to maintain, and no image workflow\nfor editors to remember.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>imgzen-media-cleaner<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the \"Plugins\" menu in WordPress.<\/li>\n<li>Configure the plugin from \"Settings\" &gt; \"Imgzen Media Converter\".<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20only%20useful%20behind%20a%20cdn%3F\"><h3>Is this only useful behind a CDN?<\/h3><\/dt>\n<dd><p>No. Even without a CDN, it ensures uploaded images are always WebP without\nrequiring clients or editors to optimize images before uploading.<\/p><\/dd>\n<dt id=\"should%20i%20back%20up%20my%20site%20before%20using%20this%20plugin%3F\"><h3>Should I back up my site before using this plugin?<\/h3><\/dt>\n<dd><p>Yes. Before using Imgzen on a production site, make sure you have a recent\nbackup of your files and database. Depending on your settings, image conversion\nand cleanup features may modify or remove image files.<\/p><\/dd>\n<dt id=\"is%20image%20deletion%20permanent%3F\"><h3>Is image deletion permanent?<\/h3><\/dt>\n<dd><p>Yes. When original image deletion is enabled,\nJPEG\/PNG files and their intermediate sizes are physically removed\nfrom the server.<\/p>\n\n<p>This operation is irreversible.\nPlease ensure you have backups before enabling this option.<\/p><\/dd>\n<dt id=\"why%20permanent%20conversion%3F\"><h3>Why permanent conversion?<\/h3><\/dt>\n<dd><p>Permanent conversion avoids the complexity and storage overhead of keeping two\nparallel image formats for every upload. WordPress stores one attachment, the CDN\ncaches one file, and the server no longer needs to keep unnecessary JPEG\/PNG\ncopies once WebP has been generated successfully.<\/p>\n\n<p>Modern browsers broadly support WebP, so for many production sites there is\nlittle practical benefit in retaining duplicate originals after conversion.\nThe result is simpler delivery, smaller storage usage, and fewer moving parts.<\/p><\/dd>\n<dt id=\"can%20i%20see%20how%20much%20storage%20i%20saved%3F\"><h3>Can I see how much storage I saved?<\/h3><\/dt>\n<dd><p>Yes. The dashboard shows the total amount of server storage reclaimed through\nimage optimization and cleanup, making it easy to see the value of the plugin\nover time.<\/p><\/dd>\n<dt id=\"which%20images%20are%20skipped%3F\"><h3>Which images are skipped?<\/h3><\/dt>\n<dd><p>The plugin skips conversion in the following cases to prevent\nperformance issues or quality degradation:<\/p>\n\n<ol>\n<li>When the converted WebP file is larger than the original<\/li>\n<li>Files still larger than 15MB after WordPress's standard upload processing<\/li>\n<li>Extremely large dimensions (over 6000px)<\/li>\n<\/ol>\n\n<p>Note: WordPress itself scales uploads larger than 2560px down to a\n\"-scaled\" copy, and the plugin converts that scaled image. The size and\ndimension guards are a second line of defense \u2014 in practice they mainly\napply when the big image threshold has been disabled or customized.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20convert%20existing%20images%3F\"><h3>Does this plugin convert existing images?<\/h3><\/dt>\n<dd><p>No. Imgzen Media Converter only processes images at upload time.\nIt does not perform bulk or retroactive conversions.<\/p><\/dd>\n<dt id=\"which%20php%20extensions%20are%20required%3F\"><h3>Which PHP extensions are required?<\/h3><\/dt>\n<dd><p>Imagick with WebP support is recommended.\nIf unavailable, the plugin falls back to the standard GD library.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Automatic WebP conversion on upload<\/li>\n<li>Optional original image and intermediate size cleanup<\/li>\n<li>Storage saving statistics<\/li>\n<\/ul>","raw_excerpt":"Permanently converts images to WebP at upload time. No conditional serving \u2014 works reliably behind CloudFront and any CDN without extra configuration.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/280517","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=280517"}],"author":[{"embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tkubota"}],"wp:attachment":[{"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=280517"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=280517"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=280517"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=280517"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=280517"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/haz.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=280517"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}