{"id":349237,"date":"2026-08-20T04:42:13","date_gmt":"2026-08-20T04:42:13","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/image-forge\/"},"modified":"2026-08-20T05:06:58","modified_gmt":"2026-08-20T05:06:58","slug":"webxperthub-media-optimizer","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/webxperthub-media-optimizer\/","author":23503550,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.4","requires":"6.3","requires_php":"7.4","requires_plugins":null,"header_name":"Webxperthub Media Optimizer","header_author":"Iftiar Hossain","header_description":"Automatically optimizes, compresses, and converts images to WebP on upload, with background bulk processing for your existing media library.","assets_banners_color":"214c62","last_updated":"2026-08-20 05:06:58","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/webxperthub-media-optimizer","header_author_uri":"https:\/\/iftiarhossain.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":51,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"iftiarhossain","date":"2026-08-20 05:06:58"}},"upgrade_notice":{"1.0.0":"<p>Initial release<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3655750,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3655750,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3655750,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3655750,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Settings page \u2014 configure format, quality, resizing, and performance options","2":"Bulk Optimize screen with live progress bar"}},"plugin_section":[],"plugin_tags":[3868,163,1452,247,15376],"plugin_category":[50,52,54],"plugin_contributors":[264156],"plugin_business_model":[],"class_list":["post-349237","plugin","type-plugin","status-publish","hentry","plugin_tags-compress","plugin_tags-images","plugin_tags-optimize","plugin_tags-performance","plugin_tags-webp","plugin_category-media","plugin_category-performance","plugin_category-security-and-spam-protection","plugin_contributors-iftiarhossain","plugin_committers-iftiarhossain"],"banners":{"banner":"https:\/\/ps.w.org\/webxperthub-media-optimizer\/assets\/banner-772x250.png?rev=3655750","banner_2x":"https:\/\/ps.w.org\/webxperthub-media-optimizer\/assets\/banner-1544x500.png?rev=3655750","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/webxperthub-media-optimizer\/assets\/icon-128x128.png?rev=3655750","icon_2x":"https:\/\/ps.w.org\/webxperthub-media-optimizer\/assets\/icon-256x256.png?rev=3655750","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Webxperthub Media Optimizer optimizes your WordPress media library without slowing down your site or your server. It automatically compresses new uploads and converts them to WebP, and lets you bulk-process your entire existing media library safely in the background.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li>Automatic optimization on upload \u2014 no manual steps required<\/li>\n<li>Converts images to WebP (or PNG, or compress-only with original format kept)<\/li>\n<li>Typically reduces file size by 40-60% with no noticeable quality loss<\/li>\n<li>Background queue processing \u2014 bulk-optimize thousands of images without server timeouts<\/li>\n<li>Optional resizing of oversized uploads to a configurable maximum width\/height<\/li>\n<li>Keeps a backup of your original files by default<\/li>\n<li>Fully multisite compatible<\/li>\n<li>Uses your server's native Imagick or GD library \u2014 no external API, no data ever leaves your server<\/li>\n<li>Developer-friendly filter hooks for custom workflows<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<p>When Webxperthub Media Optimizer is enabled, every new image uploaded to your Media Library is automatically queued for optimization. A background process (WP-Cron) picks up queued images in small batches, so your server is never overloaded even if hundreds of images are queued at once.<\/p>\n\n<p>Use the <strong>Bulk Optimize<\/strong> screen under Webxperthub Media Optimizer in your admin menu to queue your entire existing media library and watch a live progress bar as images are processed.<\/p>\n\n<h4>For Developers<\/h4>\n\n<p>Skip optimization for specific attachments:<\/p>\n\n<pre><code>add_filter( 'mopw_skip_optimization', function( $skip, $attachment_id ) {\n    if ( get_post_meta( $attachment_id, '_never_optimize', true ) ) {\n        return true;\n    }\n    return $skip;\n}, 10, 2 );\n<\/code><\/pre>\n\n<p>Override format\/quality for specific attachments:<\/p>\n\n<pre><code>add_filter( 'mopw_before_optimize_args', function( $args, $attachment_id ) {\n    if ( has_term( 'print-quality', 'category', $attachment_id ) ) {\n        $args['quality'] = 95;\n    }\n    return $args;\n}, 10, 2 );\n<\/code><\/pre>\n\n<p>Run custom logic after an image is optimized:<\/p>\n\n<pre><code>add_action( 'mopw_after_optimize', function( $attachment_id, $original_size, $new_size ) {\n    error_log( \"Attachment {$attachment_id} shrank from {$original_size} to {$new_size} bytes.\" );\n}, 10, 3 );\n<\/code><\/pre>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to \/wp-content\/plugins\/, or install directly through the Plugins screen in your WordPress admin.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to Webxperthub Media Optimizer \u2192 Settings to configure quality, output format, and resizing options.<\/li>\n<li>Optionally, go to Webxperthub Media Optimizer \u2192 Bulk Optimize to process your existing media library.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20this%20plugin%20send%20my%20images%20to%20an%20external%20server%3F\"><h3>Will this plugin send my images to an external server?<\/h3><\/dt>\n<dd><p>No. Webxperthub Media Optimizer uses your server's own Imagick or GD library to process images locally. Nothing is ever uploaded to a third-party service.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20original%20images%3F\"><h3>What happens to my original images?<\/h3><\/dt>\n<dd><p>By default, Webxperthub Media Optimizer keeps a backup copy of your original file (with a <code>.mopw-bak<\/code> extension) alongside the optimized version. You can disable this in Settings if you don't need it.<\/p><\/dd>\n<dt id=\"does%20deleting%20the%20plugin%20remove%20my%20backup%20files%3F\"><h3>Does deleting the plugin remove my backup files?<\/h3><\/dt>\n<dd><p>No. Uninstalling Webxperthub Media Optimizer removes its settings and internal processing queue, but does not scan your uploads folder for <code>.mopw-bak<\/code> files, to avoid a slow or timed-out uninstall on large media libraries. If you want to remove them, you can safely delete any file ending in <code>.mopw-bak<\/code> from your uploads folder.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20server%20when%20bulk-optimizing%20thousands%20of%20images%3F\"><h3>Will this slow down my server when bulk-optimizing thousands of images?<\/h3><\/dt>\n<dd><p>No. Bulk optimization uses a background queue processed in small batches (configurable under Settings \u2192 Performance), so your server only ever processes a few images at a time, never all at once.<\/p><\/dd>\n<dt id=\"is%20this%20compatible%20with%20multisite%3F\"><h3>Is this compatible with Multisite?<\/h3><\/dt>\n<dd><p>Yes. Webxperthub Media Optimizer can be activated network-wide, and each site maintains its own independent settings and processing queue.<\/p><\/dd>\n<dt id=\"what%20image%20formats%20are%20supported%3F\"><h3>What image formats are supported?<\/h3><\/dt>\n<dd><p>JPEG and PNG sources are supported. Output can be WebP, PNG, or the original format (compression only, no format change).<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Automatically compress and convert your images to WebP on upload, with safe background bulk processing for your existing media library.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/349237","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=349237"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/iftiarhossain"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=349237"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=349237"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=349237"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=349237"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=349237"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=349237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}