Smush Image Compression and Optimization

Wordpress Plugin
Download latest - 3.8.4

Download Stats

Today 24
Yesterday 5,120
Last Week 29,354
All Time 8,919,259
Banner 772x250

Releases (100 )

Version Release Date Change Log
3.6.3 2020-05-18

Fix: CDN auto resize option causing issues with images

3.6.1 2020-04-05
  • Enhance: Directory Smush image processing
  • Enhance: CDN background image processing performance
  • Fix: Lazy loading breaking visual editors (Oxygen, Thrive Architect, Tatsu)
  • Fix: WooCommerce breaking Smush onboarding dialog
  • Fix: CDN processing of background images with spaces
  • Fix: REST API errors
3.4.2 2020-01-15
  • Enhance: Security
  • Fix: Fatal error on WordPress 4.x
  • Fix: Compatibility issue with ReCaptcha and lazy loading
3.4.1 2020-01-13

Fix: Upgrade from Free to Pro causing an error

3.3.2 2019-12-13
  • New: Support for big images in WordPress 5.3
  • Fix: WP Offload Media integration with Pro version
3.3.1 2019-10-25
  • Fix: CDN incorrect calculation for image sizes attribute
  • Fix: Undefined index PHP notices
3.3.0 2019-10-23
  • New: Integration with Envira Gallery
  • New: Integration with Avada Fusion Builder background images
  • Enhance: Compatibility with staging environment on WPMU DEV hosting
  • Enhance: SmartCrawl readability analysis compatibility
  • Enhance: Allow optimizing directories in root folder
  • Enhance: Error descriptions during optimization
  • Enhance: Detection of image sizes when "All" option is selected in Bulk Smush settings
  • Enhance: CDN detection of background images
  • Fix: Issue with CDN auto resize and Revolution Slider
  • Fix: CDN auto resize feature overwriting the correct sizes attribute
  • Fix: NextGen summary meta box layout
  • Fix: PHP warnings on NextGen integration
  • Fix: UI layout in NextGen integration
  • Fix: Lazy loading spinner layout issue
  • Fix: Compatibility with RT Media
3.2.4 2019-08-07
  • Enhance: Minor user experience improvements and updates
  • Fix: Bulk Smush notices and errors 2019-07-23
  • Fix: Preserve network settings after update
3.2.1 2019-06-11
  • New: Increase image size limit in free version from 1Mb to 5Mb
  • New: Image sizes option
  • New: Integration with WPBakery Page Builder
  • Enhance: Move Image resize detection to the new Tools section
  • Enhance: Add upgrade link to bulk smush limit message
  • Enhance: Directory Smush async mode
  • Enhance: Regex syntax for detecting images in content
  • Enhance: Smush CDN support for 3rd party lazy loading plugins
  • Enhance: Smush CDN UI
  • Enhance: Smush CLI error handling
  • Enhance: Update API status button functionality
  • Enhance: Filter to skip image from lazy loading
  • Enhance: Support for Revolution Slider
  • Enhance: Notices when bulk limit is reached
  • Enhance: Support for jQuery 2.x-3.x
  • Fix: Errors with WP Ultimate Recipe Premium
  • Fix: Inability to determine max content width with Auto Resize CDN feature
  • Fix: Directory Smush not resetting errors on successful scans
  • Fix: Lazy loading spinning image containers
  • Fix: PHP notice on lazy loading settings page
  • Fix: Subsites showing settings pages when network wide options enabled
  • Fix: PHP warning on 2.x - 3.x upgrade in network installs
  • Fix: CDN not processing the image tag if src does not contain a valid image
  • Fix: Lazy loading URL exclude rules
  • Fix: URL exclusion rules in lazy loading 2019-05-13
  • Fix: CDN upgrade link not showing when bandwidth is over limit
3.1.1 2019-02-15
  • Fix: Auto Smush in Gutenberg
  • Fix: Image backup in Gutenberg
3.0.2 2018-12-18
  • Enhance: Support for WordPress 5.0 release and Gutenberg editor
  • Fix: [WP Offload Media] integration with Pro version
  • Fix: PHP warning on update from Smush version 2 to version 3
3.0.1 2018-12-10
  • Security: Remove support for Upfront theme functions
3.0.0 2018-12-10
  • New: Smush CDN
  • New: Webp support with CDN
  • New: Auto image resize when using CDN
  • New: Plugin structure (Important: plugin globals have been removed)
  • New: Show failure reason during directory Smush
  • New: Settings page with language translation links
  • Security: Fix XSS and phar deserialization vulnerabilities
  • Enhance: Better handling of animated GIFs. Improve performance.
  • Enhance: Update translation strings
  • Enhance: Clean out all the leftover data on plugin uninstall
  • Enhance: Directory Smush modal: support keyboard navigation
  • Enhance: Directory Smush modal: navigate to next node by typing the first letters
  • Enhance: [WPML] PNG to JPEG conversion in media translations
  • Fix: Directory Smush resume button only working when clicked on icon
  • Fix: Errors during image re-check
  • Fix: Meta values are deleted when an image is skipped using wp_smush_image filter.
  • Fix: [WP Offload Media] Backward compatibility errors
  • Fix: [WP Offload Media] Warnings when certain attachment sizes are excluded from compression
  • Fix: [WP Offload Media] Errors during is_animated check with images stored on S3
  • Fix: [WooCommerce] Compatibility issue with WooCommerce 3.5
2.9.1 2018-10-31
  • Fix: Errors during update from Free to Pro
2.8.1 2018-09-10
  • New: Directory Smush UI/UX
  • New: Directory Smush updated library
  • New: Directory Smush ability to select multiple directories
  • New: Directory Smush ability to deselect certain images in directories
  • New: Integration with Gutenberg image block
  • Enhance: Bulk Smush UI
  • Enhance: Update GDPR policy text
  • Enhance: Do not auto resize animated GIF images to preserve animation
  • Enhance: Performance improvements, remove duplicate queries
  • Fixed: Stats reset for Smushed directories when selecting Super-smush option
  • Fixed: Pro status cached bug
  • Fixed: Quick setup modal missing image dimensions for image resize option 2018-08-03
  • Fixed: Smush causing media uploads to not function properly (in rare conditions)
2.8.0 2018-07-31
  • New: High-power API cluster for Smush Pro users
  • New: Updated and improved UI/UX
  • New: Stats meta box
  • Enhance: Smush will have it's own section in the GDPR policy, instead of appending to the end of the policy text
  • Enhance: Compatibility with AJAX Thumbnail Rebuild and ACF plugins
  • Enhance: Add support for image/x-png and image/x-citrix-jpeg mime types
  • Fixed: File size not updated inside the attachment details modal during Smush/restore of an image
  • Fixed: Directory Smush using mobile
  • Fixed: Smush progress during feature image upload
  • Fixed: Image width and height converted to string in async request
  • Fixed: Warnings on PHP 5.2
  • Fixed: Warnings on PHP 7.1
  • Fixed: Fixed wrong method name in S3 offload class. Thanks Tedy Warsitha
  • Fixed: Issues when editing image attributes in the media library
  • Fixed: Missing translation strings 2018-05-29
  • Fixed: Conflict with front-end editors 2018-05-24
  • Added Privacy Policy content for Smush in Privacy Policy Guide
2.7.8 2018-04-23
  • Includes changes from update 2.7.7 and a fix for JS errors in custom posts screen disabling post editor tabs

  • Updates:

    • Minor UI Changes ( Accessibility Fixes )
    • PNG to JPG: Iterate over rows while URL replacement to make sure all the occurrences are updated
  • Fixed:

    • Skip button doesn't skips images
    • Show updated smush status in Media Grid attachment modal
    • Font issue in WordPress backend for Ubuntu systems
    • Fatal Error: get_current_network
    • Async Smush not working for subdirectory sites
    • File backups were not being created for Auto Smush if Async smush is disabled
2.7.6 2018-02-05
  • Security: Fixed path traversal vulnerability. Thanks Ricardo Snchez(@neorichi) for responsible disclosure.
2.7.5 2017-10-02
  • Updated:

    • UI/UX has been updated for Bulk Smush page
  • Fixed:

    • Start from latest image while Bulk Smushing
    • S3 config error if AWS keys are defined in wp-config.php
    • NextGen smush page not working properly
    • Do not redirect to settings page on activation if WP CLI is installed 2017-08-02
  • Fixed:
    • get_current_screen() method causing error on some sites
2.7.4 2017-07-18
  • Update: Minor UI changes
  • Fixed:
    • Images not being resized when image is uploaded via Mobile App
    • Notices and Warnings
    • S3 offload Integration - Original Image not being deleted in some cases
2.2.1 2017-07-12
  • New: Option to resmush image if settings are changed after optimising images
  • New: Added an option to preserve EXIF
  • New: Remove Smush meta on image regeneration, This allows user to manually smush them later, if auto smush is off ( WP Image Editor support )
  • New: Manual Image restore option for Media Library and NextGen Gallery, if "Backup Original Images" was kept on while smushing ( Pro Only )
  • New: Delete Backup Files (Pro Only) on attachment deletion
  • Updated: Upfront Integration
  • Fixed: jQuery tooltip conflict
  • Code Optimisation, Updated Settings page UI
2.7.1 2017-05-30
  • Fixed: Progress bar not updating
2.7 2017-05-22
  • Updated:

    • Faster image uploads: Set async request timeout to 0, if you're having trouble with Auto Smush, set timeout using filter smush_async_time_out
  • Fixed:

    • Issue with WP Smush Pro membership check
    • Stats: Rating message shows incorrect image count
    • Stats: Include directory smush stats in media stats
    • Directory Smush: UI improvement
    • Directory Smush: Allow re-smushing directory images, if the lossy feature is turned on
    • Directory Smush: Fixed empty query warning if there are more than 5k images
    • Site Ground Staging - Disable Async smush for staging sites, admin URL for async request is incorrect because of the Apache module
    • Image appearing in Re-Smush list even after smushing, if resize settings are kept on.
    • Performance: Updated query for smushed images count
  • Added:

    • WP S3 Offload - Plugin Compatibility for Remove files from server feature ( Pro Version )
    • WP RSS Aggregator compatibility for Auto Smush
    • WordPress mobile app Auto smush compatibility
2.6.3 2017-04-21
  • Fixed:

    • Compatibility issue with WP Defender
    • Image dimensions not updated after resizing in Grid view
  • Added:

    • Added a check to preserve smush stats on plugin deletion, You can add define('WP_SMUSH_PRESERVE_STATS', true ); in wp-config.php
2.6.2 2017-04-05
  • Added:

    • WP All Import Compatibility
  • Fixed:

    • Image not being updated to S3 after resmush ( *Only if remove files from server is kept off in S3 plugin settings )
    • Added check for directory smush savings
    • Call wp_update_attachment_metadata after smushing, to allow the optimised image to be used
    • Dir Smush: Images with special symbols doesn't gets optimised
    • Dir Smush: Skip .bak files
    • Retina Images @2x: Do not smush if auto smush is disabled
    • Backup ( Pro ): Take backup of original untouched image, improved backup and restore.
  • Updated:

    • Smush Limit ( 50 Images ), do not include images with error in count
2.6.1 2017-03-08
  • Fixed:
    • PHP 5.2 compatibility
    • DB error: Use a smaller value for Path Index size ( Prefix Indexes )
    • Updated translation function name
    • UI/UX fixes for directory smush
    • Improved optimisation process for directory smush
    • Updated uninstall.php
    • Skip sites directory from Directory Smush in a Multisite
2.5.3 2017-01-12
  • Fixed:
    • Show a Smush progress message in Grid view for Auto Smush ( A lot of people reported it as Auto Smush not working, which works in background though )
    • Translation domain was incorrect for few strings
    • Translation: Load translation domain in main plugin file
    • Include image size medium_large in smush list
    • Error: Cannot use string offset as an array
    • Error in PNG to JPG conversion ( Pro Feature ), added check for mime_content_type function
    • Pro Status not recognised
2.5.2 2016-12-22
  • Added:

    • Filter: wp_smush_image, Boolean, Whether to Smush image or not
    • Async Optimisation for Auto Smush on upload ( Set WP_SMUSH_ASYNC to false to turn off async optimisation )
    • Networkwide settings option in a Multisite
  • Fixed:

    • Double slash in file path causing 403 on some of the sites
    • Localisation error reported by @talgat ( Thank You :) )
2.4.5 2016-10-12
  • Fixed:
    • Error "No file content sent" with WP 4.6
2.4.4 2016-08-16
  • Fixed:
    • PNG to JPEG conversion not working for Multisite
    • Stats Calculation, Use custom query to retrieve data
    • Fixed warning and notices
    • Added check for invalid membership ( Pro Users )
    • thumbnails not being converted for PNG to JPEG conversion
  • Removed option to convert Transparent PNGs to JPEGs ( Pro Users )
2.4.3 2016-07-28
  • Fixed: * Image resizing not working on image upload
2.4.2 2016-07-26
  • Fixed: * PHP 5.2 compatibility
2.4 2016-07-26
  • Compatibility:

    • WPML Media Add-on compatibility, you can smush all the images for all the languages at once from Bulk Smush page
  • Features:

    • Added PNG to JPG - Lossy Conversion for higher savings ( Pro Feature )

*Fixed: * EXIF: Device details were left out for some images, even when opted for stripping it

  • Updated:
    • Minor Tweaks on WP Smush Page ( Bulk Smush )
    • Stats calculation
    • Show current image size and image size dimensions in media library after image has been smushed
    • JPEG optimisation - higher savings for JPEGs lossy optimisation ( Pro Feature )
2.3.1 2016-06-01
  • Fixed:
    • Stats not updated on resizing images
    • CSS conflict in Media Library
2.3 2016-05-27
  • Fixed:
    • Tooltip on image edit page
    • Warning and Notices
  • Updated:
    • Improved stats calculation
    • Bulk Smush page optimised for Image heavy sites
    • Cleanup on uninstall
  • Added:
    • Image Resizing option for Media, NextGen(Pro Only) images
    • Total image count on stats page
2.2.2 2016-04-22
  • Fixed: JS error causing issue with Editor on some installs, plugin conflict with CoursePress plugin, ACF ( Clear All Caches after plugin upgrade, Cloudflare as well )
  • Fixed: ReSmush count for bulk smushing
  • Fixed: Smush settings accessibility for Screen reader/Keyboard
  • Fixed: WP Admin loading slow ( Load smush stats on required admin pages only )
2.2 2016-04-12
  • New: Option to resmush image if settings are changed after optimising images
  • New: Added an option to preserve EXIF
  • New: Remove Smush meta on image regeneration, This allows user to manually smush them later, if auto smush is off ( WP Image Editor support )
  • New: Manual Image restore option for Media Library and NextGen Gallery, if "Backup Original Images" was kept on while smushing ( Pro Only )
  • New: Delete Backup Files (Pro Only) on attachment deletion
  • Updated: Upfront Integration
  • Fixed: jQuery tooltip conflict
  • Code Optimisation, Updated Settings page UI
2.1.5 2016-03-10
  • Fixed: WP Media Folder Plugin compatibility
  • Fixed: Warning on Plugins Page
  • Updated: Settings Page styling
2.1.4 2016-02-25
  • Fixed: Preserve file permission after smushing ( Fix for Images disappearing in Media library on some hosts )
  • Fixed: Styles plugin compatibility
  • Fixed: Append URL params considering the existing arguments ( WPML Compatibility )
  • Fixed: Warning: For settings link in Network admin, Warning: ( Thank you @Maks3w for suggestions )
  • Fixed: Fatal error if both pro version and free version are activated
  • Fixed: NextGen-Smush conflict on plugin activation on a fresh install
2.1.3 2016-02-04
  • Fixed: Compatibility with WPMU DEV Dashboard plugin v4.0, was not detecting pro status
2.1.2 2015-11-22
  • Fixed: Important fix for transient issue leading to mutliple api requests
2.1.1 2015-11-03
  • Fixed: Workaround for terrible bug in W3TC file based object caching
2.1 2015-11-03
  • Fixed: Untranslatable strings in settings
  • Fixed: Increased is_pro() API timeouts
  • Fixed: Remove redundant _get_api_key() cache check
  • Fixed: Some PHP notices on fresh installs 2015-11-02
  • Fixed: Bulk Smush button keeps spinning after 50 images for free version
  • Fixed: NextGen Bulk Smush button issue
2.0.7 2015-10-27
  • Fixed: Invalid header issue
  • Fixed: Warnings in file functions
  • Updated: Added limit on query results, for sites with higher image count, Use filter wp_smush_media_query_limit to adjust values
  • Added: Sortable WP Smush column in Media Library
  • Added: Filters wp_smush_media_image for Media Gallery, wp_smush_nextgen_image For NextGen gallery, allows to skip a particular image size from smushing
  • Added: NextGen Gallery support (Pro feature) 2015-10-19
  • Updated: Skip webp images ( causing ajax error for few sites )
  • Fixed: Warning and Notices ( Media Library not loading )
  • Fixed: Smush full size image if no other sizes are available
  • Added: Detailed text for stats and settings 2015-10-15
  • Use string for text domain instead of PHP Constant ( WordPress Guideline ) 2015-10-12
  • Fixed: Change File permission after replacing image
  • Fixed: Directory path for files
  • Fixed: Workaround for Auto Smush issue on Hostgator
  • Fixed: Smush button doesn't works in media library dialog on post screen, when add media is clicked (
  • New: Show number of images smushed in stats column
  • Added: Support for WP Retina 2x Plugin
  • Added: Filter WP_SMUSH_API_TIMEOUT to change the default time out value from 60s
  • Added: Smush original image option (Pro Only)
2.0.6 2015-05-19
  • Fixed: Conflict with various themes while editing post and page
  • Fixed: Word Count not working
  • Fixed: Notice and Warnings
2.0.5 2015-04-16
  • New: Allow Super-smush for existing smushed images (Pro Only)
  • Fixed: IMPORTANT - broken transient caching for is_pro
  • Fixed: Fixed conflict with wp gallery link plugin in grid view
  • Fixed: Other small fixes
2.0.4 2015-04-15
  • Fix: Fatal error conflict with some plugins on fronted of site
2.0.3 2015-04-14
  • Fixed (Important Update) - Image being corrupted while regenerating thumbnails
2.0.1 2015-04-14
  • UI changes
2.0 2015-04-13
  • Complete rewrite to use WPMU DEV's new fast and reliable API service.
  • New: One-click bulk smushing of all your images.
  • New: "Super-Smush" your images with our intelligent multi-pass lossy compression. Get >60% average compression with almost no noticeable quality loss! (Pro)
  • New: Keep a backup of your original un-smushed images in case you want to restore later. (Pro)
  • UX/UI updated with overall stats, progress bar. 2015-04-06
  • Disable smushing, until smush service resumes
1.7.1 2015-04-06
  • Add depreciated warnings about outage
1.7 2015-01-26
  • Use Ajax for Bulk Smush to avoid timeouts and internal server error
  • Other Notice and bug fixes
  • Settings moved under Media > WP
  • Added debug log file 2014-09-04
  • Added settings option to disable check for home url.
  • for PHP 5.4.x reordered class WpSmushit contructors to prevent Strict Standards Exception 2013-09-06
  • Removed check for file within local site home path. 2013-09-04
  • Corrected issues with Windows paths compare.
  • Added debug output option to help with user support issues. 2013-08-20
  • Correct Settings > Media issue causing settings to report warnings and not save.
  • Corrected some processing logic to better handling or image path. Images still need to be within ABSPATH of site
  • Correct image URL passed to API to convert https:// urls to http:// since the API does not allow https:// images
1.6.5 2013-04-29
  • Codes reformatted and cleaned up into a php class
  • More texts are translatable now
1.6.4 2013-03-22
  • Fix debug code left in 1.6.3
1.6.3 2013-03-15
  • check image size before uploading (1 MB limit)
  • attempt to smush more than one image before bailing (kind thanks to xrampage16)
  • allow setting timeout value under Media > Settings (default is 60 seconds)
1.6.0 2013-03-15
  • added setting to disable automatic smushing on upload (default is true)
  • on HTTP error, smushing will be temporarily disabled for 6 hours
1.6.2 2013-03-13

Dear Smushers: WP has found a new maintainer. Stay tuned for a fresh release.


1.6.1 2013-03-12

Unfortunately this plugin is no longer maintained, at least not by me. See the plugin page for all the details. Thanks for all the smushing fun!


1.5.0 2011-11-14
  • added basic integration for the NextGEN gallery plugin
  • add support for media bulk action dropdown
  • compatibility with WordPress earlier than 3.1
  • added a donate link
1.4.3 2011-10-20
  • cleaner handling of file paths
1.4.2 2011-10-11
1.4.1 2011-07-13
1.4.0 2011-07-13
1.3.4 2011-02-04
1.3.3 2011-02-03
1.3.2 2011-02-01
1.3.1 2010-12-14
1.2.10 2010-05-24
  • removed testing link
1.2.9 2010-05-23
  • updated endpoint URL
1.2.8 2010-01-27
  • fixed path checking on Windows servers
1.2.7 2010-01-15
  • update to workaround WordPress's new JSON compat layer (see trac ticket)
1.2.6 2009-11-20
  • updated endpoint URL
  • fixed undefined constant
1.2.5 2009-10-27
  • updated endpoint URL
1.2.4 2009-08-25
  • removed debugging code that was interfering with the Flash uploader
1.2.3 2009-07-27
1.2.2 2009-07-26
  • updated to use Yahoo! hosted service
  • added security checks to files passed to wp_smushit()
1.2.1 2009-07-08
  • added support for PHP 4
  • created admin_action_ hook as workaround to WordPress 2.9's $_registered_pages security (see
  • add savings amount in bytes to Media Library (thx Yoast)
1.2 2009-06-16
1.1.3 2009-03-03
1.1.2 2009-01-08
1.1.1 2008-12-30
1.1 2008-12-22
1.0.2 2008-12-09
1.0.1 2008-12-09
1.0.0 2008-12-06