WP-Optimize / Image optimization

  • first release
  • last updated
  • current version
  • requires WP version
  • tested up to
  • download count
    15 874 896
  • rating total
1195 users
5 stars
4 stars
3 stars
2 stars
1 star


WP-Optimize is a revolutionary, all-in-one WordPress performance plugin that cleans your database, compresses your images and caches your site.

Our cache feature is built around the world’s fastest caching engine. This simple, popular and highly effective tool has everything you need to keep your website fast and thoroughly optimized!

It does it in three clever ways:

  • It allows you to clean and optimise your database.
  • It gives you the option to compress your images.
  • It allows you to cache your pages, for super fast load times (read more caching information below).

It also enables you to minify and asynchronise CSS and JavaScript (aka. “defer CSS JavaScript”).

Extensive tests show the cache feature alone can make WordPress sites at least as fast as any other caching or speed plugin available and often faster. But when you combine the cache with the database optimization, image compression features and minify, the speed difference with alternative solutions is significant.

NEW: The built-in minify feature adds another layer of optimization, reducing the size and number of requests to your server.

1. Cleans the database

Your WordPress database stores everything that you need for your website – plus many things that you don’t. WP-Optimize clears out all of this unnecessary data, cleans up your tables and even retrieves space lost to data fragmentation.

Mobile-friendly and incredibly simple to use, it:

  • Removes all unnecessary data (e.g. trashed/unapproved/spam comments, stale data) plus pingbacks, trackbacks and expired transient options
  • Compacts/de-fragment MySQL tables with a button-press
  • Detailed control of which optimizations you wish to carry out
  • Carries out automatic weekly (or otherwise) clean-ups
  • Retains a set number of weeks’ data during clean-ups
  • Performs optimizations without the need for running manual queries
  • Automatically trigger a pre-optimize backup via UpdraftPlus
  • Show database statistics and potential savings

Why is this important?

  • The tables in MySQL (the database that WordPress uses) will, over time, become inefficient as data is added, removed, moved around. Asking MySQL to optimize its tables every now and again will keep your site running as fast as possible. It won’t happen by itself.
  • Every-time you save a new post or pages, WordPress creates a revision of that post or page. If you edit a post 6 times you might have 5 copy of that post as revisions. This quickly adds lots of rarely-used data to your database tables, making them unnecessarily bloated, and slower to access.
  • There might be thousands of spam and un-approved comments in your comments table, WP-Optimize can clean and remove those in a single click.
  • WP-Optimize reports which database tables have overhead and wasted spaces also it allows you to shrink and get rid of those wasted spaces.
  • Automatically cleans your database every week and respects the “Keep last [selected number] weeks data” option.

WP-Optimize helps you to:

  • Make space: When you edit a post or page on your website, WordPress automatically saves the new revision to the database. If you edit things a few times (and particularly if the post is long), your database soon gets clogged up with old revisions that just sit there, taking up valuable space. WP-Optimize removes these unnecessary post revisions, freeing up valuable Megabytes of data and increasing speed and efficiency. It also cleans up your comments table, removing all the spam and un-approved comments that have built up with a single click.

  • Take control: WP-Optimize reports on exactly which of your database tables have overhead and wasted space, giving you the insight, control and power to keep your website neat, fast and efficient.

  • Keep it clean and fast: Once enabled, WP-Optimize can run an automatic clean-up on a schedule, keeping a selected number of weeks’ data, according to your specification.

2. Compresses images

Loading large images is often the biggest culprit in slowing your site’s loading time.

WP-Optimize has an image-compression tool that uses cutting-edge lossy compression techniques to convert large images (which take a long time to load up) into compressed files saved in your image library, where they can be uploaded in an instant.

It enables you to compress PNG, JPG, GIF, BMP and TIF pictures up to 5MB in size, and it’s packed with other useful features, including:

  • Bulk compression, allowing you to compress multiple existing images at the same time.
  • Intelligent, multi-pass lossy compression algorithm, which gives you twice the compression with much less loss of quality.
  • ‘Restore Originals’ function, which allows you to retrieve or revert back to your original images at any point.
  • Auto-compress function, which automatically compress images as they’re added to the site.
  • EXIF Data-Keeping means image information is retained even once the image is compressed.

This WordPress plugin allows you to increase your page speed without compromising the image quality.

3. Caches pages

Depending on your setup, page caching can be what makes the biggest difference to your website’s speed and performance.

Caching involves keeping dynamic data in a temporary storage area so that it can be retrieved in an instant. Caching is a sure-fire way to ensure that web pages load at lightning-fast speed.

Practically, our powerful yet simple cache feature generates the cache when a user visits any page or post on your site. WordPress processes the dynamic php files to generate that page, and we save it into a static html file in the cache folder, so that when the next user visits, the page is cached and doesn’t need processing. This caching results in a much faster loading time, and gives a slight break to your server. So caching increases speed and performance while reducing the server’s use of resources.

With minimal configuration, caching your site with WP-Optimize is easy to do thanks to a load of useful features, including:

  • Cache preloading to ensure the cache is always ready and loaded.
  • Gzip compression of HTML, JavaScript, and CSS to reduce site load time.
  • Device-Specific cache to ensure the optimized page version is always served.
  • Advanced cache exclusion rules, so that you can cache almost anything by excluding logged in users, specific URLs or cookies.
  • Browser Cache to instruct client browsers to reuse cached resources (HTML, CSS, JS, images) if no changes were made since the last request.

Minify and combine CSS and JavaScript

On top of its three main features, WP-Optimize also has the more advanced minification feature. Combining and minifying your site’s assets will reduce the number of requests to your server (by combining them) and reduce their size (by minifying their content).

Together with caching and Gzip compression, this will improve the performance and time to “first contentful paint”.

The minify feature also enables you to defer CSS and JavaScript. Defering CSS and JavaScript allows you to load non-critical assets after the main page load, resulting in an apparent speed gain. Minifying and defering CSS and JavaScript also makes Google PageSpeed Insights happy!

Overall WP-Optimize brings the best cache and optimization technology together in a single seamless plugin to make your WordPress site fast, lean and efficient.

WP-Optimize Premium

Our free version of WP-Optimize is great, but we also have an even more powerful Premium version with extra features that offer the ultimate in freedom and flexibility:

  • Multisite Support: extends database optimisations so they function for multiple WordPress sites at a time. If you manage more than one website, you will need WP-Optimize Premium.
  • Flexibility and Control: gives you the power to optimize select individual tables or a particular combination of tables on one or more WordPress websites, rather than having to optimize all database tables.
  • Deleting unused and unwanted images: removes orphaned images from your WordPress site, plus images of a certain, pre-defined size.
  • Sophisticated Scheduling: offers a wide range of options for scheduling automatic optimization. Specify an exact time and run clean-ups daily, weekly, fortnightly or monthly and perform any number of additional once off optimizations.
  • Seamless Graphical User Interface: for superb clarity in scheduling and managing of multi-site optimizations.
  • WP-CLI support: provides a way to manage optimizations from command-line interface if you have lots of sites
  • Lazy Loading: load only the images and part of a web-page when it is visible to the user so they can see something very quickly.
  • Optimization Preview: gives users the ability to preview, select and remove data and records available for optimization from the database.
  • Premium support – caching is one of the most complex things you can do for a website, so premium support offers you peace of mind there’s someone to talk quickly to if you need any technical answers or help configuring the optimizations of cache settings for your website.


Translators are welcome to contribute to the plugin. Please use the WordPress translation website.


3.1.4 – 15/Sep/2020

  • FIX: Prevent fatal error when updating

3.1.3 – 15/Sep/2020

  • FIX: Unused images – restore from trash UI issue
  • FIX: Premium – Unused images – Images trash works on multisite
  • TWEAK: Prevent GLOB_BRACE warning on systems not supporting it
  • TWEAK: Minify – Reset minified files when saving an Elementor page or post
  • TWEAK: Minify – Purge cached assets when UpdraftCentral was updated.
  • TWEAK: Minify – Enable users to defer all JavaScript, including the merged and minified assets
  • TWEAK: Minify – Improve general compatibility with The Events Calendar and other plugins
  • TWEAK: Image compression – prevent database warning when the table ewwwio_images does not exist
  • TWEAK: Image compression – Detect already compressed images by other plugins (ShortPixel Image Optimizer, Smush, Imagify, Compress JPEG & PNG images by TinyPNG, EWWW Image Optimizer)
  • TWEAK: Image compression – Added compression stats in the Media Library’s list view
  • TWEAK: Image compression – Possibility to restore all compressed images
  • TWEAK: Image compression – Remove NitroSmush service, which is no longer active.
  • TWEAK: Image compression – Tweak user agent when requesting to resmush.it
  • TWEAK: Preserve selected optimizations when saving settings
  • TWEAK: Page caching – Prevent PHP Notice: Trying to get property ‘comment_status’ of non-object
  • TWEAK: Cache – Do not serve from cache when a user has posted a comment
  • TWEAK: Cache feature – Added integration with Cloudflare (Premium)
  • TWEAK: Page caching – Rename variables in the global context to more specific names
  • TWEAK: Premium – Prevent potential JS error in the “unused images” feature
  • TWEAK: Premium – Unused images – Add support for Slider Revolution
  • TWEAK: Premium – Unused images – use the URL stored in attachment meta-data as fallback
  • TWEAK: Premium – Unused images – Only fetch image informations when requesting the information to be displayed
  • TWEAK: Premium – Lazy-load – Show a notice when a known plugin also provides lazy-loading, instead of disabling the feature
  • TWEAK: Minify – Only load the required vendor classes instead of using composer’s autoload in order to prevent compatibility issues
  • TWEAK: Minify – Added filters wpo_minify_get_js and wpo_minify_get_css to enable users to do extra processing before saving the code
  • TWEAK: Minify – Prevent PHP warning when no log is present
  • TWEAK: Minify – Prevent error when the function gzencode doesn’t exist
  • TWEAK: Removed MetaSlider notice in the notices collection

3.1.2 – 03/Jun/2020

  • TWEAK: Only load minify dependencies when the feature is enabled, reducing the risk of conflicts with plugins with obsolete/incompatible library versions

3.1.1 – 03/Jun/2020

  • FIX: Minify – Make the feature unavailable when W3 Total Cache is active (an ancient version of the library in that plugin is incompatible and can cause a crash if either plugin attempts to perform minification)
  • TWEAK: Tweak polling interval for fetching WP-O minify cache information

3.1.0 – 02/Jun/2020

  • FEATURE: Major new feature: JS and CSS combination and minification. Read more at: https://getwpo.com/faqs/category/minification/
  • FIX: Image compression – delete backup images in a non-dated folders
  • FIX: Premium – Unused images – Only move relevant images to trash
  • FIX: Cache feature – Show correct preloading status
  • FIX: Fixed optimizations preview on multisite
  • FIX: Cache feature – Fixed error handling for cache preload action
  • FIX: Call to unavailable function was breaking page cacheing on old WP versions without add_filter() available early
  • TWEAK: Premium – Do not show the loading overlay on the database screen when loading the unused images list
  • TWEAK: Periodically update the plugins’ tables list (plugin.json)
  • TWEAK: Do not use wp_get_upload_dir() on WP versions before it is available
  • TWEAK: Prevent JavaScript error when showing a notice after purging the cache
  • TWEAK: Cache feature – Better handle errors when enabling or disabling caching
  • TWEAK: Cache feature – Use HTTP headers to indicate page caching status
  • TWEAK: Premium – Unused images – Added filter wpo_unused_images_ids
  • TWEAK: Cache feature – Prevent purging the whole cache when saving a WooCommerce product
  • TWEAK: Premium – Page cache – “Do not cache this post” setting to only be effective when viewing a single post or page.
  • TWEAK: Cache feature – Added the filter wpo_cache_preload_sitemap_filename to enable overriding of the sitemap name used for preloading
  • TWEAK: Make all tooltips accessible via keyboard navigation
  • TWEAK: scandir() usages changed to opendir()
  • TWEAK: Database optimizations – Add Gravityforms to list and tweak UI
  • TWEAK: Cache feature – Preload indicates when using a sitemap
  • TWEAK: Hide the “remember to save settings” notice after saving.
  • TWEAK: Updater in paid version now will make checks on availability without needing login

3.0.19 – 31/Mar/2020

  • FIX: Fix force tables optimisations checkboxes
  • FIX: Fix tablesorter issue preventing the optimisations from displaying
  • FIX: Premium – Fix Spam and Trashed Comments preview
  • TWEAK: Premium – Possibility to exclude a page from cache from the page / post edit

3.0.18 – 27/Mar/2020

  • TWEAK: Wipe WP-Optimize settings function
  • FIX: Don’t override advanced-cache.php if caching is disabled

3.0.17 – 19/Mar/2020

  • FIX: Show image as uncompressed after restoring backup from the media modal
  • FIX: Save the last state for “take a backup” checkboxes
  • TWEAK: Load optimizations and database tables list via ajax
  • TWEAK: Move database optimization settings to the database page
  • TWEAK: Improve error handling for ajax requests
  • TWEAK: Cache feature – Add the filter wpo_cache_show_cached_by_comment to enable users to hide the HTML comment
  • TWEAK: Cache feature – Clear archive page cache when post is updated
  • TWEAK: Cache feature – Possibility to exclude front page from the cache
  • TWEAK: Cache feature – Deny direct access to cache files folder
  • TWEAK: Cache feature – Prevent direct access to cache config content
  • TWEAK: Image compression – Prevent confusing errors when restoring an image whose backup file was deleted
  • TWEAK: Only show the plugin’s own notices on WP-Optimize’s pages
  • TWEAK: Remove MetaSlider related message
  • TWEAK: Premium – Page cache – Possibility to generate a cache file per country with WooCommerce geolocation
  • TWEAK: Premium – Reorganise cache extensions to only keep the code required at the cache generation / fetching stage
  • TWEAK: Premium – Unused images – add support for non-dated folders
  • TWEAK: Premium – Unused images – Added wpo_unused_images_per_page filter for filtering images per page count
  • TWEAK: Premium – Unused images – Possibility to move unused images to trash before completely deleting

3.0.16 – 27/Jan/2020

  • FIX: Premium – Unused images – Fixed detection of -rotated and -scaled images
  • TWEAK: Cache feature – Cache sitemap.xml and robots.txt
  • TWEAK: Cache feature: fix scheduled preload
  • TWEAK: Cache feature: save the value of wpo_current_url() to enhance compatibility with Weglot
  • TWEAK: Fix permissions for restoring or compressing images on multisite
  • TWEAK: Premium – Tweak UI when fetching unused image infos
  • TWEAK: Premium – Added compatibility for Oxygen builder
  • TWEAK: Premium – Added WP-CLI commands for managing cache

3.0.15 – 16/Dec/2019

  • FIX: Image compression – Fix restoration on multisite
  • FIX: Cache feature – Scheduled preload when a sitemap does not exists
  • TWEAK: Check for headers_sent() before closing the browser connection
  • TWEAK: Cache feature – Do not show clear cache buttons in the admin bar if the user doesn’t have the right capability
  • TWEAK: Cache feature – Don’t cache REST API requests
  • TWEAK: Tabs to point to the correct URL for direct access
  • TWEAK: Only log the reason why an URL isn’t cached if the constant WPO_CACHE_DEBUG is true
  • TWEAK: Image compression – Added a new filter ‘wpo_image_compression_single_image_options’ to allow changing the image quality for each image.
  • TWEAK: Cache feature – Added instructions how to edit advanced-cache.php file
  • TWEAK: Detecting Cloudflare and Brotli compression before enabling GZIP

3.0.14 – 25/Nov/2019

  • FIX: Fixed default option values for smush backup automatic deletion
  • FIX: Prevent potential Fatal error when including notices class
  • FIX: Image compression – Fixed division by zero notification
  • FIX: Fix list of backup entities before removing unused images
  • TWEAK: PHP 7.4 compatibility tweak in the fatal error handler
  • TWEAK: Image compression feature – Backup of original image paths are now relative
  • TWEAK: Page cache – Fix condition when displaying the message indicating the reason for not caching or serving cache
  • TWEAK: Page cache – Do not save post to cache if comments are opened and the user has saved their information
  • TWEAK: Page cache – intelligently handle Google Analytics tracking parameters in URL (Premium)
  • TWEAK: Page cache – add a query parameter to force display of the reason for not caching a page or serving a cached page
  • TWEAK: Cache feature – Added is_writable() checking before trying to write advanced-cache.php
  • TWEAK: Premium – Optimize database optimisations for WP-CLI commands
  • TWEAK: Premium – Don’t run UI requests for WP-CLI actions
  • TWEAK: Premium – Page cache – Add default WooCommerce currency to the cache config
  • TWEAK: Page cache – Add the possibility to save default values to the cache config
  • TWEAK: Page cache – Add a possible secondary cache extensions location using the constant ‘WPO_CACHE_CUSTOM_EXT_DIR’, to allow keeping the bundled extensions in their original location
  • TWEAK: UI tweaks
  • TWEAK: Add missing filename reference in error message
  • TWEAK: Page cache – Purge cache when Autoptimize’s cache is cleared
  • TWEAK: Image compression – Compatibility with Elementor plugin
  • TWEAK: Image compression – Added feature to mark all images as uncompressed
  • TWEAK: Bump supported minimum WP version up to 3.9

3.0.13 – 21/Oct/2019

  • FIX: Don’t show VIEWs as corrupted database tables
  • TWEAK: Image compression – Cancel button now stops the compression process
  • TWEAK: Only show general notice when update notice isn’t shown
  • TWEAK: Improve message when Gzip compression is already enabled
  • TWEAK: Premium – Use path to include lazy load script
  • FIX: Image compression – Fixed detecting of uncompressed images
  • TWEAK: Image compression – Use wp_remote_get() instead file_get_contents() for retrieving compressed images
  • TWEAK: Use wp_remote_get() instead file_get_contents() for retrieving compressed images
  • TWEAK: Cache feature – add a ‘Purge all’ cache button to the admin bar
  • TWEAK: Premium – Prevent php warning in scheduled optimisations list
  • TWEAK: Premium – Unused images feature – Add compatibility with Advanced Custom Fields (ACF) image and gallery fields

3.0.12 – 24/Sep/2019

  • TWEAK: Cache – Purge cache files when updating menu, saving the customizer and editing widgets
  • TWEAK: Cache – Do not show the reason for not caching when the request is DOING_CRON
  • TWEAK: Premium – Unused images feature – Improved detection on sites with many posts/images
  • TWEAK: Automatically delete smush image backups option
  • TWEAK: Premium – Unused images feature – Better detection of featured images
  • TWEAK: Cache – Ability to purge single page or post from cache
  • TWEAK: Cache – Display the content of advanced-cache.php to the user if it was not writable when enabling cache
  • TWEAK: Image compression – Automatically delete image backups option
  • TWEAK: Image compression – metabox now inherits the settings from the main screen
  • TWEAK: Image compression – Added feature to mark images as already compressed by another tool
  • TWEAK: Image compression – Added detailed log information when image compression fails.
  • TWEAK: Premium – Unused images feature – Improved detection on sites with many posts/images
  • TWEAK: Premium – Unused images feature – Better detection of featured images
  • TWEAK: Premium – Lazy load – Added WooCommerce support
  • TWEAK: Premium – Increased warning level and visibility when deleting unused database tables and unused images
  • TWEAK: Prevent a couple of unwanted PHP notices being logged when running cron via the command-line
  • TWEAK: Tweaked update notice wording

3.0.11 – 07/Aug/2019

  • FIX: Check the results of opendir() when emptying the cache, to prevent a possible infinite loop if it fails
  • FIX: Compatibility issues with WordPress 4.0
  • FIX: Replace function that did not exist on PHP 5.2
  • TWEAK: Add work-around for plugins which call the WP action comment_post incorrectly
  • TWEAK: Change the algorithm for locating file-based-page-cache.php to handle same-server site moves better
  • TWEAK: Prevent an unwanted PHP notice caused by Action Scheduler purges

3.0.10 – 30/Jul/2019

  • TWEAK: If short-circuiting the attachment_fields_to_edit filter result, return the pre-existing value
  • TWEAK: Adjust wpo_delete_files() and related functions with extra sanity checks

3.0.9 – 30/Jul/2019

  • FIX: Fix bug in logic for sending “Content-Encoding: gzip” header that could cause it to be sent prematurely with non-cached pages

3.0.8 – 30/Jul/2019

  • FIX: Lazy-loading regression in recent Premium release
  • FIX: Smush images selection on multisite
  • FIX: Displaying WP-Optimize tabs menu on mobile devices
  • TWEAK: Disable redundant lazy-loading feature when Divi theme is active
  • TWEAK: Improve accuracy of message shown when it is not possible to automatically enable Gzip compression of static resources
  • TWEAK: Only output reasons a page was not cached if the wp_footer action was run

3.0.7 – 25/Jul/2019

  • FIX: Fix some logic bugs related to the decision whether to send gzip-encoded cached content
  • FEATURE: To aid debugging if WP_DEBUG is turned on then if a page was not cached, then the HTML source will now contain the reason(s) why not in the footer
  • TWEAK: The is_user_logged_in() function is not necessarily available during a WP ‘technical difficulties’ scenario
  • TWEAK: Purge site homepage cache after updating post or publishing a new post (can be over-ridden with the filter wpo_delete_cached_homepage_on_post_update)

3.0.6 – 25/Jul/2019

  • FIX: Regression causing incorrect JavaScript filenames in the Premium release in 3.0.5
  • TWEAK: Also add cache-busting for the compiled handlebars file
  • TWEAK: Change the handlebars enqueue handle to prevent double loading

3.0.5 – 23/Jul/2019

  • FIX: Short-circuit Updraft_Smush_Manager::add_compress_button_to_media_modal() outside of a dashboard context, so that plugins or themes that hook into some dashboard hooks outside of that context can’t cause fatal errors
  • TWEAK: Added suffixes with WP-Optimize version number to js, css files
  • TWEAK: Change the method used to generate the configuration file path in advanced-cache.php; no issues were reported, but analysis indicated a potential way to generate a path that would not agree with what was written by saving settings; and also another way to generate an invalid path on Windows webservers running on non-standard ports.
  • TWEAK: Use WPO_CACHE_CONFIG_DIR constant instead string value in advanced-cache.php

3.0.4 – 20/Jul/2019

  • FIX: Fixed a regression in 3.0 with orphaned relationship data optimization

3.0.3 – 20/Jul/2019

  • TWEAK: Prevent saving of page cache settings when the page cache was already off and another page cache plugin was active from over-writing the other plugin’s advanced-cache.php

3.0.2 – 19/Jul/2019

  • TWEAK: Rename in order to cache-bust sites that cached old versions of the JS admin scripts
  • TWEAK: Prevent unwanted PHP notice if saving page cache settings without ever having turned the cache on

3.0.1 – 18/Jul/2019

  • FIX: Prevent a potential stray line of text appearing

3.0.0 – 17/Jul/2019

  • FEATURE: Adds a caching feature, with page cache, browser cache control and gzip control
  • TWEAK: Smush feature added to medial modal
  • TWEAK: Remove references to Keyy
  • TWEAK: Image compression metabox tweaks
  • TWEAK: Preload after purging, If preload schedule is enabled
  • TWEAK: Prevent image compression AJAX call from firing upon every tab change
  • TWEAK: Load assets in admin_enqueue_scripts()
  • TWEAK: Smush all image sizes
  • TWEAK: Add quick feedback link
  • TWEAK: Delete the original backup file when an attachment file has been deleted
  • TWEAK: Remove die() from shutdown handler
  • TWEAK: Remove references to Keyy

2.3.4 – 10/Jun/2019

  • FIX: Incorrect file paths on multisites
  • FIX: Wrong DB Schema caused image compression to fail on multisites
  • TWEAK: Improve image compression UI
  • TWEAK: Add the possibility to hide the image optimisation metabox in the media edit screen.
  • TWEAK: Fix potential PHP notice in task queue when Automatic Smush is activated
  • TWEAK: Improve JSON-reparser to cope with even more exotic junk from some setups with problems elsewhere in their stack
  • TWEAK: Remove the numerical index column from the list of tables
  • TWEAK: Prevent methods being called when create_task returns false
  • TWEAK: Prevent PHP log warnings when images are missing from server (log in WP-O internal log instead)
  • TWEAK: Changed the default settings page from ‘Settings’ to ‘Database’
  • TWEAK: Better discoverability of Premium features
  • TWEAK: Use new task manager class Updraft_Task_Manager_1_1

2.3.3 – 17/Apr/2019

  • FIX: Revert faulty change to the default settings page in 2.3.2, which prevented optimization buttons working

2.3.2 – 17/Apr/2019

  • FIX: Non-ASCII filenames could get mangled in the image optimization preview, resulting in images not shown (and WP 404 generation on the back-end).
  • FIX: Optimizing a table now runs correctly after automatic pre-optimize backup
  • TWEAK: Changed the default settings page from ‘Settings’ to ‘Database’
  • TWEAK: Updated plugin links

2.3.1 – 16/Apr/2019

  • FIX: Fix a code path that could cause a fatal error on PHP 5.2
  • TWEAK: Optimizing a table should then refresh the information in the UI shown for it
  • TWEAK: Use an image compression logfile path inside the uploads hierarchy, with unpredictable salted element

2.3.0 – 12/Apr/2019

  • FEATURE: Compress images using lossy and lossless compression – both existing images, and newly uploaded
  • FIX: Wrong information about corrupted tables
  • TWEAK: Prevent PHP notices on calls from UpdraftCentral
  • TWEAK: Prevent notices about Premium showing in Premium, correct button text, update coupon
  • TWEAK: Prevent the overdue cron checker running twice instead of once

2.2.13 – 04/Mar/2019

  • FIX: Fixed RTL layout
  • FIX: Detect more relationships between tables and plugins in orphaned database tables optimization
  • FIX: Fixed orphaned relationships optimization
  • TWEAK: The informational list of WP core tables missed some possible extra tables on multisite

2.2.12 – 07/Feb/2019

  • TWEAK: Updated information on More plugins tab
  • TWEAK: Fix header layout when a system or third party notification are shown
  • TWEAK: (Premium) Fix layout in unused images list mode
  • TWEAK: Improve data reliability in javascript
  • TWEAK: Improve orphaned relationships data optimization
  • TWEAK: Wrong message for “remove spam and trashed comments” optimization
  • TWEAK: Output additional information if table was not deleted
  • FIX: Added escaping for table names in database queries
  • FIX: Fix another possible fatal error due to missing get_plugins() function
  • FIX: Improve identification of installed/active plugins

2.2.11 – 16/Jan/2019

  • FIX: A regression in the “identify table by owner” feature caused optimizing to silently fail on some tables
  • TWEAK: Added ability to exclude lazy load images by class

2.2.10 – 11/Jan/2019

  • FEATURE: Added the ability to download unused images list (Premium version) as a CSV file
  • FIX: Load scripts and styles only on WP-Optimize pages
  • FIX: Fix a possible fatal error due to missing get_plugins() function
  • TWEAK: Remember selected optimizations on Database page
  • TWEAK: Prevent PHP notices when saving settings or optimizing in some circumstances

2.2.9 – 03/Jan/2019

  • FIX: Change a newly-introduced fragment that was not compatible with PHP 5.2
  • TWEAK: Tweak some other code that had PHP 5.2 compatibility issues

2.2.7 – 31/December/2018

  • RE-FACTOR: Refactoring and reorganisation of the UI
  • TWEAK: Added feature to view unused images as list
  • TWEAK: Fix sorting sizes columns in Tables information to take into account textual modifiers
  • FIX: MetaSlider images detected as unused
  • FIX: Preview for Trashed posts optimization doesn’t work
  • FIX: Unselected optimizations could be run on a scheduled run

2.2.6 – 30/October/2018

  • FEATURE: Added Gzip compression support
  • FIX: Unexpected content in the footer after preview popup closed
  • TWEAK: Mark as supporting WordPress 5.0
  • TWEAK: Update seasonal notices
  • TWEAK: Removed redundant checkbox for Lazy Loading settings
  • FEATURE: Remove orphaned database tables, and identify (many) known tables by plugin.

2.2.5 – 24/August/2018

  • FEATURE: Preview data before deleting. (Premium)
  • FEATURE: Lazy Loading for images, iframes and videos. (Premium)
  • FEATURE: Added custom capabilities wpo_prevent_run_optimizations and wpo_prevent_manage_options (Premium)
  • FIX: Correct tables order sorting
  • FIX: Wrong numbers in total cleaned field
  • FIX: Don’t show incorrect overhead value if option innodb_file_per_table disabled
  • TWEAK: Added option to clean “all” transient options and network-wide transient options for multisite WordPress installation
  • TWEAK: Links to UpdraftPlus automatically Install/Activate UpdraftPlus plugin
  • TWEAK: FAQ links point to getwpo.com
  • TWEAK: Auto-draft, revision posts and pingback comments removing with their meta data
  • TWEAK: Scheduler is not using the WordPress timezone settings
  • TWEAK: Detecting corrupted tables in background.
  • TWEAK: Unused Images optimization correctly detects images in pages built with popular plugins – Page Builder by SiteOrigin, Visual Composer, Beaver Builder, Elementor.
  • TWEAK: Paginate unused images
  • TWEAK: Added checkbox for select all optimizations
  • TWEAK: Prevent deleting homepage images in image optimization
  • TWEAK: Override the default multisite site list fetch limit of 100 sites

2.2.4 – 07/May/2018

  • TWEAK: Changed the term ‘Automatic’ to ‘Scheduled’.
  • TWEAK: Show correct table type for views
  • TWEAK: Fixed string spelling and syntax errors
  • TWEAK: Disabled Simple History logging option if plugin is not installed.
  • TWEAK: Prevented PHP notices in repair tables functionality

2.2.3 – 04/Apr/2018

  • FEATURE: Added the ability to repair corrupted database tables
  • FIX: Fixed dismiss notices functionality
  • FIX: When detecting potentially unused images, exclude those found mentioned in the options table(s)
  • TWEAK: Load WPO translations (logger classes info included) when template is pulled for UpdraftCentral-WPO module
  • TWEAK: Add get_js_translation command for the UpdraftCentral WPO module
  • TWEAK: Added logging for fatal errors

2.2.2 – 28/Feb/2018

  • TWEAK: Prevent possible PHP notice when parsing logger options

2.2.1 – 28/Feb/2018

  • FIX: Fix number counting in Table information tab
  • FIX: Fix InnoDB optimization UI
  • TWEAK: Removed orphaned attachment optimization from optimizations UI list

2.2.0 – 19/Feb/2018

  • FEATURE: Added the ability to export/import WP-Optimize settings
  • FEATURE: Extended the logging class to include logging for Simple History Logger, Slack, Email, syslog and a simple ‘ring’ log
  • FEATURE: Added the ability to optimize ARCHIVE and Aria (MariaDB) database tables.
  • FEATURE: Added the ability to sort data in the “Table Information” tab
  • FEATURE: Added the ability to search tables in “Table Information” tab
  • FEATURE: Added the ability to optimize an individual table. (Premium)
  • FEATURE: Added the ability to optimize multisites. (Premium)
  • FEATURE: Allow the user to create arbitrarily complex automatic optimization schedules (Premium)
  • FEATURE: Added ability to use WP CLI interface for run optimizations. (Premium)
  • FIX: Auto clean-up settings not optimizing database tables
  • FIX: Comments count after related to comments optimization
  • FIX: Fix unapproved comments count
  • TWEAK: Add functions to pull WP-Optimize templates for UpdraftCentral
  • TWEAK: Allow user to tick the “Take a backup with UpdraftPlus before optimizing” option from UpdraftCentral
  • TWEAK: Show last automatic optimization time using site’s configured timezone and locale
  • TWEAK: Extra MySQL and MariaDB checks for optimization, along with an over-ride functionality.
  • TWEAK: updated previous optimizations and added optimizations for trash posts, trash comments and orphaned attachements
  • TWEAK: Use higher-quality spinner image
  • TWEAK: Adjusted notices about other products
  • TWEAK: Added message for multisite users with proposal to upgrade to Premium.
  • TWEAK: Optimize the check for whether both free and Premium are installed
  • TWEAK: Added Premium / Plugin Family tab
  • TWEAK: Added seasonal dashboard notices

2.1.1 – 28/Feb/2017

  • FEATURE: Added the ability to take a automatic backup with UpdraftPlus (https://updraftplus.com) before an optimization
  • FEATURE: When optimizing from the dashboard, tables are now optimized one by one, to reduce the scope for timeouts
  • FIX: Removal of sitemeta items from main site on multisite install was not proceeding
  • TWEAK: Adding premium bootstrapping to WP-Optimize for adding premium features in the future
  • TWEAK: A few wording tweaks, plus automatically refresh the page if the ‘admin bar menu’ option is changed
  • TWEAK: Introduce internal logging API

2.1.0 – 28/Dec/2016

  • FOCUS: This release concentrates upon the user-interface, and in particular upon improving the clarity of each part, and making optimizations, saves and other actions possible without page reloads.
  • FEATURE: Any optimisation can now be run individually with a single button press
  • TWEAK: All optimisations run via the dashboard page are now run via AJAX (no page refresh)
  • TWEAK: Settings saving now takes place via AJAX (no page refresh)
  • TWEAK: Navigation between different tabs now takes place without a page refresh
  • TWEAK: The “trackback/comments” actions section now operates via AJAX (no page refresh needed)
  • TWEAK: “Refresh” button in the “Status” widget now refreshes via AJAX (no page refresh needed)
  • TWEAK: When saving settings or running an optimization, the “Status” widget now automatically refreshes
  • TWEAK: Make the admin bar menu into a drop-down, making it quicker to access individual tabs
  • TWEAK: Call set_time_limit to reduce the chances of PHP self-terminating via reaching max_execution_time
  • TWEAK: Introduce dashboard notice infrastructure
  • TWEAK: The lines showing information on how many spam/trashed posts and comments existed were incomplete

2.0.1 – 12/Dec/2016

  • OWNERSHIP: WP-Optimize is now under the leadership of Team UpdraftPlus – https://updraftplus.com. A big thank you to Ruhani (who remains on-board) for his leadership of WP-Optimize until this point! Layout, branding and links have been altered to reflect this change.
  • RE-FACTOR: Internal code completely re-factored, laying the foundations for future improvements
  • TWEAK: Various filters introduced internally for easier customisation
  • TWEAK: Marked form element labels, so that they can be clicked
  • TWEAK: Various small UI improvements (more to come in future releases)
  • FIX: Previous versions could potentially run OPTIMIZE commands on tables in the same MySQL database (if it was shared) belonging to other sites
  • FIX: Previous versions were not deleting most delete-able transients. This is now fixed, with the modification that we now delete all expired transients.
  • LANGUAGES: Removed language packs and screenshots that are already carried by wordpress.org, reducing the plugin download / install size


  • Ability to clean up Unused Post Meta, Comment Meta and Broken Relationship Data
  • Warning prompts for RED marked items and optimize button
  • Better transient options cleaning.
  • Language files update
  • Various other fixes


  • 27 Weeks retention option equivalent to 6 month
  • Compatibility update.
  • Language files update
  • Removed email notifications, it doesn’t work on many servers
  • Various other fixes

  • Security Patch provided by Dion at WordPress.org and Security report provided by http://planetzuda.com .
  • Language files update

  • Daily Schedule Option Added
  • Email notification on automatic optimization, default email is admin email address. You can change this in settings

  • BUGFIX for Settings screen
  • Enable/Disable trackbacks / comments buttons removal and use select box instead. Extra button caused the Auto Scheduler to get into reset mode.

  • There were few number formatting problem and detection of InnoDB table format. Charles Dee Rice solved the problems that I missed out. Thank you!
  • Duplicate msg fixed
  • Enable/Disable trackbacks for all published post
  • Enable/Disable comments for all published post


  • ONE MILLION+ Downloads. THANK YOU!!
  • Language updates platform – see readme file for details.
  • Mixed type tables optimization supported and in BETA
  • Removal of akismet metadata from comments
  • Removal of other stale metadata from comments
  • InnoDB tables won’t be optimized.
  • Main screen user selection will be saved. Red items selection will not be saved
  • Scheduled time display will be shown according to WordPress blog local time


  • Language files update
  • Fix issues with total gain number problem
  • InnoDB tables detected and features disabled automatically, tables view will not show Overhead. Main view will not show space saved, or total gain.


  • Version bump + modified translator names


  • Problem with readme file changes


  • Minor fixes


  • A whole lot more code optimization
  • Slick new interface
  • Responsive mobile interface, supports running from iPhone/Android/Tablets
  • Tables moved to independent tab
  • Optimize faster
  • GitHub updater support
  • I do not monitor WP forums, support email at plugins(at)ruhanirabin.com


  • More Translation compatibility.
  • Added MYSQL and PHP versions beside the Optimizer tab.


  • Fixed Problems with wpMail.
  • Fixed Problems with wpAdmin menubar.
  • Fixed Permission issues on some site.
  • Language files update


  • All MySQL statements re-factored into native WP database calls – necessary for future versions of MySQL and WordPress.
  • Upgrade to match WordPress 3.9 changes.
  • Language files update
  • Now postmeta cleanup is disabled from code – it will be updated soon with native WordPress postmeta cleaning options.


  • Language files update


  • Fixed – trashed Comments was not clearing out.
  • Language files update


  • Language files update


  • “Unused Tags cleanup” option made a problem on some WordPress sites that it deletes empty categories. Since I am unable to replicate this problem. I am making this option disabled.
  • Language files update
  • Minor maintenance and fixes.


  • Safe clean up options are selected by default, defaults are not by user preference for now (Optimizer Page).
  • All the potentially dangerous clean up options are MARKED RED.
  • Language files update
  • New features explained – http://j.mp/HBIoVT (read the blog post).


  • More path related fixes for various warnings. Maintenance


  • Fatar error fix, if it disabled your wp admin, please remove the wp-optimize directory and reinstall again.


  • Option to add or remove link on wp admin bar (even enabled – it is visible to admin only).
  • New admin interface.
  • Settings to select items for automatic optimization.
  • Removal of WordPress transient options
  • Removal of orphaned post meta tags.
  • Removal of unused tags.
  • 3 different schedule times added (weekly, bi-weekly and monthly).
  • Language files update
  • Code optimization and translation strings updated.
  • Integrated development log from TRAC


  • removed persistent admin bar menu item
  • Language files update


  • Fix Fatal Error.


  • Added WP-Optimize to admin menu bar on top. Always accessible.
  • Added wp-optimize.pot file for translators (inside ./languages/ folder).
  • Last auto optimization timestamp / display
  • Fix possible scheduler bug as requested at support forum
  • Fix some other codes regarding SQL query parameters
  • Ability to keep last X weeks of data, any junk data before that period will be deleted – this option affects both Auto and Manual process. Appreciate time and help from Mikel King (http://mikelking.com/) about this matter.


  • Removed auto cleanup of trackbacks or pingbacks.. it’s better for people to do it manually.


  • added beta tag


  • Remove all trackbacks and pingbacks (can significantly reduce db size)
  • Remove all Trash Comments and Posts
  • Enable/Disable weekly schedules of optimization. This is an EXPERIMENTAL feature. It may or may not work on all servers.


  • Non Initialized variables fixes as of https://wordpress.org/support/topic/plugin-wp-optimize-errors-in-debug-mode?replies=2


  • Removed security tools.
  • Full database size displayed


  • Now the plugin is visible to site administrators only. Authors, Contributors, Editors won’t be able to see it.


  • Fixed problem with database names containing “-” .
  • NEW Main Level Menu Item added for WP-Optimize, You might need to scroll down to see it
  • Compatibilty with WordPress 3.1
  • Language files update
  • Added auto draft post removal feature


  • Added Multilanguage capability
  • Language files update


  • POST META Table cleanup code removed cause it is making problems with many hosts


  • Added cleanup of POST META Table along with the revisions
  • Fixed some minor PHP tags which causes the total numbers to disappear
  • Now requires MySQL 5.1.x and PHP 5.1.x

  • Fix Interface
Download different versions
Screenshot gallery
wp-optimize-screenshot-1.png wp-optimize-screenshot-2.png wp-optimize-screenshot-3.png wp-optimize-screenshot-4.png wp-optimize-screenshot-5.png wp-optimize-screenshot-6.png