The ShortPixel WordPress plugin optimizes images automaticaly using both lossy and lossless compression, thus improving your website performance.
|Author:||ShortPixel (profile at wordpress.org)|
|WordPress version required:||3.2.0|
|WordPress version tested:||4.9.6|
|Added to WordPress repository:||05-11-2014|
|Total downloads:||1 243 495|
|Active installs:||90 000+|
Click to start download
Bulk optimization running. (Media>Bulk ShortPixel)
Activate your API key in the plugin Settings. (Settings>ShortPixel)
Check out the main settings after API key activated. (Settings>ShortPixel)
Tweak it using Advanced settings. (Settings>ShortPixel)
Compress all your past images with one click. (Media>Bulk ShortPixel)
Check your stats: number of processed files, saved space, average compression, saved bandwidth, remaining images. (Settings>ShortPixel)
Check images optimization status, restore or reoptimize the image. (Media>Library)
Check image optimization details. (Media>Library->Edit)
Check other optimized images status - themes or other plugins' images. (Media>Other Media)
Let’s get ShortPixel plugin running on your WordPress website:
- Sign up using your email at https://shortpixel.com/wp-apikey
- You will receive your personal API key in a confirmation email, to the address you provided.
- Upload the ShortPixel plugin to the /wp-content/plugins/ directory
- Use your unique API key to activate ShortPixel plugin in the ‘Plugins’ menu in WordPress.
- Uploaded images can be automatically optimized in the Media Library.
How does ShortPixel compare to other image optimisation plugins (e.g Smush, Imagify, TinyPNG, Kraken, EWWW)?
ShortPixel has better compression rates, more features, supports backups and has very affordable one-time plans.
If you are serious about making an informed decision please take 10 minutes and read this article.
Can I use the same API Key on multiple web sites?
Yes, you can.
As long as you have available credits you can use a single API Key on as many websites as you wish!
Can I test/use the plugin for free?
Yes you can.
We offer 100 free image optimization credits each month. Exceeding the monthly free quota will pause the optimization process till the quota is reset or extended by buying one of our plans.
Can I optimize images that aren’t in Media Library?
You can actually optimize any image you have on your site regardless of its place. You just need to add – in the Advanced section of the ShortPixel Settings – the folders where the images you want to optimize are located and ShortPixel will work its magic and do the rest.
Can I optimize both past and new images?
You can optimize all your past/current images using our “Bulk ShortPixel” page in your Media with a single click.
A credit = an optimized image?
Yes, that is correct.
But please note that usually an image in Media Library has 3, 5 or more associated thumbs. Each optimized thumb requires a credit. In the rare cases when ShortPixel does not optimize the image (lossy) with at least 5%, the credit will not be consumed, though.
Can I restore my images? What happens with the originals?
If you choose the “Image backup” option in Settings/ShortPixel then the original version of any optimized image or PDF will be saved in the backup folder.
The original image is needed if you want to restore an image or if you want to convert an image from lossy/glossy to lossless or viceversa.
What types of formats can be optimized?
ShortPixel optimizes JPEG, PNG, GIF and PDF type of files.
Do you have one-time plans?
Yes we do.
The credits that come with our one-time plans never expire. Yummy! 🙂
What happens to my existing images?
Your existing images are replaced with the optimized ones.
If you choose the backup option then the originals will be saved in a separate folder so you can restore them should you ever need/want to do that.
How does the plugin work?
Our light-weight plugin sends the original images to our Image Optimization Cloud where they are compressed. ShortPixel then downloads the optimized images and the unoptimized originals are replaced with the optimized versions.
Do you optimize the images in cloud?
Yes, all the images processsed by ShortPixel are optimized in the Cloud. This takes the load off of your server and allows us to produce the best results.
What payment methods are accepted?
We accept payments via PayPal and card.
How do I activate the API key on a multisite?
You have to activate the plugin in the network admin and then activate it manually on each individual site in the multisite. Once you have done that, the Settings menu appears and you can add the API key for each individual site.
As an alternative, you can edit wp-config.php and add this line
where ‘APIKEY’ is the API Key received upon sign up.
If configured that way, the API key will be used for all the sites of the multisite but will only be visible on the main site’s Settings page, being hidden for the rest of the sites.
I am not the only one working in the WordPress Dashboard. How can I hide my API key?
There is a simple way to hide the API key, all you need to do is to add these two lines in your wp-config.php:
How much is a credit?
A credit is used each time ShortPixel optimizes an image or thumbnail by at least 5%. If we’re not able to optimize an image or thumbnail by at least 5% then no credit will be used 🙂
Please also note that usually images in your Media Library have 3-5 thumbs associated and a credit will be used for each featured image or associated thumbnail that is optimized.
Why shall I use a wordpress plugin and not an offline tool?
Because ShortPixel algorithms were perfected while optimizing over a hundred million real-life images.
ShortPixel not only offers the best compression for JPEG, PNG, GIF and PDF files but it also saves you a lot of time. You just install it on your site and then ShortPixel will take care that all the images on your site are immediately optimized after upload.
Does optimizing images affect my ALT tags?
No, ShortPixel only optimizes images, it won’t touch anything else like your HTML/CSS.
If I stop using ShortPixel will my images remain optimized?
Once optimized the images will remain optimized unless you explicitly choose to restore them. But why would you do that? 🙂
Do I have to pay monthly or one time?
We have both options available.
One-time credits never expire are a bit more expensive. Check out our prices here
When can I cancel a monthly plan?
Whenever you want.
The credits you still have available for the current billing period will still be available until the end of the billing period. At the end of it, you won’t be billed again and the plan will be reset to the free plan.
When credits expire?
Monthly credits expire after 30 days while one-time credits never expire.
Do you have an API?
Yes, we have several APIs and tools.
You can learn more about it here:
Can I use ShortPixel WP plugin on a localhost installation?
How does resizing work?
If you choose the option to resize your images then the featured image can be resized to a predefined size while keeping its aspect and proportions intact. The associated thumbs won’t be resized
Using this option you can safely upload original images safely without needing to apply any pre-processing to make them smaller.
Will ShortPixel work if my website is using CloudFare?
Absolutely! Sometimes you’ll need to make sure you whitelist some IPs, just contact us and we’ll assist you with that.
I’m stuck. What do I do?
The ShortPixel team is here to help. Contact us!
- add bulk menu options: restore, reoptimize
- filter the media list by optimization status
- sort the media list by optimization status
- do not display the Media Library (years) folders in the selection list for Other Media folders
- force PNG 2 JPG conversion option
- integrate with Gravity Forms
- integrate with WP Stateless
- add several actions and a filter (see the Actions and Filters section of the readme)
- UI improvements to the settings page
- fix the WPML compatibility when converting from PNG
- fix SELECT IN image counting bug on rare cases and when >100k records in wp_postmeta
- add option to delete ShortPixel settings and give feedback form on deactivate plugin
- GDPR compliance
- replace back the PNG links when restoring a PNG converted to JPG
- fix incompatibility with Dynamics 365 Integration plugin
- improve restore capabilities after certain types of PNG to JPG errors which left the media item in an unconsistent state.
- remove AUTH credentials on server too, if removed in plugin’s settings.
- more performance improvements to PNG 2 JPG conversion
- fix replacing PNG urls having http:// instead of https:// for a SSL site. (and viceversa)
- fix string not appearing in translations
- improvements to context help beacon
- performance improvements to PNG to JPG conversion
- fix error when listing Other media in some circumstances
- fix missing file from commit
- option to exclude thumbnails from optimization
- options to delete Cloudflare cache for optimized images
- method to define affilate codes for themes
- error message when restore could not be performed
- better handling of situations with files with different owner but with write permissions for all
- fix bug for inner resize when setting and unsetting the resize parameter
- fix bug for third-party WebP thumbnails registered in the ‘sizes’ metadata array which were sent to optimization.
- check if function mb_convert_encoding exists before using it
- fix error for older WP versions which don’t have wp_raise_memory_limit
- inline help beacon
- fix exclude patterns not working after last update
- handle situations when not enough memory to convert from PNG to JPG.
- fix particular situations where there was no ‘file’ property in the metadata.
- fix slider optimized percent over the bulk warning box.
- display the x close link for the bulk warning box.
- restore compatibility with PHP 5.2.x
- finding unlisted thumbnails – don’t bother if dialog dismissed.
- force JS initialization after 10 sec. if external error on the document.load thread prevented it.
- onboarding – small text changes
- images added from the front-end sometimes have get_attached_file() null when hook called, delay the check and processing in this case, instead of marking as Optimization N/A.
- compatibility with s3-offload pro plugin
- fix to time estimate at bulk, which sometimes was displaying x hours and 60 minutes left.
- confirm popup when deleting backups.
- On some multisites installed in a subdirectory, the get_home_path() doesn’t return the subdirectory, fallback to ABSPATH
- Sometimes images are not PNG even if they have .png extension. Don’t try to convert them if imagecreatefrompng returns false.
- Get an aproximate row count for InnoDB tables to optimize the speed, but fallback to normal count(*) for MyISAM
- Fix several warnings ($thumbsMissing not an array, $found is not set, etc.)
- Return error message when folder could not be found, when adding other media folders
- More info to some API errors
- fix for trying to convert .png files that are not png actually
- fix for installs which don’t have PHP GD – deactivate the png 2 jpg conversion
- fix for unserialize warnings
- improvements in bulk speed when passing through already optimized images.
- fix unsupported usage of const by third party punycode.js
- fix emails with new root domains like email@example.com
- fix unsupported flock problem
- hidden button pending cleanup
- fix bug of the resize minimum size alert not dismissing
- alert user when the plugin doesn’t have rights to write to the uploads folder
- drop usage of the PHP session / wp_option for the priority queue – use a flat file instead.
- fix compatibility problem with WP 4.9 when editing source files with the new built-in editor
- fix restore converted PNGs in some situations
- fix some minor warnings
- refactor png2jpg functions in another class
- add compatibility with PHP 5.2
- generate WebP urls – account for settings with different scheme (http – https)
- fix minified punycode.js not generated because of ECMA6 not supported by YUI…
- fix notice that would not dismiss
- propose best plans options for optimizing all images
- option to optimize or not the found unlisted thumbs, alert the user about them.
- convert png to jpeg also when doing bulk if option set. Also search for usages of the image and replace the URLs in the content.
- fix compatbility problem with S3 Offload which caused sending two different sets of URLs for an image.
- trim site_url output – found a client case where it ended with a tab…
- all wp_options with autoload=no
- subscribe and get the API Key directly from the plugin
- minify all js and css files
- performance improvements for the picture tag generation
- retina versions of the icons
- fix compatibility with PHP 5.3 for using class:: inside closures
- fix wrong use of _ function which displayed warning
- Deactivate conversion from PNG to JPG for the previous images, until we find a solution for the posts that refer these images.
- Minor fix to bulk (last item in Media Library sometimes was left unoptimized)
- convert PNG images to JPG option
- action called upon optimizing an image: do_action(‘shortpixel_image_optimised’, $post_id);
- monitor Other Media folders for changes every hour
- button to delete all ShortPixel metadata making ShortPixel forget it optimized the images in Media Library
- plugin images at @2x
- cleanup Other Media tables
- fix wp-options that would not save in some circumstances
- fix generate webp tags when post guids are absolute URLs and image URLs are changed, or when site has HTTP/HTTPS versions
- fix problem with AMP pages when generating the tags – when using AMP for WP plugin AMP pages are not changed.
- add a filter option to the Other Media table
- fixes in order to comply with WP plugin guidelines
- max thumbs constant – no more than this number of thumbs will be optimized in one pass
- fix problem with webp tag when using Fusion Builder
- really hide the API key everywhere when configured so
- fix readme again
- fix readme
- replace img tags in front-end with picture tags, and include the webp images
- actions menu in Media Library
- option to compare the optimized (main) image with the original in Media Library
- fix wrong custom path in some cases
- fix warnings on PHP 7.1 for empty array settings.
- exclude images based on patterns or image sizes, exclude paths based on patterns
- avoid using basename as a fallback for non-UTF8 filenames but instead use own code (basename strips first character if it’s not ASCII-128 – for example ISO/IEC 8859-2)
- processing spinning indicator in the admin top bar with CSS to display OK on all admin themes.
- hide API Key on single sites option ( define SHORTPIXEL_HIDE_API_KEY true in wp-config.php)
- fix for PHP installs on Linux that don’t have the posix functions available
- show an alert when the plugin is no longer able to contact our servers (initially was alerting only before key validation)
- a new level of optimization intermediate between lossy and lossless: glossy
- bulk restore for Media Library
- fix warning when activating plugin in some situations
- empty backups button always visible (also when the backup option is unchecked)
- fix bug when thumbnails had numeric indexes in the sizes metadata array
- fix bug when bulk reoptimizing on some specific conditions
- fix bug when searching for thumbanils of files with same prefix
- fix bug when several successive images have all files missing
- fix bug when quota expires
- add the webp files as thumbs to the sizes array in metadata so they are automatically used by themes that use srcset.
- add option to optimize PDFs or not.
- seamless integration with WP/LR Sync plugin.
- gracefully ignore missing thumbs on disk when doing the optimization – just mark them as missing in the metadata.
- gracefully add Media Library files that are present on disk but not present in the image metadata (sizes array).
- option to dismiss the top toolbar ShortPixel alert when quota expired.
- compute the backup folder size asynchronously in order to speed up the settings page.
- editors/authors now are able to optimize/restore images from the Media Library list.
- handle internationalized domain names (punycode encoded).
- reset failed images from Custom Media when user launches a reprocessing of the images from Bulk.
- fix for PHP7.1 fatal error when encountering corrupt metadata (wp_get_attachment_metadata returning empty string)
- fix not processing the images in the custom image folders if they had uppercase extensions
- remove the deprecated mcrypt calls.
- fix jQuery 3.x incompatibility when calling .unload() by using on(“beforeunload” .. ) instead
- fix compatibility with older PHP by not using closure
- fix order of optimization of other media – by id not by added timestamp
- fix js error for manual optimization from js-generated button
- change call to obsolete get_currentuserinfo method
- offer to generate the API key directly from ShortPixel settings.
- alert and explain why is not allowed to specify a size less than 1024 when resizing.
- fix metadata for missing thumbs while optimizing.
- button Cleanup&Retry for images that have missing thumbnails.
- display what thumbnails are missing.
- for Windows platforms, do not check the local path to start with a slash
- fix optimization for images that contain ‘+’ in the path
- use different styles for bulk boxes instead of the notice class
- properly display from the start the number of images to be optimized on the bulk button, when thumbnails are not selected.
- fix for sites that have admin urls with a doubled slash like wp-admin//uploads.php
- fix JS error on bulk finished page and new images optimizing
- fix bulk hangup when encountering a block of more than 900 wp_postmeta lines that are not image metadata.
- fix for cases when the wp-content path returned by wordpress contains backpath items (like wp/../wp-content)
- fix not saving advanced settings on “Save and go to Bulk” button.
- meta box in Media Library image editing form with informations about optimization status and results
- delete WebP images when image is deleted from Media Library
- change language domain to match the plugin slug in order to be automatically translatable on translate.wordpress.org.
- multilanguage support
- add retinas count to the ShortPixel Compression column
- add option not to automatically optimize Media Library images when added
- fix the size bug happening when optimizing main image then optimizing only thumbnails with resize active
- restrict log messages to SHORTPIXEL_DEBUG instead of WP_DEBUG
- fix compatibility with WP < 3.9
- fix compatibility with watermarking plugins like Image Watermark
- fix compatibility with WPBakery Visual Composer
- fix backup thumbnail js error
- fix processing for sites with caps path like http://mysite.com/My-Path/
- fix WebP generation for images that are already optimized
- readme updates – links to informative articles
- show that WebP format is created free of charge
- hide the Advanced settings tab completely before API Key validation
- fix indefinite retries when wrong image size
- restrict debug mode to ShortPixel own define
- fix path problems on multisite on Windows
- fix debug mode too intrusive
- bulk slider fix
- settings fix
- retina images support – optimize also retina images
- WebP support – option to generate also WebP images
- optimize other media folders also from the root of the site, not only in wp-content
- restore and re-optimize other media images
- resize options – defined rectangle to be contained in the resized image or the resized image to contain the defined rectangle
- fix compatibility with PHP 5.2
- fix for URLs like domain.com/CamelCasePath
- Optimize from the front-end option
- Custom folders optimization
- NextGen galleries optimization
- Fix Settings Resources display
- Add user and password authentication option for downloading images
- fix for PHP installs that lack utf8_encode function
- retry from the optimize Ajax post when server sends a 500 error
- Compatibility with WPML Media plugin
- Fix ListView link on multisites
- Fix for server configurations that have max_execution_time = 0
- fix for PHP installs that are missing the mcrypt functions
- small fix to the quota revalidation process
- reoptimize lossless/lossy
- optimize thumbs for images already optimized
- compatibility with WPML
- old PHP compatibility fix
- ICC color profile is always preserved.
- possibility to hide the API key in a multisite install.
- detection of best protocol to use: https / http.
- option to keep the EXIF data and ICC profile.
- more explanations on settings.
- fix reloading bulk page on quota used up
- look and feel improvements
- longer timeout for the API Key validation postback
- fix bug in bulk processing
- fix problems with activating the keys on some systems that do not allow post requests
- bulk runs now only on media and post pages
- settings page redesign
- client site access test from our servers when activating the API key and warn if site not accessible
- fix last image sometimes unprocessed by bulk
- fix progress bar to advance when skipping images
- fix calculation of displayed counters of images to be processed on bulk start
- fix restore option that appeared wrongly sometimes – thanks to Bogdan Günther @ http://medianotions.de
- rescale big images option – thanks to Bogdan Günther @ http://medianotions.de
- referral system
- show how many thumbs are optimized for each image
- fix the Visual Composer conflict – thanks to Andy Adams – www.certainlysoftware.com
- fix issue with files in /tmp dir that weren’t deleted in certain cases, issue noted by Daniel – http://germangoogleguy.com
- Affiliate codes
- Solve conflict with wp-ses plugin
- skip image on _FAIL message
- mixed content warning fix
- Optimized bulk processor behaviour when navigating from one admin page to another.
- Improved some explanatory texts.
- different bug fixes
- Progress bar improvements
- Major update
- when validating the API Key on a multisite a message with instructions on how to add the API Key in wp-config.php is displayed
- check when an optimized image cannot be saved and stop bulk processing (if running)
- restore backup is not displayed when option is not activated
- change image status in the Media Library ShortPixel Compression column imediately after the image is reduced, not only after reloading the page. Add spinner to the “Image waiting to be processed” status.
- images with relative URLs are converted to absolute URL so they can be processed by the plugin
- proper handling of images with non-standard latin chars inside
- better average compression computation
- rewritten handleImageUpload
- removed MUST_HAVE_KEY
- changed isProcessable
- and others 🙂
- Check if the server address is localhost and warn when activating the API key.
- Quota exceeded now displays a link to billing page
- improved texts/explanations for different sections
- added extra option to convert CMYK to RGB for further size reduction
- display credits for one time payments as well
- API Key can also be configured in wp-config.php like this: define(‘SHORTPIXEL_API_KEY’, ‘YOUR_API_KEY’); Useful for multisite installations
- improved checking and reporting of firewall restriction on client side
- optimized files are saved in the right location when dealing with WP Multisite
- updated screenshots
- improved login procedure upon quota is exceeded
- when quota is exceeded user can more easily increase it
- extra warning regarding the number of thumbs available additionally to main images
- improved counting of images
- check if https works if not use http for communications with the API
- better handling of error messages when API service cannot be contacted
- visiting Settings/ShortPixel now resets the Queue flag
- when plgin’s API Key cannot be validated the JS script that calls admin-ajax.php is stopped
- return meaningful message on Media Library listing when API Key is not valid
- extra check for API Key validation
- fixed global variable issue for some variables
- fixed API Key validation that occurred for some of the hosting providers out there when HTTPS was used
- when backup wasn’t activated the processed files weren’t put in the right place
- removed forgotten debug message
- changed “optimised” to “optimized”. Welcome USA 🙂
- improved bulk handling and also “cancel” and “resume” options
- fixed conflict with wpmandrill on wp_mail function
- fixed condition that hanged bulk processing sometimes
- added “Reduced by” text
- more useful wrong/missing API Key message
- test if a backup dir can be created upon plugin validation
- added alert when a file couldn’t have been overwritten
- added alert when a file cannot be saved in backup dir
- added Quota on API Calls functionality
- added resume bulk processing feature
- fixed condition in function that validates content by extension
- fixed bug that prevented files uploaded directly in /uploads dir to be properly processed/saved
- retry link added besides files that failed to be optimized due to different reasons
- speedier file download from API resource
- SQL changed to use less CPU intensive queries
- improved BULK processing logic, faster results
- different small fixes & improvements
- skip processed images when running bulk processing
- improved logic for processed files to be downloaded every time
- sometimes the processing script stopped before finishing all the files to be optimized, fixed
- improved processing speed for bulk processing
- fixed issue with “missing” images
- save plugin version for easier debugging
- list mode is set for media library for first time run
- fixed bug that prevented backup-ed files to remove when the original was removed
- different small fixes
- small improvement to make the optimization of newly added images faster.
- fixed condition when the PDF files weren’t processed
- different improvements
- fixed recursive backup directory size counter
- added backup with subdirectory structure to handle many files
- empty backup can handle subdirectories & sets the right flag for backup restore
- latest images are optimized first
- check for missing images on disk but still linked in DB
- added extra check for bad server responses
- 10 files/post request for file processing
- updated error codes according to API v2
- updated description
- added more tags so we better describe newest features
- some improvements to bulk processing
- PDF files are also optimized now
- fixed a thumb processing bug that caused extra API requests
- SP plugin uses API v2 and the processing speed is significantly improved