{"id":296594,"date":"2026-04-21T08:05:10","date_gmt":"2026-04-21T08:05:10","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/divo-instant-image-optimizer\/"},"modified":"2026-05-23T09:02:06","modified_gmt":"2026-05-23T09:02:06","slug":"binsaif-instant-image-optimizer","status":"publish","type":"plugin","link":"https:\/\/cl.wordpress.org\/plugins\/binsaif-instant-image-optimizer\/","author":14977198,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.2","stable_tag":"1.4.2","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"BinsOptimizer - Image Optimizer & WebP Converter","header_author":"Binsaifullah","header_description":"Optimize and convert images to WebP instantly on upload, all within your browser.","assets_banners_color":"b7b8df","last_updated":"2026-05-23 09:02:06","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":357,"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":"binsaifullah","date":"2026-04-21 08:04:57"},"1.0.1":{"tag":"1.0.1","author":"binsaifullah","date":"2026-04-21 08:14:33"},"1.1.0":{"tag":"1.1.0","author":"binsaifullah","date":"2026-04-27 10:02:09"},"1.2.0":{"tag":"1.2.0","author":"binsaifullah","date":"2026-05-03 07:10:33"},"1.3.0":{"tag":"1.3.0","author":"binsaifullah","date":"2026-05-11 05:43:56"},"1.4.0":{"tag":"1.4.0","author":"binsaifullah","date":"2026-05-19 05:50:38"},"1.4.1":{"tag":"1.4.1","author":"binsaifullah","date":"2026-05-21 08:46:54"},"1.4.2":{"tag":"1.4.2","author":"binsaifullah","date":"2026-05-23 09:02:06"}},"upgrade_notice":{"1.4.1":"<p>Redesigned admin dashboard and settings screen with a modern glassmorphic SaaS interface, real-time database stats, and an interactive local before\/after compression sandbox playground.<\/p>","1.4.0":"<p>Adds on-demand optimization for existing images and a File Size column in the Media Library. No breaking changes; all existing settings are preserved.<\/p>","1.3.0":"<p>Adds secure, role-restricted SVG upload support with server-side sanitization, SVG media library compatibility, and an optional SVG-to-WebP auto-optimization toggle. No breaking changes; all existing settings are preserved.<\/p>","1.2.0":"<p>Adds a sortable Optimization column to the Media Library so you can see and rank savings at a glance \u2014 no breaking changes.<\/p>","1.1.0":"<ul>\n<li>Bug fix release. Updates the metadata storage mechanism and resolves a critical issue where optimization stats were not displaying in the Media Library details panel.<\/li>\n<\/ul>","1.0.0":"<ul>\n<li>Initial version of the plugin. Start optimizing your images today!<\/li>\n<\/ul>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3541219,"resolution":"256x256","location":"assets","locale":"","width":271,"height":271}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3521271,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3521271,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"biio\/admin":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"biio\/admin","title":"BIIO Admin","editorScript":"file:.\/index.js","editorStyle":"file:.\/index.scss"}},"tagged_versions":["1.0.0","1.0.1","1.1.0","1.2.0","1.3.0","1.4.0","1.4.1","1.4.2"],"block_files":[],"assets_screenshots":{"screenshot-1.gif":{"filename":"screenshot-1.gif","revision":3511507,"resolution":"1","location":"assets","locale":"","width":1024,"height":576}},"screenshots":[]},"plugin_section":[],"plugin_tags":[56174,29152,29158,15376,186483],"plugin_category":[54],"plugin_contributors":[174986],"plugin_business_model":[],"class_list":["post-296594","plugin","type-plugin","status-publish","hentry","plugin_tags-compress-images","plugin_tags-image-compression","plugin_tags-image-optimizer","plugin_tags-webp","plugin_tags-webp-converter","plugin_category-security-and-spam-protection","plugin_contributors-binsaifullah","plugin_committers-binsaifullah"],"banners":{"banner":"https:\/\/ps.w.org\/binsaif-instant-image-optimizer\/assets\/banner-772x250.png?rev=3521271","banner_2x":"https:\/\/ps.w.org\/binsaif-instant-image-optimizer\/assets\/banner-1544x500.png?rev=3521271","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/binsaif-instant-image-optimizer\/assets\/icon-256x256.png?rev=3541219","icon_2x":"https:\/\/ps.w.org\/binsaif-instant-image-optimizer\/assets\/icon-256x256.png?rev=3541219","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/binsaif-instant-image-optimizer\/assets\/screenshot-1.gif?rev=3511507","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>BinsOptimizer<\/strong> is the fastest, most private way to optimize images in WordPress. Unlike cloud-based image optimizers, BinsOptimizer converts and compresses your images <strong>directly in the browser<\/strong> \u2014 before they ever hit your server. No API keys, no monthly fees, no privacy risks.<\/p>\n\n<p>Every JPEG and PNG you upload is automatically converted to <strong>WebP<\/strong> \u2014 the modern image format recommended by Google \u2014 and resized to your chosen maximum dimension. The result is smaller file sizes, faster page loads, and better Core Web Vitals scores, all without touching your server resources.<\/p>\n\n<p><strong>Why choose BinsOptimizer over other image optimizer plugins?<\/strong><\/p>\n\n<p>Most WordPress image optimization plugins send your images to external cloud servers for processing, which is slow, costs money, and raises data privacy concerns. BinsOptimizer does everything on the user's own machine using modern browser APIs, making it instant, free, and completely private.<\/p>\n\n<h3>Video Tutorial<\/h3>\n\n<p>[youtube http:\/\/www.youtube.com\/watch?v=_K4j32bjBck]<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Automatic WebP Conversion<\/strong>: Convert JPEG, PNG, and SVGs (if you allow) images to WebP on upload for up to 80% smaller file sizes and better Google PageSpeed scores.<\/li>\n<li><strong>Client-Side Image Compression<\/strong>: All image processing happens in the browser \u2014 zero server load, zero cloud costs.<\/li>\n<li><strong>Smart Image Resizing<\/strong>: Automatically downscale oversized images to your chosen maximum width or height during upload.<\/li>\n<li><strong>No API Key Required<\/strong>: Fully self-contained. No third-party services, no subscriptions, no limits.<\/li>\n<li><strong>100% Private<\/strong>: Your images are never sent to an external server. Everything stays on your machine until the optimized file is uploaded.<\/li>\n<li><strong>Zero Queue, Instant Results<\/strong>: Optimization happens in real time as you upload \u2014 no background jobs or waiting.<\/li>\n<li><strong>Media Library Integration<\/strong>: View compression savings, original vs. optimized file sizes, and conversion time directly in the WordPress Media Library.<\/li>\n<li><strong>Works Everywhere in WordPress<\/strong>: Compatible with the Block Editor (Gutenberg), Classic Editor, drag-and-drop uploads, and featured image pickers.<\/li>\n<li><strong>SVGs Upload<\/strong>: Allow to upload SVGs file securely and if you want you can optimize and convert them on upload.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/binsaif-instant-image-optimizer<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Navigate to <strong>Settings &gt; BinsOptimizer<\/strong> to configure your compression levels and constraints.<\/li>\n<li>Start uploading images to your Media Library or Posts - they will be optimized automatically!<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20require%20an%20api%20key%3F\"><h3>Does this require an API key?<\/h3><\/dt>\n<dd><p>No. Since all optimization happens in your browser, there are no external services to connect to and no API keys required.<\/p><\/dd>\n<dt id=\"does%20it%20optimize%20existing%20images%3F\"><h3>Does it optimize existing images?<\/h3><\/dt>\n<dd><p>Currently, the plugin focuses on optimizing images at the moment of upload. Bulk optimization for your existing library is planned for a future update.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20other%20media%20plugins%3F\"><h3>Is it compatible with other media plugins?<\/h3><\/dt>\n<dd><p>Yes, it works by intercepting the upload process at the browser level, making it compatible with most WordPress themes and plugins that use the standard WordPress media uploader.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Added: Reset Default settings button is added<\/li>\n<li>Checked: compatibility with WordPress 7.0<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Redesign: Premium administrative settings and dashboard redesign with elegant glassmorphic statistics widgets, modern sidebar navigation layout, responsive diagnostics, and widescreen compatibility.<\/li>\n<li>New: Dynamic real-time calculation of direct space savings, optimized image count, efficiency ratios, and conversion speed directly from your database.<\/li>\n<li>New: High-fidelity, local browser-based drag-and-drop Image Optimizer Sandbox Playground for real-time before\/after side-by-side compression previews.<\/li>\n<li>Improvement: Beautifully redesigned settings save buttons with animated feedback, state indicators, and sticky tab footers.<\/li>\n<li>Improvement: Expanded responsive widescreen dashboard layouts to full-width alignment (max-width: 100%).<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>New: \"Optimize It\" button in the Media Library list view \u2014 click to optimize any existing JPEG, PNG, or SVG attachment on demand without re-uploading.<\/li>\n<li>New: File Size column in the Media Library \u2014 shows the current on-disk size of every attachment. Can be toggled off in Settings.<\/li>\n<li>Improvement: Media Library column CSS moved to a dedicated stylesheet (<code>assets\/css\/media.css<\/code>) and properly enqueued, keeping PHP templates clean.<\/li>\n<li>Fix: \"Show Filesize Column\" toggle was placed outside the settings form and never saved correctly \u2014 now included in the form submission.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>New: Secure SVG upload support \u2014 administrators can now enable SVG uploads for specific user roles via <strong>Settings &gt; BinsOptimizer<\/strong>.<\/li>\n<li>New: Role-based SVG upload permission \u2014 choose exactly which user roles (Administrator, Editor, Author, etc.) are allowed to upload SVG files.<\/li>\n<li>New: Server-side SVG sanitization \u2014 every SVG is cleaned with a DOMDocument-based sanitizer before it is stored. Strips <code>&lt;script&gt;<\/code> tags, <code>&lt;foreignObject&gt;<\/code>, event-handler attributes (<code>on*<\/code>), dangerous <code>href<\/code>\/<code>xlink:href<\/code> URI schemes (<code>javascript:<\/code>, <code>vbscript:<\/code>, <code>data:application\/<\/code>), and unsafe CSS constructs before saving.<\/li>\n<li>New: SVG media library compatibility \u2014 SVG attachments now display correctly in the Media Library grid and modal, report accurate intrinsic dimensions, and render properly in the Block Editor image block.<\/li>\n<li>New: SVG frontend display \u2014 <code>wp_get_attachment_image()<\/code> and responsive image helpers work correctly for SVG attachments; srcset generation is disabled for SVGs (vector format needs no size variants).<\/li>\n<li>New: SVG Auto-Optimization setting \u2014 a separate toggle controls whether SVG files are automatically converted to WebP on upload (off by default). When disabled, SVGs are uploaded and stored as native SVG files.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>New: Optimization column added to the Media Library list view \u2014 each attachment now shows a colour-coded badge displaying the savings percentage and output format (e.g. \"42.3% webp\").<\/li>\n<li>New: Hovering the savings badge reveals a tooltip with the original file size, optimised file size, and total bytes saved.<\/li>\n<li>New: The Optimization column is fully sortable \u2014 click the column header to rank media items from most-saved to least-saved (or vice versa).<\/li>\n<li>New: Unoptimised attachments display a neutral \"Not optimized\" badge so the column is informative for every item in the library.<\/li>\n<li>Improvement: Savings percentage is now also persisted as a dedicated post meta key (<code>_biio_savings<\/code>) alongside the existing attachment metadata, enabling reliable numeric sorting without serialized-field parsing.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Fix: Media Library stats panel never rendered in the single-column Details view due to incorrect Backbone template override \u2014 switched to a <code>render()<\/code> override matching the correct pattern.<\/li>\n<li>Fix: Fatal JavaScript TypeError when <code>conversionTime<\/code> is absent from stored metadata \u2014 added null guard before calling <code>.toFixed()<\/code>.<\/li>\n<li>Fix: <code>canvas.getContext('2d')<\/code> could return null for very large images \u2014 added explicit null check before drawing to canvas.<\/li>\n<li>Fix: Metadata queue stored in transients was vulnerable to object-cache eviction \u2014 migrated to a persistent WordPress option (<code>biio_metadata_queue<\/code>).<\/li>\n<li>Fix: Typo in save-error button label \"Fied to Save\" corrected to \"Failed to Save\".<\/li>\n<li>Fix: Save success button label showed \"Saving Changes\" after the save had already completed \u2014 corrected to \"Saved!\".<\/li>\n<li>Fix: Redundant <code>__biio_converted<\/code> event flag removed; a single <code>biio_converted<\/code> flag is sufficient to prevent re-processing loops.<\/li>\n<li>Fix: Removed dead <code>is_admin()<\/code> guard inside <code>admin_enqueue_scripts<\/code> hook (the hook already only fires in admin context).<\/li>\n<li>Improvement: Removed all debug <code>console.log<\/code> \/ <code>console.warn<\/code> statements from production JS bundles.<\/li>\n<li>Improvement: Deactivation hook now cleans up the persistent option queue instead of a transient.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Browser-based WebP conversion.<\/li>\n<li>Client-side image resizing.<\/li>\n<li>Premium Admin Dashboard.<\/li>\n<\/ul>","raw_excerpt":"The fastest WordPress image optimizer. Auto-convert JPEG, PNG, SVGs (if you allow) to WebP and compress images on upload.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/296594","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=296594"}],"author":[{"embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/binsaifullah"}],"wp:attachment":[{"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=296594"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=296594"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=296594"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=296594"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=296594"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/cl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=296594"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}