Plugin Author: David Anderson, Ruhani Rabin, Team Updraft
WordPress profile: David Anderson, Ruhani Rabin, Team Updraft
Last updated: October 17, 2019 (5 days ago)
Tested up to (WP version): WP 5.3
Rating: 5 (out of 5)
WP-Optimize is a revolutionary, all-in-one 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 cache your pages, for super fast load times (read more caching information below).
Extensive tests show the cache feature alone can make WordPress sites faster than any other caching plugin available. But when you combine the cache with the database and image optimize features, the difference with alternative solutions is significant.
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 also 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 5MG 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 resolution.
- ‘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.
- ‘Compress Big Files function’ allowing you to compress images up to 64MB- much higher than any other plugin.
Smaller yet high quality images means significantly faster page loading times and frees up server space and bandwidth for more customers.
3. Caches pages
Page caching is probably what will make the biggest difference to your website’s 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 visitor 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.
- 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) if no changes were made since the last request.
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.
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 or cache settings for your website.
Translators are welcome to contribute to the plugin. Please use the WordPress translation website.
Isn’t it better to use a dedicated caching plugin to cache my site?
We’ve built WP-Optimize around the most advanced and powerful caching technology. Our caching tests and feedback from real-world users show that the caching feature alone can make your site faster than any other cache plugin or optimization. See these speed test results.
Is optimizing my database safe?
Yes; optimizing does not involve any “tricks” or poking around in dangerous ways. It involves running routine clean-up operations using well-defined, common MySQL commands. Nevertheless, we always recommend backups, which cover every possibility; not just database malfunctions, but hackers, human errors, etc. We recommend UpdraftPlus.
What savings can I expect to make?
This is a “how long is string?” sort of question. It depends completely on your site – how big it is, how many users interact on it, how long it has been running, and when you last optimised it. However, the savings and speed-ups can be substantial; it is always worth making sure that your database is optimised.
How do I get support?
In our support forum, here: https://wordpress.org/support/plugin/wp-optimize/
WP-Optimize does not make large savings on my database
This is rare; it’s probably because you’re with a shared web hosting company that doesn’t allow scripts to run an optimize command via SQL statements (SQL “OPTIMIZE” instruction). Please consult your web hosting company on this matter.
Is the plugin tried and tested?
Yes – WP-Optimize is WordPress’s #1 most-installed optimisation plugin, with over 800,000 users and a pedigree going back over 8 years.
Does WP-Optimize support InnoDB tables?
WP-Optimize will disable some features if it detects InnoDB tables. Optimization of the database tables on-disk is not available, but other clean up features would work.
Can you help me restore my database?
Not unless you have an existing backup. Please ensure that you make a backup of your entire database before using WP-Optimize for the first time, and when you upgrade to a major new version of it. We recommend UpdraftPlus.
Are there any bugs in this plugin?
The plugin is an ongoing work; that means that it is impossible to rule out unforeseen situations and bugs. So I would recommend you to test it out on your local system or make a backup of your database (just to be extra careful).
How do I stop transient options from coming back automatically each time I clear them?
When WordPress uses a particular transient, that specific transient is re-created automatically. So, it’s normally for ones which are in active use to gradually re-appear. The best way to keep things optimal is to clear the transient options on a scheduled basis. For example, WordPress may create 50 transient option in a week. If you schedule WP-Optimize to clear these options on a weekly basis, you’ll have far fewer building up.
The table size shows wrong / Not optimizing
Please check your database for corrupted tables. That can happen, usually your web hosting company can run the repair command on the db.
Which WordPress and PHP versions are supported?
To use all features in the plugin, a minimum of version WordPress 4 with PHP 5.3 are required. But we do recommend to use the latest version of WordPress. Using PHP 7+ is also highly recommended, as our caching feature will work even faster.
Which optimisation will make the biggest difference?
This depends on your setup (theme, number and quality of plugins used, etc…), but generally, caching will make the biggest visible difference to your website’s performance. Indeed, the cache functionality bypasses most of WordPress code to serve your pre-optimised cached pages directly to your visitor, significantly increasing the speed.
What is caching, or page caching?
“Caching”, from Wikipedia: “In computing, a cache is a hardware or software component that stores data so that future requests for that data can be served faster; the data stored in a cache might be the result of an earlier computation or a copy of data stored elsewhere. A cache hit occurs when the requested data can be found in a cache, while a cache miss occurs when it cannot.” — WP-Optimize cache does this by saving the page computed by WordPress on the disk. When a user visits a page, WP-Optimize will serve the cached page before WordPress is loaded. If the page wasn’t cached before, it will be computed by WordPress, and WP-Optimize will then save the result to the cache.
Why should I use a caching plugin on my website?
You think your site is fast without caching? A caching plugin will make your website even faster. A faster cached website will increase SEO, it will improve your visitors experience. Caching will also save your server’s resources.
Is the WP-Optimize page cache compatible with Gutenberg and WordPress 5.0+?
Yes, your Gutenberg pages will be cached, as well as those created with page builder plugins such as Elementor.
How do I know my webpage is being cached (or why it isn’t)?
If cache is enabled, and in order to see if your page is cached, use the “View Source” function in your web browser to view the page source. To find caching information, scroll down to the bottom, and you should see a line added by the cache:
<!-- Cached by WP Optimize - https://getwpo.com - Last modified: Sat, 20 Jul 2019 21:17:19 GMT ->
However, note that if you are using a further service that minifies HTML (e.g. Cloudflare), then this line may have been removed. Another method is to inspect the contents of the directory wpo-cache inside your wp-content directory. <a href=”https://getwpo.com/faqs/how-do-i-know-my-webpage-is-being-cached/>Further information can be read here
Also note that if you do not preload the cache, a page or post will have to be visited once for the cache file to be generated.
How do I configure the page cache?
Go to WP-Optimize -> Cache and enable caching. For most people, that will be enough. If you run an e-commerce, have a custom login page or any page that has dynamic content, you might want to exclude certain urls from the cache. See Advanced caching options in our cache documentation to know more on excluding an URL from the cache.
Is the caching feature compatible with e-commerce plugins?
Yes, caching with WP-Optimize allows you to safely cache your products, with plugins like WooCommerce or Easy Digital Downloads, or any e-commerce that uses
DONOTCACHEPAGE to exclude sensitive pages from caching (e.g. my account, cart or checkout pages).
Do I need a special setup to use the caching feature?
No, if WordPress works properly, WP-Optimize will be able to cache your pages and posts.
Can I use the page caching feature together with another cache plugin?
No, because both cache plugins would need to use the drop-in plugin
advanced-cache.php. If you turn off caching on WP-Optimize, you can use any other caching plugin and still use the other features of WP-Optimize. But we do recommend using our caching solution.
Is WP-Optimize caching compatible with Cloudflare?
Yes! No special cache configuration is needed. Page caching on the WP site (that done by WP-Optimize) is independent of proxy cacheing (e.g. Cloudflare) – you can use both, or neither, and they will complement each other and not interfere.
Just one thing to note – Cloudflare will strip out the special HTML comment at the bottom of the source of a page that is helpful to confirm that page caching is working, so, don’t be confused by that – it’s absence doesn’t indicate the cache is not working.
Can I empty the cache automatically when performing a custom action?
Yes, you can trigger a cache purge action using WP-Optimize public functions. If you want to clear the whole cache, use the function
wpo_cache_flush(). If you want to clear the cache files for a specific page or post, use
WPO_Page_Cache::delete_single_post_cache($post_id);. Those cache options are available after WP action
Will the comments work even when page caching is enabled?
Yes, when using WordPress’ commenting system, your users will still be able to post comments. Every time a comment is approved, the cache for that page or post will be cleared, allowing the next visitor to see an up to date list of comments.
What is “cache preloading”?
Usually, a page is cached when a user visits it. So the first user visiting won’t be served a cached version of the page, and will wait longer than the next users. The cache preloading functionality will go through all your pages and posts, and simulate a visit by a user, allowing WP-Optimize to cache the pages before anyone visits them. Your first visitor will thus be served a cached version of the page, increasing its performance.
What frequency should I choose for the cache preloading schedule?
Choosing a frequency for the cache preloading schedule will depend on factors such as the frequency at which the website content is updated, the number of pages in the cache, the resources of the server and more.
For example a site with hundreds of pages will require more resources to preload its cache. So choosing a high frequency will mean that the cache will be recreated often, and the resource usage will be higher.
On a website where updates aren’t as frequent, you can even disable the cache preloading schedule, or set a high cache lifespan and set the cache preloading schedule to follow it.
How do I cache only the home page?
Add /.+ to the cache option “URLs to exclude from cache” on the advanced settings tab.
How do I prevent WP-Optimize from caching a certain page
To prevent a page from being cached, you can add the URL to the field “URLs to exclude from cache” in the cache “Advanced settings” tab. If you are developing a plugin and want to prevent a page from being cached, you can define the “DONOTCACHEPAGE” constant on the pages you need. Any request where “DONOTCACHEPAGE” is defined will not be cached.
Is the caching feature of WP-Optimize free?
Yes the caching feature is free. You will always be able to cache your website for free using WP-Optimize and we are constantly working on improving the existing cache feature. We will add more caching options to the free version and develop more specific caching options in the premium version to enable you to taylor the caching functionality to your needs.
Where does WP-Optimize store the cached files?
The cached files are stored in the common “wp-content/cache” folder, inside a “wpo-cache” folder. Removing the “cache” folder will delete all of WP-Optimize’s cache, as well as those from other plugins.
Deleting the “cache” folder is generally safe, as those cached files will be regenerated.
How do I disable caching?
Go to WP-Optimize settings > Cache and toggle the “Enable page caching” option to on/off.
Will caching slow down my server?
No, caching will actually reduce the load on your server, by reducing the amount of PHP and mysql used. You might see a peak in resource usage when using the cache preloader, as this functionality will create the cache files for all your pages in a short amount of time. But once this is done, performance should increase and the load on your server will decrease. Every single major site uses caching to serve cached pages faster by using fewer resources.
Can I make certain parts of the page stay dynamic when cache is enabled?
The cached page is sent to the user before most of WordPress was loaded. The plugins aren’t loaded yet, making it impossible for them to change the cached content at every request.
How do I delete the WP_CACHE define from wp-config.php?
WP-Optimize will remove the “WP_CACHE” constant from wp-config.php when you disable page caching, or when you deactivate the cache plugin. If you need to remove it manually, you can use FTP to edit wp-config.php and delete the line define (‘WP_CACHE’, true );
If page caching is still enabled in the settings, WP-Optimize will attempt to add the line again, as it is required for the caching functionality to work.
My filesystem is not writable to increase security. What do I need to do to make it compatible with the caching functionality?
WP-Optimize caching feature needs write access to the ‘wp-content/cache’ folder, as this is where the cache files will be stored. It also needs to define the constant ‘WP_CACHE’ in ‘wp-config.php’, it will need access once to ‘wp-content/advanced-cache.php’, as well as to the folder ‘wp-content/wpo-cache’ to write the cache settings.
How do I change file permissions?
If you need to change file permissions to enable caching, you can follow the instructions on this page https://wordpress.org/support/article/changing-file-permissions/
What is the maximum number of pages I can cache?
There is no limit to the number of pages you can cache. The only limit is the space on your server and the maximum number of subdirectories allowed by your server, as caching will write files in subdirectories following the permalink structure.
If you were to reach a caching limit, it probably means that your server is not fit for the size of your website and caching needs.
How do I serve cached pages to people using a phone or tablet?
You can generate a separate cache by selecting ”Generate separate files for mobile devices” in the page cache settings. This cache setting is only necessary if you use a specific theme for mobile devices, or for certain AMP plugins.
Does WP-Optimize cache work with Nginx?
Yes, the cache feature works with Nginx. Should you want to enable browser caching or GZIP compression, you will have to do this yourself directly on the server settings.
Does caching work with Windows Server (IIS) ?
Yes, the cache feature works with IIS. As with Nginx, if you need to enable browser caching or GZIP compression, you will have to do this yourself on the server.
Does the WP-Optimize page cache work with non-pretty (query parameter-based) permalinks?
No. It’s necessary to have pretty permalinks of the type http://xxxxx.com/my-post/ rather than http://xxxxx.com/?p=1234 for cache to work. Pretty permalinks are the WordPress default setting, and there is no good reason to turn them off, so you should not have a problem with this.
Note that cache will work with permalinks including /index.php/. It is only those based upon query parameters (?…) where cache won’t work.
When does WP-Optimize clear the page cache?
- When you publish new content or update/edit existing content, the cache for that post/page will be cleared.
- Changing/updating current themes and parent themes (of child themes) will purge the cache.
- When turning off the cache feature in WP-Optimize
Will pages in the WP admin dashboard be cached?
No, WP dashboard pages are not cached. The cache functionality is only meant to cache frontend pages.
What is cache lifespan?
The cache lifespan is the time a cached file will be kept before being regenerated.
One of the main reason for setting a lifespan to your cache is that some plugins and themes use nonces, which are printed in the source code of the page (Read more about nonces here). These nonces cannot be reused and are valid for 12 hours by default (developers can change that value). The cache plugin will store the nonce in the page, and this one will become invalid after that perdiod of time, which can affect certain functionalities of your plugins and themes. Setting a cache lifespan to under 10 hours ensures the cache is flushed automatically before the nonce expires. This way you can use WP-Optimize’s cache feature on sites which use nonces.
An other reason is that you may want your pages to reflect some changes without having to clear the whole cache. Indeed if you have many pages and posts, you might not want to clear every cache file with every change, but rather set an interval at which they will expire and be regenerated.
What value should the cache lifespan be?
A lower cache lifespan value will result in more frequent cache update activity on your server, and thus more preload processes, if activated.
If your site does not use nonces, and your site’s cache doesn’t need to be updated often, you can set the cache lifespan to a high value or to 0 to give it an infinite lifespan.
The cache lifespan option is set to 10 hours by default, but you may go down to 8 or even less.
If you notice any issues due to high server load, set a higher interval for the preloader.
Cache - plugins comparison benchmark
UpdraftPlus running a backup before an optimization proceeds
Main cache screen
Latest Change log entry:
- 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
cache, database, image optimize, optimizing, performance
+ Jason's Comments
Set and forget, reduces server load.
Website Optimization and Maintenance
There are a few ways to optimize and speed up your website for viewers and search engines: database clean up, image optimization, page / script compression, CPU / server load optimization, server file caching and utilize browser caching.