{"id":354509,"date":"2026-08-16T13:41:18","date_gmt":"2026-08-16T13:41:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/optipix-image-optimizer\/"},"modified":"2026-08-16T13:41:04","modified_gmt":"2026-08-16T13:41:04","slug":"byteslim-image-optimizer","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/byteslim-image-optimizer\/","author":23528852,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.1","stable_tag":"1.2.1","tested":"7.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Byteslim Image Optimizer","header_author":"WP Developer Hub","header_description":"Lightweight image compression, WebP\/AVIF conversion, bulk optimization and smart image management for WordPress.","assets_banners_color":"cbd7de","last_updated":"2026-08-16 13:41:04","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wpdeveloperhub.com\/byteslim-image-optimizer.html","header_author_uri":"https:\/\/wpdeveloperhub.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":20,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.1":{"tag":"1.2.1","author":"wpdh1707","date":"2026-08-16 13:41:04"}},"upgrade_notice":{"1.2.1":"<p>Security hardening across the admin screens and a corrected reviews link. Recommended for everyone.<\/p>","1.2.0":"<p>Renamed to Byteslim Image Optimizer. Your settings, statistics, optimization history and licence carry over automatically \u2014 nothing to re-enter. The admin menu is now &quot;Byteslim&quot;, so update any bookmarks to the old settings page.<\/p>","1.1.1":"<p>Corrects images mislabelled by other optimizers, makes Bulk Optimize reporting honest (optimized\/skipped\/failed), degrades AVIF gracefully, and fixes image output on AMP pages. Recommended for everyone.<\/p>","1.1.0":"<p>Adds WebP Replace mode (Media Library shows .webp, original kept) and fixes a bug that could leave Bulk Optimize doing nothing after a failed run. Recommended for everyone.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3649774,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3649774,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3649774,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3649774,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3649774,"resolution":"1","location":"assets","locale":"","width":1350,"height":602},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3649774,"resolution":"2","location":"assets","locale":"","width":1350,"height":586},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3649774,"resolution":"3","location":"assets","locale":"","width":1351,"height":601},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3649774,"resolution":"4","location":"assets","locale":"","width":1348,"height":603},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3649774,"resolution":"5","location":"assets","locale":"","width":1354,"height":574},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3649774,"resolution":"6","location":"assets","locale":"","width":1351,"height":613},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3649774,"resolution":"7","location":"assets","locale":"","width":1350,"height":607}},"screenshots":{"1":"Dashboard \u2014 images optimized, disk space saved and compression ratio, with coverage meters and an image-health summary.","2":"Settings \u2014 compression quality, WebP mode (Replace in the Media Library, or serve alongside via a picture tag) and delivery options.","3":"Bulk Optimize \u2014 process your entire Media Library with a live progress bar that resumes if you close the tab.","4":"Media Library \u2014 per-image \"Optimize\" action, an Optimization status column and multi-select bulk actions.","5":"A WebP-replaced image in the Media Library, showing the kept \"Original image\" and the one-click \"Restore original\" action.","6":"Server Status \u2014 WebP\/AVIF support, PHP, memory and web-server\/CDN detection.","7":"Logs \u2014 a clear activity and error log for every optimization."}},"plugin_section":[],"plugin_tags":[194661,56174,29161,247,15376],"plugin_category":[54],"plugin_contributors":[272235],"plugin_business_model":[],"class_list":["post-354509","plugin","type-plugin","status-publish","hentry","plugin_tags-avif","plugin_tags-compress-images","plugin_tags-image-optimization","plugin_tags-performance","plugin_tags-webp","plugin_category-security-and-spam-protection","plugin_contributors-wpdh1707","plugin_committers-wpdh1707"],"banners":{"banner":"https:\/\/ps.w.org\/byteslim-image-optimizer\/assets\/banner-772x250.jpg?rev=3649774","banner_2x":"https:\/\/ps.w.org\/byteslim-image-optimizer\/assets\/banner-1544x500.jpg?rev=3649774","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/byteslim-image-optimizer\/assets\/icon-128x128.png?rev=3649774","icon_2x":"https:\/\/ps.w.org\/byteslim-image-optimizer\/assets\/icon-256x256.png?rev=3649774","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/byteslim-image-optimizer\/assets\/screenshot-1.png?rev=3649774","caption":"Dashboard \u2014 images optimized, disk space saved and compression ratio, with coverage meters and an image-health summary."},{"src":"https:\/\/ps.w.org\/byteslim-image-optimizer\/assets\/screenshot-2.png?rev=3649774","caption":"Settings \u2014 compression quality, WebP mode (Replace in the Media Library, or serve alongside via a picture tag) and delivery options."},{"src":"https:\/\/ps.w.org\/byteslim-image-optimizer\/assets\/screenshot-3.png?rev=3649774","caption":"Bulk Optimize \u2014 process your entire Media Library with a live progress bar that resumes if you close the tab."},{"src":"https:\/\/ps.w.org\/byteslim-image-optimizer\/assets\/screenshot-4.png?rev=3649774","caption":"Media Library \u2014 per-image \"Optimize\" action, an Optimization status column and multi-select bulk actions."},{"src":"https:\/\/ps.w.org\/byteslim-image-optimizer\/assets\/screenshot-5.png?rev=3649774","caption":"A WebP-replaced image in the Media Library, showing the kept \"Original image\" and the one-click \"Restore original\" action."},{"src":"https:\/\/ps.w.org\/byteslim-image-optimizer\/assets\/screenshot-6.png?rev=3649774","caption":"Server Status \u2014 WebP\/AVIF support, PHP, memory and web-server\/CDN detection."},{"src":"https:\/\/ps.w.org\/byteslim-image-optimizer\/assets\/screenshot-7.png?rev=3649774","caption":"Logs \u2014 a clear activity and error log for every optimization."}],"raw_content":"<!--section=description-->\n<p>Byteslim Image Optimizer makes your site faster by compressing images and serving next-generation formats \u2014 without changing how you work. New uploads are optimized automatically, and you can process your whole library in a few clicks.<\/p>\n\n<p>Built for performance: it prefers Imagick, falls back to GD when the host restricts it, only overwrites a file when the result is genuinely smaller, and processes large libraries in memory-efficient batches that resume if interrupted.<\/p>\n\n<p><strong>WebP the way you want it<\/strong><\/p>\n\n<p>Choose how WebP is delivered in Settings:<\/p>\n\n<ul>\n<li><strong>Replace (recommended)<\/strong> \u2014 the media file itself becomes WebP, so your Media Library shows <code>.webp<\/code>. The original JPG\/PNG is kept and can be restored in one click.<\/li>\n<li><strong>Serve alongside<\/strong> \u2014 the original file is never changed; WebP is delivered on the front end via a <code>&lt;picture&gt;<\/code> tag with automatic fallback.<\/li>\n<\/ul>\n\n<p><strong>Free features<\/strong><\/p>\n\n<ul>\n<li>JPEG &amp; PNG compression (lossless PNG, transparency preserved)<\/li>\n<li>Adjustable quality, metadata stripping, progressive JPEG<\/li>\n<li>Optimize the full image and every thumbnail size<\/li>\n<li>WebP conversion with Replace or serve-alongside delivery<\/li>\n<li>One-click \"Restore original\" for any WebP-replaced image<\/li>\n<li>Bulk optimizer with a progress bar that resumes after interruption<\/li>\n<li>Media Library \"Optimize\" action, bulk actions and status column<\/li>\n<li>Statistics dashboard (images optimized, space saved, compression ratio, health)<\/li>\n<li>Server status: server, PHP, WebP\/AVIF and host\/CDN detection<\/li>\n<li>Activity &amp; error logs<\/li>\n<li>WP-CLI commands and a read-only REST API<\/li>\n<li>Translation ready<\/li>\n<\/ul>\n\n<p><strong>Premium features<\/strong><\/p>\n\n<p>Byteslim Image Optimizer Premium adds automatic scaling of oversized images (resize huge originals down to a maximum you choose, thumbnails rebuilt, original kept restorable), lazy loading with blur-up placeholders and Largest Contentful Paint protection, server-level WebP\/AVIF delivery across the whole site (theme and CSS-background images, via .htaccess or an Nginx snippet), AI-generated alt text for accessibility and SEO (bring your own key), media cleanup (find duplicate images and broken records to reclaim space), AVIF conversion, backup &amp; one-click restore of originals, background queue processing, scheduled optimization, WooCommerce\/Elementor\/Gutenberg\/page-builder delivery, advanced analytics and an image health report, and a REST write API.<\/p>\n\n<p>Premium is available as a low yearly price or a one-time lifetime licence (1, 5 or unlimited sites) \u2014 unlimited images, no per-image credits and no bandwidth limits, because it all runs on your own server. Full feature comparison, documentation and licensing: <a href=\"https:\/\/wpdeveloperhub.com\/byteslim-image-optimizer.html\">wpdeveloperhub.com\/byteslim-image-optimizer<\/a><\/p>\n\n<p>This free plugin makes no external service calls.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/byteslim-image-optimizer<\/code>, or install it from the Plugins screen.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to <strong>Image Optimizer \u2192 Settings<\/strong> and choose your options.<\/li>\n<li>Use <strong>Image Optimizer \u2192 Bulk Optimize<\/strong> to process images already in your library.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"why%20does%20my%20media%20library%20show%20.webp%20after%20optimizing%3F\"><h3>Why does my Media Library show .webp after optimizing?<\/h3><\/dt>\n<dd><p>That is Replace mode (the default). The media file is converted to WebP and the original JPG\/PNG is kept as a restorable backup \u2014 you'll see an \"Original image\" link on the attachment. Prefer to keep the original file untouched? Switch <strong>Settings \u2192 WebP mode<\/strong> to \"Serve alongside\".<\/p><\/dd>\n<dt id=\"will%20optimization%20damage%20my%20images%3F\"><h3>Will optimization damage my images?<\/h3><\/dt>\n<dd><p>No. A file is only replaced when the optimized version is actually smaller, PNG compression is lossless, and the original is always kept so you can restore it.<\/p><\/dd>\n<dt id=\"my%20server%20does%20not%20support%20webp%20or%20avif.%20what%20happens%3F\"><h3>My server does not support WebP or AVIF. What happens?<\/h3><\/dt>\n<dd><p>Those conversions are skipped automatically and compression still works. Check <strong>Image Optimizer \u2192 Server Status<\/strong> to see what your server supports.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%20and%20page%20builders%3F\"><h3>Does it work with WooCommerce and page builders?<\/h3><\/dt>\n<dd><p>Compression and WebP conversion work for every image. Serving next-gen formats inside WooCommerce, Elementor, Gutenberg blocks and page builders is a Premium feature.<\/p><\/dd>\n<dt id=\"can%20i%20run%20it%20from%20the%20command%20line%3F\"><h3>Can I run it from the command line?<\/h3><\/dt>\n<dd><p>Yes: <code>wp bslim status<\/code>, <code>wp bslim stats<\/code>, <code>wp bslim optimize &lt;id&gt;<\/code>, <code>wp bslim bulk<\/code>, and <code>wp bslim reset<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Hardening: every admin screen now escapes its output at the point of output, including the inline SVG icons, which are filtered through a strict allowlist.<\/li>\n<li>The \"leave a review\" link now opens the plugin's full reviews page instead of a pre-filtered five-star form, so all feedback is visible.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>The plugin is now named Byteslim Image Optimizer. Settings, statistics, optimization history and licence activation are migrated automatically on upgrade \u2014 nothing needs to be re-entered.<\/li>\n<li>Note: the admin menu now lives under Byteslim, so any bookmarks to the old settings URL need updating.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Fix: attachments left labelled the wrong file type by other optimizers (a .webp\/.avif stored as image\/jpeg) are now corrected automatically on upgrade and when processed, so they stop being queued as images that can never be optimized.<\/li>\n<li>Fix: Bulk Optimize now reports optimized, skipped and failed counts separately \u2014 images that were already done or unsupported are no longer counted as fresh work.<\/li>\n<li>Fix: when the server cannot generate AVIF, it is skipped with a clear logged reason instead of recording empty coverage.<\/li>\n<li>Fix: image markup is left untouched on AMP pages, which do not allow the  element.<\/li>\n<li>Tweak: author footer logo now sits on a rounded white background so it stays visible.<\/li>\n<li>Tweak: refreshed the premium features overview shown to free users.<\/li>\n<li>Compatibility: marked tested up to WordPress 7.1. Server-side optimization works alongside 7.1's client-side media processing (the plugin optimizes whatever file arrives and falls back cleanly).<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New: WebP \"Replace\" mode (default) \u2014 the media file itself becomes WebP so the Media Library shows <code>.webp<\/code>, while the original JPG\/PNG is kept and fully restorable.<\/li>\n<li>New: \"Restore original\" action in the Media Library for WebP-replaced images.<\/li>\n<li>New: WebP mode setting (Replace \/ Serve alongside).<\/li>\n<li>New: redesigned admin \u2014 branded header, KPI cards, coverage meters, image-health panel and author footer.<\/li>\n<li>Fix: images that failed to encode were incorrectly marked as optimized, which made a re-run of Bulk Optimize do nothing. Failures are now retried and recorded with a reason, and a failed count is shown.<\/li>\n<li>Fix: added a GD fallback when Imagick is blocked by host policy\/resource limits, so large JPEGs no longer fail silently.<\/li>\n<li>Fix: unified how \"optimized\" is counted across the dashboard, the bulk job and the statistics.<\/li>\n<li>Fix: removed a byte-order mark that produced an \"unexpected output\" \/ \"headers already sent\" warning on activation.<\/li>\n<li>Fix: the log table now self-heals if it is missing.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: compression, WebP conversion &amp; delivery, bulk optimizer with resume, statistics dashboard, system\/CDN detection, logs, WP-CLI and REST API.<\/li>\n<\/ul>","raw_excerpt":"Lightweight image compression, WebP\/AVIF conversion, bulk optimization and smart image management for WordPress.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/354509","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=354509"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpdh1707"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=354509"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=354509"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=354509"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=354509"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=354509"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=354509"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}