{"id":5710,"date":"2025-02-27T02:30:06","date_gmt":"2025-02-27T02:30:06","guid":{"rendered":"https:\/\/s-o-s.net\/wp-optimize-cache-compress-images-minify-clean-database-to-boost-page-speed-performance\/"},"modified":"2025-02-27T02:30:06","modified_gmt":"2025-02-27T02:30:06","slug":"wp-optimize-cache-compress-images-minify-clean-database-to-boost-page-speed-performance","status":"publish","type":"post","link":"https:\/\/s-o-s.net\/en_gb\/wp-optimize-cache-compress-images-minify-clean-database-to-boost-page-speed-performance\/","title":{"rendered":"WP-Optimize \u2013 Cache, Compress images, Minify &#038; Clean database to boost page speed &#038; performance"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<article id=\"post-190\" class=\"alignwide post-190 plugin type-plugin status-publish hentry plugin_tags-cache plugin_tags-caching plugin_tags-image-cache plugin_tags-minify plugin_tags-performance-cache plugin_category-discussion-and-community plugin_category-performance plugin_category-security-and-spam-protection plugin_contributors-aporter plugin_contributors-davidanderson plugin_contributors-dnutbourne plugin_contributors-lumberhack plugin_contributors-ruhanirabin plugin_contributors-snightingale plugin_contributors-webulous plugin_committers-davidanderson plugin_support_reps-aporter plugin_support_reps-bcrodua plugin_support_reps-deabiodun plugin_support_reps-dnutbourne plugin_support_reps-kowsar89 plugin_support_reps-nrobertsudp plugin_support_reps-pmbaldha plugin_support_reps-vupdraft plugin_support_reps-webulous\">\n<div class=\"plugin-banner\" id=\"plugin-banner-wp-optimize\"><\/div>\n<header class=\"plugin-header\">\n<div class=\"entry-heading-container\">\n<div>\n<div class=\"entry-thumbnail\">\n\t\t\t\t\t<img decoding=\"async\" class=\"plugin-icon\" srcset=\"https:\/\/ps.w.org\/wp-optimize\/assets\/icon-128x128.png?rev=1552899, https:\/\/ps.w.org\/wp-optimize\/assets\/icon-256x256.png?rev=1552899 2x\" src=\"https:\/\/ps.w.org\/wp-optimize\/assets\/icon-256x256.png?rev=1552899\" alt=\"\">\t\t\t\t<\/div>\n<div>\n<h1 class=\"plugin-title\">WP-Optimize \u2013 Cache, Compress images, Minify &amp; Clean database to boost page speed &amp; performance<\/h1>\n<p>\t\t\t\t\t<span class=\"byline\">By <span class=\"author vcard\"><a target=\"_blank\" class=\"url fn n\" href=\"https:\/\/profiles.wordpress.org\/davidanderson\/\" rel=\"noopener\">David Anderson \/ Team Updraft<\/a><\/span><\/span>\n\t\t\t\t<\/div>\n<\/p><\/div>\n<div class=\"plugin-actions\">\n<div class=\"wp-block-button is-small plugin-download download-button\"><a target=\"_blank\" class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/downloads.wordpress.org\/plugin\/wp-optimize.4.0.1.zip\" rel=\"noopener\">Download<\/a><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/header>\n<p><!-- .entry-header --><\/p>\n<p>\t<span id=\"description\"><\/span><br \/>\n\t<span id=\"reviews\"><\/span><br \/>\n\t<span id=\"installation\"><\/span><br \/>\n\t<span id=\"developers\"><\/span><br \/>\n\t<span id=\"advanced\" class=\"\"><\/span><br \/>\n\t<span id=\"section-links\"><\/p>\n<ul class=\"tabs clear\">\n<li id=\"tablink-description\"><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/wp-optimize\/#description\" rel=\"noopener\">Details<\/a><\/li>\n<li id=\"tablink-reviews\"><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/wp-optimize\/#reviews\" rel=\"noopener\">Reviews<\/a><\/li>\n<li id=\"tablink-installation\">\n\t\t\t\t<a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/wp-optimize\/#installation\" rel=\"noopener\">Installation<\/a>\n\t\t\t<\/li>\n<li id=\"tablink-developers\"><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/wp-optimize\/#developers\" rel=\"noopener\">Development<\/a><\/li>\n<\/ul>\n<div id=\"link-support\">\n\t\t\t<a target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/plugin\/wp-optimize\/\" rel=\"noopener\">Support<\/a>\n\t\t<\/div>\n<p>\t<\/span><br \/>\n\t<script type=\"text\/javascript\">if ( '#changelog' == window.location.hash ) { window.setTimeout( function() { window.location.hash=\"#developers\"; }, 10 ); }<\/script><\/p>\n<div class=\"entry-content\">\n<div id=\"tab-description\" class=\"plugin-description section\">\n<h2 id=\"description-header\">Description<\/h2>\n<p>MORE THAN A CACHING PLUGIN<\/p>\n<p><strong>WP-Optimize is trusted by more than 1 million WordPress website<\/strong> owners to <strong>boost performance<\/strong> and <strong>reduce page load times<\/strong> to improve your site\u2019s <strong>user experiences<\/strong> and <strong>SERP rankings in Google.<\/strong><\/p>\n<div class=\"embed-vimeo\" style=\"text-align: center;\"><iframe src=\"https:\/\/player.vimeo.com\/video\/333705073\" width=\"750\" height=\"422\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen><\/iframe><\/div>\n<p>It does this in four clever ways:<\/p>\n<p><strong>1. It caches your site<\/strong><\/p>\n<p>Caching is the process of storing a temporary HTML version of your site on the server so it can be retrieved more quickly for the user.<\/p>\n<p>It\u2019s a sure-fire way to ensure web pages load at lightning-fast speed. Turn it on in just one click.<\/p>\n<p><strong>2. It compresses images<\/strong><\/p>\n<p>Large images can really impact page speed load times. WP-Optimize makes it easy to identify and compress images to your preferred lossy \/ lossless settings in a couple of clicks.<\/p>\n<p><strong>3. It cleans the database<\/strong><\/p>\n<p>Your WordPress database stores everything that you need, plus some things that you don\u2019t. WP-Optimize cleans and optimizes the database to speed up your site and save server resources.<\/p>\n<p><strong>4. It minifies<\/strong><\/p>\n<p>On top of its three main features, WP-Optimize Cache also has the more advanced minification feature.<\/p>\n<p>Together with caching, minification dramatically improves performance and page speed load time.<\/p>\n<h3>1. CACHE YOUR SITE<\/h3>\n<p><strong>Turn on caching in just one click:<\/strong><\/p>\n<p>WP-Optimize automatically and optimally configures itself for your WordPress site. Turn it on in one-click or refine its settings if you prefer.<\/p>\n<p><strong>More cache features:<\/strong><\/p>\n<ul>\n<li>\n<p><strong>Cache preloading:<\/strong> This feature emulates a visit to your site, meaning cached files are served straight away, speeding up your site from the very first visit.<\/p>\n<\/li>\n<li>\n<p><strong>GZIP Compression:<\/strong> When the server isn\u2019t configured to do so, WP-Optimize delivers HTML, CSS and JS files  to the user\u2019s browser as smaller, compressed files, reducing the size of pages and style sheets by up to 90%!<\/p>\n<\/li>\n<li>\n<p><strong>Preload key requests:<\/strong> Recommended by Google to improve page speed times. Critical resources (things like font files) get loaded first, so the page loads much faster <strong>[Premium]<\/strong>.<\/p>\n<\/li>\n<\/ul>\n<p><strong>Use cache settings to:<\/strong><\/p>\n<ul>\n<li>\n<p><strong>Serve cached content to logged in users:<\/strong> Turn this on if content stays the same for logged in users (or turn on and exclude URLs where content does change e.g. my account areas).<\/p>\n<\/li>\n<li>\n<p><strong>Exclude content from cache:<\/strong> Exclude by URL, conditional tags, browser agent strings or list cookies that should prevent caching when set (advanced user settings).<\/p>\n<\/li>\n<li>\n<p><strong>Deliver device-specific cache:<\/strong> Serve separate cache files to desktop and mobile devices . This ensures that responsive features e.g. desktop and mobile menus are cached separately and served correctly.<\/p>\n<\/li>\n<li>\n<p><strong>User per role cache:<\/strong> Useful if your website delivers different content to different user roles. e.g. an e-commerce site that displays different content to resellers or consumers <strong>[Premium]<\/strong>.<\/p>\n<\/li>\n<li>\n<p><strong>User specific cache:<\/strong> Serves separate cache files to individual users. Useful for websites with personalised content e.g. Learning management systems <strong>[Premium]<\/strong>.<\/p>\n<\/li>\n<li>\n<p><strong>Cache purging permissions:<\/strong> Select which user roles are allowed to purge the cache e.g. admin only or perhaps a \u2018teacher\u2019 role in an LMS setting only <strong>[Premium]<\/strong>.<\/p>\n<\/li>\n<\/ul>\n<h3>2. COMPRESS IMAGES<\/h3>\n<ul>\n<li>\n<p><strong>Lossy or lossless compression options:<\/strong> Choose between maximum space saving, best image quality or somewhere in-between.<\/p>\n<\/li>\n<li>\n<p><strong>WebP conversion:<\/strong> Recommended by Google, WebP can achieve up to 34% smaller file sizes compared to JPEG and up to 26% compared to PNG.<\/p>\n<\/li>\n<li>\n<p><strong>Auto-compress:<\/strong> Check a box and every new image you upload will automatically be compressed to your preferred lossy \/ lossless settings.<\/p>\n<\/li>\n<li>\n<p><strong>Bulk compression:<\/strong> Compress every existing image on your site with the press of a button.<\/p>\n<\/li>\n<li>\n<p><strong>Restore original:<\/strong> Gone too far? Revert images back to their original in one click.<\/p>\n<\/li>\n<li>\n<p><strong>Retain EXIF image data:<\/strong> Check a box to retain EXIF image data during compression.<\/p>\n<\/li>\n<li>\n<p><strong>Lazy Load:<\/strong> Webpages load much faster by loading web parts gradually, when they\u2019re needed vs simultaneous loading of everything, all at once <strong>[Premium]<\/strong>.<\/p>\n<\/li>\n<li>\n<p><strong>Delete orphaned images:<\/strong> Identify and delete unused images from your WordPress website, saving disk space <strong>[Premium]<\/strong>.<\/p>\n<\/li>\n<li>\n<p><strong>Delete unused image sizes:<\/strong> WordPress creates multiple sizes for every uploaded image causing the uploads folder to become bloated. Scan for image sizes not in use and remove them to save further disk space <strong>[Premium]<\/strong>.<\/p>\n<\/li>\n<\/ul>\n<h3>3. CLEAN AND OPTIMIZE THE DATABASE<\/h3>\n<p>Cleans-up database tables, post revisions, auto draft posts, trashed posts, spam, trashed comments and more. Choose what to optimize or it\u2019s one click to clean out the lot.<\/p>\n<ul>\n<li>\n<p><strong>Schedule clean-ups:<\/strong> So you can set and forget. Choose from daily, weekly, fortnightly or monthly.<\/p>\n<\/li>\n<li>\n<p><strong>Flexible clean-up schedules:<\/strong> You may wish to optimize database tables more frequently than you remove unapproved comments (for example). Choose the specific time and day when tasks should run <strong>[Premium]<\/strong>.<\/p>\n<\/li>\n<li>\n<p><strong>Retain a set number of weeks\u2019 data during clean-ups:<\/strong> Just in case you need to retrieve something.<\/p>\n<\/li>\n<li>\n<p><strong>Back up before clean-ups:<\/strong> If you delete something you shouldn\u2019t, restore it in a couple of clicks with UpdraftPlus.<\/p>\n<\/li>\n<li>\n<p><strong>Power tweak \u2013 Turbo boost for WooCommerce:<\/strong>  Unique to WP-Optimize, this power tweak boosts performance by replacing a slow query in WooCommerce with two much more efficient queries. E-commerce sites transacting high numbers of orders stand to gain here <strong>[Premium]<\/strong>.<\/p>\n<\/li>\n<li>\n<p><strong>Power tweak \u2013 Boost performance by indexing the postmeta table:<\/strong> This unique power tweak works by allowing the WordPress postmeta table to be indexed, improving performance <strong>[Premium]<\/strong>.<\/p>\n<\/li>\n<\/ul>\n<h3>4. MINIFY AND COMBINE HTML, CSS AND JAVASCRIPT<\/h3>\n<ul>\n<li>\n<p><strong>Minify in just one click:<\/strong> Minifies HTML, JavaScript and CSS. Toggle on or off or customise each one under \u2018settings\u2019.<\/p>\n<\/li>\n<li>\n<p><strong>Customise minification:<\/strong> Minify only (removing unnecessary code e.g line breaks and white spacing) or minify and merge. Apply the same or different settings to HTML, CSS and JavaScript.<\/p>\n<\/li>\n<li>\n<p><strong>Asynchronous loading:<\/strong> Choose non-critical CSS and JavaScript files to load in the background and independently of other resources e.g. analytics or pixel scripts. Loading asynchronously eliminates render blocking and improves page speed.<\/p>\n<\/li>\n<li>\n<p><strong>Exclude files from being minified:<\/strong> Specify CSS and JavaScript files to exclude from minification.<\/p>\n<\/li>\n<li>\n<p><strong>Optimize fonts:<\/strong> Optimize Font Awesome and Google Fonts. Inline the font files, inherit from CSS settings or load CSS \/ Javascript asynchronously instead.<\/p>\n<\/li>\n<li>\n<p><strong>Preload assets:<\/strong> WP-Optimize visits each web page on your site so the code is minified and preloaded for real life users, right from their very first visit.<\/p>\n<\/li>\n<li>\n<p><strong>Preload key requests:<\/strong> Recommended by Google to improve page speed times. Critical resources (things like font files) get loaded first, so the page loads much faster.<\/p>\n<\/li>\n<\/ul>\n<h3>WHY WP-OPTIMIZE?<\/h3>\n<ul>\n<li>It\u2019s brought to you by UpdraftPlus, the team behind the world\u2019s most trusted backup, migration and restoration plugin.<\/li>\n<li>It\u2019s easy to use.<\/li>\n<li>It packs a punch for a free plugin.<\/li>\n<\/ul>\n<p>WP-Optimize brings the best cache and optimization technology together into one single, seamless plugin to make your WordPress site fast, lean and efficient.<\/p>\n<h3>PREMIUM FEATURES AT A GLANCE<\/h3>\n<p>Our free version of WP-Optimize Cache is great, but we also have an even more powerful Premium version with extra features that offer the ultimate in freedom and flexibility:<\/p>\n<ul>\n<li><strong>Multisite Support:<\/strong> 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 Cache Premium.<\/li>\n<li><strong>Flexibility and Control:<\/strong> 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.<\/li>\n<li><strong>Deleting unused and unwanted images:<\/strong> removes orphaned images from your WordPress site, plus images of a certain, pre-defined size.<\/li>\n<li><strong>Sophisticated Scheduling:<\/strong> 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.<\/li>\n<li><strong>Seamless Graphical User Interface:<\/strong> for superb clarity in scheduling and managing of multi-site optimizations.<\/li>\n<li><strong>WP-CLI support:<\/strong> provides a way to manage optimizations from command-line interface if you have lots of sites<\/li>\n<li><strong>Lazy Loading:<\/strong> load only the images and part of a web-page when it is visible to the user so they can see something very quickly.<\/li>\n<li><strong>Optimization Preview:<\/strong> gives users the ability to preview, select and remove data and records available for optimization from the database.<\/li>\n<li><strong>Preload key requests:<\/strong> preload assets such as web fonts and icon fonts, as recommended by Google PageSpeed Insights.<\/li>\n<li><strong>Premium support<\/strong> \u2013 caching is one of the most complex things you can do for a website, so premium support offers you peace of mind there\u2019s someone to talk quickly to if you need any technical answers or help configuring the optimizations of cache settings for your website.<\/li>\n<\/ul>\n<h4>Translations<\/h4>\n<p>Translators are welcome to contribute to the plugin. Please use the <a target=\"_blank\" href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/wp-optimize\" rel=\"nofollow ugc noopener\">WordPress translation website<\/a>.<\/p>\n<\/div>\n<div id=\"screenshots\" class=\"plugin-screenshots section\">\n<h2 id=\"screenshots-header\">Screenshots<\/h2>\n<ul class=\"plugin-screenshots\">\n<li>\n<figure><a target=\"_blank\" href=\"https:\/\/ps.w.org\/wp-optimize\/assets\/screenshot-1.png?rev=2143870\" rel=\"nofollow noopener\"><img decoding=\"async\" class=\"screenshot\" src=\"https:\/\/ps.w.org\/wp-optimize\/assets\/screenshot-1.png?rev=2143870\" alt=\"\"><\/a><figcaption>Cache \u2013 plugins comparison benchmark<\/figcaption><\/figure>\n<\/li>\n<li>\n<figure><a target=\"_blank\" href=\"https:\/\/ps.w.org\/wp-optimize\/assets\/screenshot-2.png?rev=2143870\" rel=\"nofollow noopener\"><img decoding=\"async\" class=\"screenshot\" src=\"https:\/\/ps.w.org\/wp-optimize\/assets\/screenshot-2.png?rev=2143870\" alt=\"\"><\/a><figcaption>Database optimization<\/figcaption><\/figure>\n<\/li>\n<li>\n<figure><a target=\"_blank\" href=\"https:\/\/ps.w.org\/wp-optimize\/assets\/screenshot-3.png?rev=2143870\" rel=\"nofollow noopener\"><img decoding=\"async\" class=\"screenshot\" src=\"https:\/\/ps.w.org\/wp-optimize\/assets\/screenshot-3.png?rev=2143870\" alt=\"\"><\/a><figcaption>UpdraftPlus running a backup before an optimization proceeds<\/figcaption><\/figure>\n<\/li>\n<li>\n<figure><a target=\"_blank\" href=\"https:\/\/ps.w.org\/wp-optimize\/assets\/screenshot-4.png?rev=2143870\" rel=\"nofollow noopener\"><img decoding=\"async\" class=\"screenshot\" src=\"https:\/\/ps.w.org\/wp-optimize\/assets\/screenshot-4.png?rev=2143870\" alt=\"\"><\/a><figcaption>Table Report<\/figcaption><\/figure>\n<\/li>\n<li>\n<figure><a target=\"_blank\" href=\"https:\/\/ps.w.org\/wp-optimize\/assets\/screenshot-5.png?rev=2143870\" rel=\"nofollow noopener\"><img decoding=\"async\" class=\"screenshot\" src=\"https:\/\/ps.w.org\/wp-optimize\/assets\/screenshot-5.png?rev=2143870\" alt=\"\"><\/a><figcaption>Image compression<\/figcaption><\/figure>\n<\/li>\n<li>\n<figure><a target=\"_blank\" href=\"https:\/\/ps.w.org\/wp-optimize\/assets\/screenshot-6.png?rev=2143870\" rel=\"nofollow noopener\"><img decoding=\"async\" class=\"screenshot\" src=\"https:\/\/ps.w.org\/wp-optimize\/assets\/screenshot-6.png?rev=2143870\" alt=\"\"><\/a><figcaption>Main cache screen<\/figcaption><\/figure>\n<\/li>\n<\/ul>\n<\/div>\n<div id=\"tab-installation\" class=\"plugin-installation section\">\n<h2 id=\"installation-header\">Installation<\/h2>\n<p>There are 3 different ways to install WP-Optimize Cache, as with any other wordpress.org plugin.<\/p>\n<h4>Using the WordPress dashboard<\/h4>\n<ol>\n<li>Navigate to the \u2018Add New\u2019 in the plugins dashboard<\/li>\n<li>Search for \u2018WP-Optimize\u2019<\/li>\n<li>Click \u2018Install Now\u2019<\/li>\n<li>Activate the plugin on the Plugin dashboard<\/li>\n<\/ol>\n<h4>Uploading in WordPress Dashboard<\/h4>\n<ol>\n<li>Download the latest version of this plugin from https:\/\/wordpress.org\/plugins\/wp-optimize\/<\/li>\n<li>Navigate to the \u2018Add New\u2019 in the plugins dashboard<\/li>\n<li>Navigate to the \u2018Upload\u2019 area<\/li>\n<li>Select the zip file (from step 1.) from your computer<\/li>\n<li>Click \u2018Install Now\u2019<\/li>\n<li>Activate the plugin in the Plugin dashboard<\/li>\n<\/ol>\n<h4>Using FTP<\/h4>\n<ol>\n<li>Download the latest version of this plugin from https:\/\/wordpress.org\/plugins\/wp-optimize\/<\/li>\n<li>Unzip the zip file, which will extract the wp-optimize directory to your computer<\/li>\n<li>Upload the wp-optimize directory to the \/wp-content\/plugins\/ directory in your web space<\/li>\n<li>Activate the plugin in the Plugin dashboard<\/li>\n<\/ol>\n<\/div>\n<div id=\"faq\" class=\"plugin-faq section\">\n<h2 id=\"faq-header\">FAQ<\/h2>\n<dl>\n<dt id=\"isn%27t%20it%20better%20to%20use%20a%20dedicated%20caching%20plugin%20to%20cache%20my%20site%3F\">\n<h3>Isn\u2019t it better to use a dedicated caching plugin to cache my site?<\/h3>\n<\/dt>\n<dd>\n<p>We\u2019ve built WP-Optimize Cache 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. <a target=\"_blank\" href=\"https:\/\/ps.w.org\/wp-optimize\/assets\/screenshot-1.png?rev=2125386\" rel=\"nofollow ugc noopener\">See these speed test results.<\/a><\/p>\n<\/dd>\n<dt id=\"is%20optimizing%20my%20database%20safe%3F\">\n<h3>Is optimizing my database safe?<\/h3>\n<\/dt>\n<dd>\n<p>Yes; optimizing does not involve any \u201ctricks\u201d or poking around in dangerous ways. It involves running routine clean-up operations using well-defined, common MySQL commands. <strong>Nevertheless, we always recommend backups<\/strong>, which cover every possibility; not just database malfunctions, but hackers, human errors, etc. We recommend <a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/updraftplus\/\" rel=\"ugc noopener\">UpdraftPlus<\/a>.<\/p>\n<\/dd>\n<dt id=\"what%20savings%20can%20i%20expect%20to%20make%3F\">\n<h3>What savings can I expect to make?<\/h3>\n<\/dt>\n<dd>\n<p>This is a \u201chow long is string?\u201d sort of question. It depends completely on your site \u2013 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.<\/p>\n<\/dd>\n<dt id=\"how%20do%20i%20get%20support%3F\">\n<h3>How do I get support?<\/h3>\n<\/dt>\n<dd>\n<p>In our support forum, here: https:\/\/wordpress.org\/support\/plugin\/wp-optimize\/<\/p>\n<\/dd>\n<dt id=\"how%20do%20i%20use%20wp-optimize%20database%20cleaning%3F\">\n<h3>How do I use WP-Optimize Database Cleaning?<\/h3>\n<\/dt>\n<dd>\n<div class=\"embed-vimeo\" style=\"text-align: center;\"><iframe src=\"https:\/\/player.vimeo.com\/video\/339511213\" width=\"750\" height=\"422\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen><\/iframe><\/div>\n<\/dd>\n<dt id=\"wp-optimize%20does%20not%20make%20large%20savings%20on%20my%20database\">\n<h3>WP-Optimize does not make large savings on my database<\/h3>\n<\/dt>\n<dd>\n<p>This is rare; it\u2019s probably because you\u2019re with a shared web hosting company that doesn\u2019t allow scripts to run an optimize command via SQL statements (SQL \u201cOPTIMIZE\u201d instruction). Please consult your web hosting company on this matter.<\/p>\n<\/dd>\n<dt id=\"is%20the%20plugin%20tried%20and%20tested%3F\">\n<h3>Is the plugin tried and tested?<\/h3>\n<\/dt>\n<dd>\n<p>Yes \u2013 WP-Optimize Cache is WordPress\u2019s #1 most-installed optimisation plugin, with over 800,000 users and a pedigree going back over 8 years.<\/p>\n<\/dd>\n<dt id=\"does%20wp-optimize%20support%20innodb%20tables%3F\">\n<h3>Does WP-Optimize support InnoDB tables?<\/h3>\n<\/dt>\n<dd>\n<p>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.<\/p>\n<\/dd>\n<dt id=\"can%20you%20help%20me%20restore%20my%20database%3F\">\n<h3>Can you help me restore my database?<\/h3>\n<\/dt>\n<dd>\n<p>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 <a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/updraftplus\/\" rel=\"ugc noopener\">UpdraftPlus<\/a>.<\/p>\n<\/dd>\n<dt id=\"are%20there%20any%20bugs%20in%20this%20plugin%3F\">\n<h3>Are there any bugs in this plugin?<\/h3>\n<\/dt>\n<dd>\n<p>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).<\/p>\n<\/dd>\n<dt id=\"how%20do%20i%20stop%20transient%20options%20from%20coming%20back%20automatically%20each%20time%20i%20clear%20them%3F\">\n<h3>How do I stop transient options from coming back automatically each time I clear them?<\/h3>\n<\/dt>\n<dd>\n<p>When WordPress uses a particular transient, that specific transient is re-created automatically. So, it\u2019s 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 Cache to clear these options on a weekly basis, you\u2019ll have far fewer building up.<\/p>\n<\/dd>\n<dt id=\"the%20table%20size%20shows%20wrong%20%2F%20not%20optimizing\">\n<h3>The table size shows wrong \/ Not optimizing<\/h3>\n<\/dt>\n<dd>\n<p>Please check your database for corrupted tables. That can happen, usually your web hosting company can run the repair command on the db.<\/p>\n<\/dd>\n<dt id=\"which%20wordpress%20and%20php%20versions%20are%20supported%3F\">\n<h3>Which WordPress and PHP versions are supported?<\/h3>\n<\/dt>\n<dd>\n<p>To use all features in the plugin, a minimum of version WordPress 4.9 with PHP 7.2 are required. But we do recommend to use the latest version of WordPress. Using PHP 7.2+ is also highly recommended, as our caching feature will work even faster.<\/p>\n<\/dd>\n<dt id=\"which%20optimisation%20will%20make%20the%20biggest%20difference%3F\">\n<h3>Which optimisation will make the biggest difference?<\/h3>\n<\/dt>\n<dd>\n<p>This depends on your setup (theme, number and quality of plugins used, etc\u2026), but generally, caching will make the biggest visible difference to your website\u2019s 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.<\/p>\n<\/dd>\n<dt id=\"what%20is%20caching%2C%20or%20page%20caching%3F\">\n<h3>What is caching, or page caching?<\/h3>\n<\/dt>\n<dd>\n<p><em>\u201cCaching\u201d, from Wikipedia:<\/em> \u201cIn 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.\u201d \u2014 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\u2019t cached before, it will be computed by WordPress, and WP-Optimize will then save the result to the cache.<\/p>\n<\/dd>\n<dt id=\"why%20should%20i%20use%20a%20caching%20plugin%20on%20my%20website%3F\">\n<h3>Why should I use a caching plugin on my website?<\/h3>\n<\/dt>\n<dd>\n<p>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\u2019s resources.<\/p>\n<\/dd>\n<dt id=\"is%20the%20wp-optimize%20page%20cache%20compatible%20with%20gutenberg%20and%20wordpress%205.0%2B%3F\">\n<h3>Is the WP-Optimize page cache compatible with Gutenberg and WordPress 5.0+?<\/h3>\n<\/dt>\n<dd>\n<p>Yes, your Gutenberg pages will be cached, as well as those created with page builder plugins such as Elementor.<\/p>\n<\/dd>\n<dt id=\"how%20do%20i%20know%20my%20webpage%20is%20being%20cached%20%28or%20why%20it%20isn%27t%29%3F\">\n<h3>How do I know my webpage is being cached (or why it isn\u2019t)?<\/h3>\n<\/dt>\n<dd>\n<p>If cache is enabled, and in order to see if your page is cached, use the \u201cView Source\u201d 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: <code>&lt;!-- Cached by WP Optimize - https:\/\/getwpo.com - Last modified: Sat, 20 Jul 2019 21:17:19 GMT -&gt;<\/code><br \/>\nHowever, 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. &lt;a href=&quot;\/en_gb\/&rdquo;https:\/\/getwpo.com\/faqs\/how-do-i-know-my-webpage-is-being-cached\/&quot;&gt;Further information can be read here<br \/>\nAlso 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.<\/p>\n<\/dd>\n<dt id=\"how%20do%20i%20configure%20the%20page%20cache%3F\">\n<h3>How do I configure the page cache?<\/h3>\n<\/dt>\n<dd>\n<p>Go to WP-Optimize -&gt; 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 <a target=\"_blank\" href=\"https:\/\/getwpo.com\/documentation\/\" rel=\"nofollow ugc noopener\">Advanced caching options<\/a> in our cache documentation to know more on excluding an URL from the cache.\n<\/p>\n<div class=\"embed-vimeo\" style=\"text-align: center;\"><iframe src=\"https:\/\/player.vimeo.com\/video\/337247770\" width=\"750\" height=\"422\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen><\/iframe><\/div>\n<\/dd>\n<dt id=\"is%20the%20caching%20feature%20compatible%20with%20e-commerce%20plugins%3F\">\n<h3>Is the caching feature compatible with e-commerce plugins?<\/h3>\n<\/dt>\n<dd>\n<p>Yes, caching with WP-Optimize Cache allows you to safely cache your products, with plugins like WooCommerce or Easy Digital Downloads, or any e-commerce that uses <code>DONOTCACHEPAGE<\/code> to exclude sensitive pages from caching (e.g. my account, cart or checkout pages).<\/p>\n<\/dd>\n<dt id=\"is%20the%20caching%20feature%20compatible%20with%20multilingual%20plugins%3F\">\n<h3>Is the caching feature compatible with multilingual plugins?<\/h3>\n<\/dt>\n<dd>\n<p>Yes, WP-Optimize works with popular multilingual plugins like WPML or Polylang. However, it\u2019s important to note that when using WP-Optimize with multilingual plugins, the URL format for different languages should not include any query parameters, for example <code>https:\/\/example.com\/?lang=en<\/code>. Instead, it should be in a pretty permalink format, such as <code>https:\/\/example.com\/en<\/code>.<\/p>\n<\/dd>\n<dt id=\"do%20i%20need%20a%20special%20setup%20to%20use%20the%20caching%20feature%3F\">\n<h3>Do I need a special setup to use the caching feature?<\/h3>\n<\/dt>\n<dd>\n<p>No, if WordPress works properly, WP-Optimize will be able to cache your pages and posts.<\/p>\n<\/dd>\n<dt id=\"can%20i%20use%20the%20page%20caching%20feature%20together%20with%20another%20cache%20plugin%3F\">\n<h3>Can I use the page caching feature together with another cache plugin?<\/h3>\n<\/dt>\n<dd>\n<p>No, because both cache plugins would need to use the drop-in plugin <code>advanced-cache.php<\/code>. If you turn off caching on WP-Optimize Cache, you can use any other caching plugin and still use the other features of WP-Optimize. But we do recommend using our caching solution.<\/p>\n<\/dd>\n<dt id=\"is%20wp-optimize%20caching%20compatible%20with%20cloudflare%3F\">\n<h3>Is WP-Optimize caching compatible with Cloudflare?<\/h3>\n<\/dt>\n<dd>\n<p>Yes! No special cache configuration is needed. Page caching on the WP site (that done by WP-Optimize Cache) is independent of proxy caching (e.g. Cloudflare) \u2013 you can use both, or neither, and they will complement each other and not interfere. <br \/>Just one thing to note \u2013 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\u2019t be confused by that \u2013 it\u2019s absence doesn\u2019t indicate the cache is not working.<\/p>\n<\/dd>\n<dt id=\"can%20i%20empty%20the%20cache%20automatically%20when%20performing%20a%20custom%20action%3F\">\n<h3>Can I empty the cache automatically when performing a custom action?<\/h3>\n<\/dt>\n<dd>\n<p>Yes, you can trigger a cache purge action using WP-Optimize Cache public functions. If you want to clear the whole cache, use the function <code>wpo_cache_flush()<\/code>. If you want to clear the cache files for a specific page or post, use <code>WPO_Page_Cache::delete_single_post_cache($post_id);<\/code>. Those cache options are available after WP action <code>plugins_loaded<\/code>.<\/p>\n<\/dd>\n<dt id=\"will%20the%20comments%20work%20even%20when%20page%20caching%20is%20enabled%3F\">\n<h3>Will the comments work even when page caching is enabled?<\/h3>\n<\/dt>\n<dd>\n<p>Yes, when using WordPress\u2019 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.<\/p>\n<\/dd>\n<dt id=\"what%20is%20%22cache%20preloading%22%3F\">\n<h3>What is \u201ccache preloading\u201d?<\/h3>\n<\/dt>\n<dd>\n<p>Usually, a page is cached when a user visits it. So the first user visiting won\u2019t 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.<\/p>\n<\/dd>\n<dt id=\"what%20frequency%20should%20i%20choose%20for%20the%20cache%20preloading%20schedule%3F\">\n<h3>What frequency should I choose for the cache preloading schedule?<\/h3>\n<\/dt>\n<dd>\n<p>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.<br \/>\nFor 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.<br \/>\nOn a website where updates aren\u2019t 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.<\/p>\n<\/dd>\n<dt id=\"how%20do%20i%20cache%20only%20the%20home%20page%3F\">\n<h3>How do I cache only the home page?<\/h3>\n<\/dt>\n<dd>\n<p>Add \/.+ to the cache option \u201cURLs to exclude from cache\u201d on the advanced settings tab.<\/p>\n<\/dd>\n<dt id=\"how%20do%20i%20prevent%20wp-optimize%20cache%20from%20caching%20a%20certain%20page\">\n<h3>How do I prevent WP-Optimize Cache from caching a certain page<\/h3>\n<\/dt>\n<dd>\n<p>To prevent a page from being cached, you can add the URL to the field \u201cURLs to exclude from cache\u201d in the cache \u201cAdvanced settings\u201d tab. If you are developing a plugin and want to prevent a page from being cached, you can define the \u201cDONOTCACHEPAGE\u201d constant on the pages you need. Any request where \u201cDONOTCACHEPAGE\u201d is defined will not be cached.<\/p>\n<\/dd>\n<dt id=\"is%20the%20caching%20feature%20of%20wp-optimize%20free%3F\">\n<h3>Is the caching feature of WP-Optimize free?<\/h3>\n<\/dt>\n<dd>\n<p>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.<\/p>\n<\/dd>\n<dt id=\"where%20does%20wp-optimize%20cache%20store%20the%20cached%20files%3F\">\n<h3>Where does WP-Optimize Cache store the cached files?<\/h3>\n<\/dt>\n<dd>\n<p>The cached files are stored in the common \u201cwp-content\/cache\u201d folder, inside a \u201cwpo-cache\u201d folder. Removing the \u201ccache\u201d folder will delete all of WP-Optimize\u2019s cache, as well as those from other plugins.<br \/>\nDeleting the \u201ccache\u201d folder is generally safe, as those cached files will be regenerated.<\/p>\n<\/dd>\n<dt id=\"how%20do%20i%20disable%20caching%3F\">\n<h3>How do I disable caching?<\/h3>\n<\/dt>\n<dd>\n<p>Go to WP-Optimize settings &gt; Cache and toggle the \u201cEnable page caching\u201d option to on\/off.<\/p>\n<\/dd>\n<dt id=\"will%20caching%20slow%20down%20my%20server%3F\">\n<h3>Will caching slow down my server?<\/h3>\n<\/dt>\n<dd>\n<p>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.<\/p>\n<\/dd>\n<dt id=\"can%20i%20make%20certain%20parts%20of%20the%20page%20stay%20dynamic%20when%20cache%20is%20enabled%3F\">\n<h3>Can I make certain parts of the page stay dynamic when cache is enabled?<\/h3>\n<\/dt>\n<dd>\n<p>The cached page is sent to the user before most of WordPress was loaded. The plugins aren\u2019t loaded yet, making it impossible for them to change the cached content at every request.<br \/>\nSo at the moment if you want to keep parts of your page dynamic (e.g. adverts, widgets, shopping cart\u2026) AND keep it cached, you will have to use custom solutions using javascript and AJAX to fetch those dynamic parts from the server.<\/p>\n<\/dd>\n<dt id=\"how%20do%20i%20delete%20the%20wp_cache%20define%20from%20wp-config.php%3F\">\n<h3>How do I delete the WP_CACHE define from wp-config.php?<\/h3>\n<\/dt>\n<dd>\n<p>WP-Optimize Cache will remove the \u201cWP_CACHE\u201d 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 (\u2018WP_CACHE\u2019, true );<br \/>\nIf page caching is still enabled in the settings, WP-Optimize Cache will attempt to add the line again, as it is required for the caching functionality to work.<\/p>\n<\/dd>\n<dt id=\"my%20filesystem%20is%20not%20writable%20to%20increase%20security.%20what%20do%20i%20need%20to%20do%20to%20make%20it%20compatible%20with%20the%20caching%20functionality%3F\">\n<h3>My filesystem is not writable to increase security. What do I need to do to make it compatible with the caching functionality?<\/h3>\n<\/dt>\n<dd>\n<p>WP-Optimize caching feature needs write access to the \u2018wp-content\/cache\u2019 folder, as this is where the cache files will be stored. It also needs to define the constant \u2018WP_CACHE\u2019 in \u2018wp-config.php\u2019, it will need access once to \u2018wp-content\/advanced-cache.php\u2019, as well as to the folder \u2018wp-content\/wpo-cache\u2019 to write the cache settings.<\/p>\n<\/dd>\n<dt id=\"how%20do%20i%20change%20file%20permissions%3F\">\n<h3>How do I change file permissions?<\/h3>\n<\/dt>\n<dd>\n<p>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\/<\/p>\n<\/dd>\n<dt id=\"what%20is%20the%20maximum%20number%20of%20pages%20i%20can%20cache%3F\">\n<h3>What is the maximum number of pages I can cache?<\/h3>\n<\/dt>\n<dd>\n<p>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.<br \/>\nIf 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.<\/p>\n<\/dd>\n<dt id=\"how%20do%20i%20serve%20cached%20pages%20to%20people%20using%20a%20phone%20or%20tablet%3F\">\n<h3>How do I serve cached pages to people using a phone or tablet?<\/h3>\n<\/dt>\n<dd>\n<p>You can generate a separate cache by selecting \u201cGenerate separate files for mobile devices\u201d 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.<\/p>\n<\/dd>\n<dt id=\"does%20wp-optimize%20cache%20work%20with%20nginx%3F\">\n<h3>Does WP-Optimize Cache work with Nginx?<\/h3>\n<\/dt>\n<dd>\n<p>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.<\/p>\n<\/dd>\n<dt id=\"does%20caching%20work%20with%20windows%20server%20%28iis%29%20%3F\">\n<h3>Does caching work with Windows Server (IIS) ?<\/h3>\n<\/dt>\n<dd>\n<p>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.<\/p>\n<\/dd>\n<dt id=\"does%20the%20wp-optimize%20page%20cache%20work%20with%20non-pretty%20%28query%20parameter-based%29%20permalinks%3F\">\n<h3>Does the WP-Optimize page cache work with non-pretty (query parameter-based) permalinks?<\/h3>\n<\/dt>\n<dd>\n<p>No. It\u2019s 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.<br \/>\nNote that cache will work with permalinks including \/index.php\/. It is only those based upon query parameters (?\u2026) where cache won\u2019t work.<\/p>\n<\/dd>\n<dt id=\"when%20does%20wp-optimize%20clear%20the%20page%20cache%3F\">\n<h3>When does WP-Optimize clear the page cache?<\/h3>\n<\/dt>\n<dd>\n<ul>\n<li>When you publish new content or update\/edit existing content, the cache for that post\/page will be cleared.<\/li>\n<li>Changing\/updating current themes and parent themes (of child themes) will purge the cache.<\/li>\n<li>When turning off the cache feature in WP-Optimize<\/li>\n<\/ul>\n<\/dd>\n<dt id=\"will%20pages%20in%20the%20wp%20admin%20dashboard%20be%20cached%3F\">\n<h3>Will pages in the WP admin dashboard be cached?<\/h3>\n<\/dt>\n<dd>\n<p>No, WP dashboard pages are not cached. The cache functionality is only meant to cache frontend pages.<\/p>\n<\/dd>\n<dt id=\"what%20is%20cache%20lifespan%3F\">\n<h3>What is cache lifespan?<\/h3>\n<\/dt>\n<dd>\n<p>The cache lifespan is the time a cached file will be kept before being regenerated.<br \/>\nOne 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 (<a target=\"_blank\" href=\"https:\/\/developer.wordpress.org\/plugins\/security\/nonces\/\" rel=\"nofollow ugc noopener\">Read more about nonces here<\/a>). 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\u2019s cache feature on sites which use nonces.<br \/>\nAn 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.<\/p>\n<\/dd>\n<dt id=\"what%20value%20should%20the%20cache%20lifespan%20be%3F\">\n<h3>What value should the cache lifespan be?<\/h3>\n<\/dt>\n<dd>\n<p>A lower cache lifespan value will result in more frequent cache update activity on your server, and thus more preload processes, if activated.<br \/>\nIf your site does not use nonces, and your site\u2019s cache doesn\u2019t need to be updated often, you can set the cache lifespan to a high value or to 0 to give it an infinite lifespan.<br \/>\nThe cache lifespan option is set to 10 hours by default, but you may go down to 8 or even less.<br \/>\nIf you notice any issues due to high server load, set a higher interval for the preloader.<\/p>\n<\/dd>\n<dt id=\"can%20wp-optimize%20cache%20minify%20javascript%2C%20css%20and%20html%3F\">\n<h3>Can WP-Optimize Cache minify JavaScript, CSS and HTML?<\/h3>\n<\/dt>\n<dd>\n<p>Yes, the newly added Minify enables you to minify JavaScript and CSS. It also enables you to minify HTML.<\/p>\n<\/dd>\n<dt id=\"what%20is%20%22minify%22%3F\">\n<h3>What is \u201cMinify\u201d?<\/h3>\n<\/dt>\n<dd>\n<div class=\"embed-vimeo\" style=\"text-align: center;\"><iframe loading=\"lazy\" src=\"https:\/\/player.vimeo.com\/video\/402556749\" width=\"750\" height=\"422\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen><\/iframe><\/div>\n<\/dd>\n<dt id=\"why%20minify%20my%20wordpress%20site%3F\">\n<h3>Why minify my WordPress site?<\/h3>\n<\/dt>\n<dd>\n<p>WP-Optimize Cache\u2019s Minify feature is all about increasing the speed of your WordPress site for your users.<br \/>\nOne way Minify does this is by reducing the size of your HTML, CSS and JavaScript files by removing unnecessary spaces and lines from the files and shortening long names internally within the code.<br \/>\nAnother way is that your files are merged into as few files as possible. This reduces the amount of load on your web server and can be quicker to load fewer files.<br \/>\nYou can also defer the loading of any CSS or JavaScript file. This means any large or extraneous CSS or JavaScript file can be loaded independently from the core of your WordPress site; giving your users quicker access to your site.<\/p>\n<\/dd>\n<dt id=\"what%20does%20%22reset%20the%20minified%20files%22%20actually%20do%3F\">\n<h3>What does \u201cReset the minified files\u201d actually do?<\/h3>\n<\/dt>\n<dd>\n<p>Pressing the \u201cReset the minified files\u201d does:<br \/>\n* delete the temporary files used when generating the minified assets<br \/>\n* delete old minified files (more than 30 days old)<br \/>\n* add a folder for the new minified files, which will be generated when visiting a page<br \/>\nThe previously minified CSS files will remain on the server until they expire, or until they\u2019re deleted using the button \u201cDelete all the files generated by minify\u201d.<\/p>\n<\/dd>\n<dt id=\"can%20i%20defer%20css%20and%20javascript%20using%20wp-optimize%20cache%3F\">\n<h3>Can I defer CSS and JavaScript using WP-Optimize Cache?<\/h3>\n<\/dt>\n<dd>\n<p>Yes, the newly added minification feature (a.k.a. Minify) allows you to defer parsing of JavaScript and CSS.<\/p>\n<\/dd>\n<dt id=\"google%27s%20pagespeed%20insights%20says%20to%20leverage%20the%20font-display%20css%20feature%20to%20ensure%20text%20is%20user-visible%20while%20webfonts%20are%20loading.%20can%20wp-optimize%20cache%20do%20that%3F\">\n<h3>Google\u2019s PageSpeed Insights says to leverage the font-display CSS feature to ensure text is user-visible while webfonts are loading. Can WP-Optimize Cache do that?<\/h3>\n<\/dt>\n<dd>\n<p>Leveraging the font-display CSS feature is currently possible when using Google Fonts. The default parameter is \u201cswap\u201d, but can be changed using the WordPress filter \u201cwpo_minify_gfont_display_type\u201d.<\/p>\n<\/dd>\n<dt id=\"when%20enabling%20minify%2C%20my%20site%27s%20layout%20is%20broken.%20how%20can%20i%20fix%20it%3F\">\n<h3>When enabling minify, my site\u2019s layout is broken. How can I fix it?<\/h3>\n<\/dt>\n<dd>\n<p>This usually means one or more of your CSS files are incompatible with the minification or merging process. It can also be caused by errors in the CSS\u2019s syntax.<br \/>\nYou can check the CSS\u2019s syntax by using an online CSS syntax checker such as csslint.net.<br \/>\nIf your syntax is not causing the issue, or you cannot change the file with an issue, you can either exclude the problematic CSS files from the minification and merging process.<br \/>\nTo exclude individual CSS files from the minification and merging process, you can go to WP-Optimize &gt; Minify &gt; CSS and go to the \u201cExclude the following CSS files from processing\u201d section.<\/p>\n<\/dd>\n<dt id=\"when%20enabling%20minify%2C%20some%20functionality%20is%20broken.%20how%20can%20i%20fix%20it%3F\">\n<h3>When enabling minify, some functionality is broken. How can I fix it?<\/h3>\n<\/dt>\n<dd>\n<p>This usually means one or more of your JavaScript files are incompatible with the minification or merging process. It can also be caused by errors in the JavaScript\u2019s syntax.<br \/>\nThe first thing to try is to enable the setting \u201cContain each included file in its own block\u201d in the JavaScript options (WP-Optimize &gt; Minify &gt; Javascript &gt; JavaScript options). This could \u201ccatch\u201d an error, and prevent the rest of the code to be broken.<br \/>\nIf the first option didn\u2019t work, try disabling merging of JavaScript files.<br \/>\nIf none of the above works, disable processing of JavaScript files in the minify settings, and <a target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/plugin\/wp-optimize\" rel=\"ugc noopener\">open a support thread<\/a> with details about your issue. We\u2019ll do our best to help you troubleshoot the issue.<\/p>\n<\/dd>\n<dt id=\"how%20do%20i%20use%20the%20image%20optimisation%20feature%3F\">\n<h3>How do I use the image optimisation feature?<\/h3>\n<\/dt>\n<dd>\n<div class=\"embed-vimeo\" style=\"text-align: center;\"><iframe loading=\"lazy\" src=\"https:\/\/player.vimeo.com\/video\/333938451\" width=\"750\" height=\"422\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen><\/iframe><\/div>\n<\/dd>\n<\/dl>\n<\/div>\n<div id=\"tab-reviews\" class=\"plugin-reviews section\">\n<h2 id=\"reviews-header\">Reviews<\/h2>\n<div class=\"plugin-reviews\">\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/ccfa8b446957d308a0b2944816c013fb2dbc4aa4f012ddfda193fdb185c0b4d3?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/ccfa8b446957d308a0b2944816c013fb2dbc4aa4f012ddfda193fdb185c0b4d3?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/best-freemium-plugin-for-caching-and-optimization\/\" rel=\"noopener\">Best freemium plugin for caching and optimization<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/mw66\/\" title=\"Posts by mw66\" rel=\"author noopener\">mw66<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">February 25, 2025<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">This is the best available free plugin for caching. It\u2019s easy to install, easy to configure and it does it\u2019s job perfectly.<\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/144c1dd3158b0b700cb65402b3854c204342314c3b1edbd5885a0702649cc2ca?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/144c1dd3158b0b700cb65402b3854c204342314c3b1edbd5885a0702649cc2ca?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/cumpri-o-que-promete-4\/\" rel=\"noopener\">Cumpri o que promete<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/torosa\/\" title=\"Posts by torosa\" rel=\"author noopener\">torosa<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">February 25, 2025<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">Muito bom.<\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/9a1e66722d8641d95988f0f5e1d98e4735dfe0dc561e5aa0837c7e4ce41b1355?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/9a1e66722d8641d95988f0f5e1d98e4735dfe0dc561e5aa0837c7e4ce41b1355?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/excelente-4124\/\" rel=\"noopener\">Excelente<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/gamersland\/\" title=\"Posts by juan felix ceacero\" rel=\"author noopener\">juan felix ceacero<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">February 24, 2025<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">Incluso el servicio gratuito. Muchas gracias por vuestro trabajo.<\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/3fcd2c0f175c57e09fe4e5f8ebf1a86a7c94ae224c7b00191437329b4ba42c8b?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/3fcd2c0f175c57e09fe4e5f8ebf1a86a7c94ae224c7b00191437329b4ba42c8b?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/cool-plugins-6\/\" rel=\"noopener\">COOL PLUGINS<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/malick05\/\" title=\"Posts by malick05\" rel=\"author noopener\">malick05<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">February 20, 2025<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">COOL PLUGINS<\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/b0277764bb6151353dddeae5c48ec25cb7770b2830718b4439c0eaf5ed38e640?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/b0277764bb6151353dddeae5c48ec25cb7770b2830718b4439c0eaf5ed38e640?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/a-wonderful-plugin-36\/\" rel=\"noopener\">A wonderful plugin<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/scevola8\/\" title=\"Posts by scevola8\" rel=\"author noopener\">scevola8<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">February 20, 2025<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">I really like the plugin, I\u2019ve been using it for a long time, I especially like the possibility of optimizing database tables, configuring caching, and minification.<\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/244a6057caf8637f85fcd36ee6a268a93e090031050fad2b9c8a38d13e86dcf7?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/244a6057caf8637f85fcd36ee6a268a93e090031050fad2b9c8a38d13e86dcf7?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/best-caching-system-out-there-by-far\/\" rel=\"noopener\">Best Caching System out there by far<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/philipsimplynuc\/\" title=\"Posts by philipsimplynuc\" rel=\"author noopener\">philipsimplynuc<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">February 20, 2025<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">I have been working with WordPress for over 14 years now.And WP-Optimize is hands down the best caching system available.It\u2019s not bloated with useless Ads and additional backend screens.And does exactly what its supposed to do.It\u2019s fast, efficient and the backend options cover almost every possible caching area of a full WordPress website, image optimization and database optimization, minification and concatenation of assets.<\/p>\n<p>All from one system really helps serious developers on the WordPress CMS.<\/p><\/div>\n<\/p><\/div>\n<\/article><\/div>\n<p>\t\t<a target=\"_blank\" class=\"reviews-link\" href=\"https:\/\/wordpress.org\/support\/plugin\/wp-optimize\/reviews\/\" rel=\"noopener\"><br \/>\n\t\t\tRead all 2,412 reviews\t\t<\/a><\/div>\n<div id=\"tab-developers\" class=\"plugin-developers section\">\n<h2 id=\"developers-header\">Contributors &amp; Developers<\/h2>\n<div class=\"plugin-contributors\">\n<p>\u201cWP-Optimize \u2013 Cache, Compress images, Minify &amp; Clean database to boost page speed &amp; performance\u201d is open source software. The following people have contributed to this plugin.<\/p>\n<p><span class=\"screen-reader-text\">Contributors<\/span><\/p>\n<ul id=\"contributors-list\" class=\"contributors-list\">\n<li>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/8cf7655071f82970f9635a0c7e7646551756c333b57166083e506a72cad98916?s=32&amp;d=mm&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/8cf7655071f82970f9635a0c7e7646551756c333b57166083e506a72cad98916?s=64&amp;d=mm&amp;r=g 2x\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/davidanderson\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\tDavid Anderson \/ Team Updraft\t\t\t\t<\/a>\n\t\t\t<\/li>\n<li>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/9d0261aa75c90766e67fcb537aecf46d5d877c8d42e6b7ce4aa2274cbfc61e4b?s=32&amp;d=mm&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/9d0261aa75c90766e67fcb537aecf46d5d877c8d42e6b7ce4aa2274cbfc61e4b?s=64&amp;d=mm&amp;r=g 2x\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/ruhanirabin\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\tRuhani Rabin\t\t\t\t<\/a>\n\t\t\t<\/li>\n<li>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/9cb6b0d01619d3c87f8610d2d7e887f4cba4bd8c8056f56c898ec91086c5f94e?s=32&amp;d=mm&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/9cb6b0d01619d3c87f8610d2d7e887f4cba4bd8c8056f56c898ec91086c5f94e?s=64&amp;d=mm&amp;r=g 2x\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/dnutbourne\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\tDNutbourne\t\t\t\t<\/a>\n\t\t\t<\/li>\n<li>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/e6022bd1050be79e76d099696b2e0e277c2b23ed227fca2453ba961b1e87f8e4?s=32&amp;d=mm&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/e6022bd1050be79e76d099696b2e0e277c2b23ed227fca2453ba961b1e87f8e4?s=64&amp;d=mm&amp;r=g 2x\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/aporter\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\taporter\t\t\t\t<\/a>\n\t\t\t<\/li>\n<li>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/b256c78dd5aeecbec3f651bef6cd5802e2982eb32701b5210ed87b6e9a9f31e5?s=32&amp;d=mm&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/b256c78dd5aeecbec3f651bef6cd5802e2982eb32701b5210ed87b6e9a9f31e5?s=64&amp;d=mm&amp;r=g 2x\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/snightingale\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\tsnightingale\t\t\t\t<\/a>\n\t\t\t<\/li>\n<li>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/53a878926e0a72d870bc83a3a9862708ad664237d9d259840076adf9c7064daa?s=32&amp;d=mm&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/53a878926e0a72d870bc83a3a9862708ad664237d9d259840076adf9c7064daa?s=64&amp;d=mm&amp;r=g 2x\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/lumberhack\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\tLumberHack\t\t\t\t<\/a>\n\t\t\t<\/li>\n<li>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/9d27225969d6c60ef591694d648dc3e78d7fa61741892a90514acf01e4af7035?s=32&amp;d=mm&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/9d27225969d6c60ef591694d648dc3e78d7fa61741892a90514acf01e4af7035?s=64&amp;d=mm&amp;r=g 2x\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/webulous\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\tVenkat Raj\t\t\t\t<\/a>\n\t\t\t<\/li>\n<\/ul><\/div>\n<div class=\"plugin-development\">\n<p>\u201cWP-Optimize \u2013 Cache, Compress images, Minify &amp; Clean database to boost page speed &amp; performance\u201d has been translated into 32 locales. Thank you to <a target=\"_blank\" href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/wp-optimize\/contributors\" rel=\"noopener\">the translators<\/a> for their contributions.<\/p>\n<p><a target=\"_blank\" href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/wp-optimize\" rel=\"noopener\">Translate \u201cWP-Optimize \u2013 Cache, Compress images, Minify &amp; Clean database to boost page speed &amp; performance\u201d into your language.<\/a><\/p>\n<h3>Interested in development?<\/h3>\n<p><a target=\"_blank\" href=\"https:\/\/plugins.trac.wordpress.org\/browser\/wp-optimize\/\" rel=\"noopener\" class=\"broken_link\">Browse the code<\/a>, check out the <a target=\"_blank\" href=\"https:\/\/plugins.svn.wordpress.org\/wp-optimize\/\" rel=\"noopener\">SVN repository<\/a>, or subscribe to the <a target=\"_blank\" href=\"https:\/\/plugins.trac.wordpress.org\/log\/wp-optimize\/\" rel=\"noopener\" class=\"broken_link\">development log<\/a> by <a target=\"_blank\" href=\"https:\/\/plugins.trac.wordpress.org\/log\/wp-optimize\/?limit=100&amp;mode=stop_on_copy&amp;format=rss\" rel=\"noopener\" class=\"broken_link\">RSS<\/a>.<\/p>\n<\/div>\n<\/div>\n<div id=\"tab-changelog\" class=\"plugin-changelog section\">\n<h2 id=\"changelog-header\">Changelog<\/h2>\n<h4>4.0.1 \u2013 17\/Feb\/2025<\/h4>\n<ul>\n<li>FIX: File system usage issue<\/li>\n<\/ul>\n<h4>4.0.0 \u2013 10\/Feb\/2025<\/h4>\n<ul>\n<li>FEATURE: Delay JavaScript execution <\/li>\n<li>FIX: Cache \u2013 Fixed PHP warning \u201cCannot modify header information\u201d<\/li>\n<li>FIX: Minify \u2013 Unusual behavior occurs when the \u201cDisable Google Fonts processing\u201d option is enabled<\/li>\n<li>FIX: Smush \u2013 Fixed image compression actions in Media Library<\/li>\n<li>REFACTOR: Replacing jQuery Tablesorter with \u2018sortable-tablesort\u2019 package<\/li>\n<li>TWEAK: Cache \u2013 Enhance ActivityPub compatibility<\/li>\n<li>TWEAK: Fix PHP notice caused by subscriben plugin advert<\/li>\n<li>TWEAK: Minimum requirements were updated to PHP version 7.2 and WordPress version 4.9 <\/li>\n<li>TWEAK: Remove uses of <code>unserialize<\/code> without restriction of allowed_classes<\/li>\n<li>TWEAK: Recognise Independent Analytics Pro plugin tables in database optimization<\/li>\n<\/ul>\n<h4>3.8.0 \u2013 09\/Dec\/2024<\/h4>\n<ul>\n<li>FEATURE: Added a system status page<\/li>\n<li>FEATURE: Logs frequent and highly recurrent 404 requests; introduces a new Performance tab.<\/li>\n<li>FIX: Cache \u2013 Legacy Widgets visibility issue with WP-Optimize Cache enabled<\/li>\n<li>FIX: Cache \u2013 UI issue: Preload \u201cCancel\u201d option is gone after reloading the WPO settings page instantly<\/li>\n<li>FIX: Database \u2013 optimizing any item also changes the status of other items<\/li>\n<li>REFACTOR: Minify \u2013 Removal of the WPO_MINIFY_PHP_VERSION_MET constant<\/li>\n<li>TWEAK: Add a warning message before deleting post metadata or orphaned relationship data.<\/li>\n<li>TWEAK: Bailout early if the minimum PHP version is not met<\/li>\n<li>TWEAK: Introduced logging for cache purge operations, available under <code>uploads\/wpo\/logs\/cache-*.log<\/code><\/li>\n<li>TWEAK: Open CRON overdue guide in new tab<\/li>\n<li>TWEAK: Persist Analytics Tab when minification is disabled<\/li>\n<li>TWEAK: Premium \u2013 Unused Images \u2013 Improved detection of images not present in the Media Library, marking them as used<\/li>\n<li>TWEAK: UI improvements in Analytics section<\/li>\n<li>TWEAK: Wrapped checkboxes inside <code>label<\/code> tags in the confirmation popup that appears when clicking the \u201cRemove\u201d button on the Database &gt; Tables tab.<\/li>\n<\/ul>\n<h4>3.7.1 \u2013 20\/Nov\/2024<\/h4>\n<ul>\n<li>TWEAK: Resolved a PHP notice caused by translation loading too early when caching is enabled, introduced in WordPress 6.7<\/li>\n<\/ul>\n<h4>3.7.0 \u2013 21\/Oct\/2024<\/h4>\n<ul>\n<li>FEATURE: Added an option to automatically preload URLs immediately after cache content is purged<\/li>\n<li>FEATURE: Premium \u2013 Gather data about table usage by filtering <code>query<\/code> event<\/li>\n<li>FIX: Cache \u2013 Scheduled preloading wasn\u2019t working<\/li>\n<li>FIX: Inconsistency in <code>smush_manager_send_command<\/code> function<\/li>\n<li>REFACTOR: Smush \u2013 Popup styles, remove unused code <\/li>\n<li>TWEAK: Fix fatal implode error when updating to v3.5.0<\/li>\n<li>TWEAK: Image compression \u2013 Issue with cancelling smush image compression<\/li>\n<li>TWEAK: Improve module minification logic<\/li>\n<li>TWEAK: Premium \u2013 Unused images \u2013 Fixed popup when moving images to or restoring images from the trash<\/li>\n<li>TWEAK: Premium \u2013 Unused images \u2013 Placeholder images in unused images section<\/li>\n<li>TWEAK: Added <code>security.md<\/code> file with information to report security issues<\/li>\n<\/ul>\n<h4>3.6.0 \u2013 12\/Sep\/2024<\/h4>\n<ul>\n<li>FEATURE: Premium \u2013 Auto-detect images lacking dimension attributes and add them to improve CLS<\/li>\n<li>FIX: Fixed the issue that disabled WebP conversion due to checking all shell commands for WebP compression<\/li>\n<li>FIX: Premium \u2013 Unused Images \u2013 The unused image size deletion functionality does not work when images are not in the \/yyyy\/mm\/ folder<\/li>\n<li>REFACTOR: Removed unnecessary static methods in WebP class<\/li>\n<li>TWEAK: Image compression \u2013 Rolled back to using popup error notices as in versions prior to 3.4.0<\/li>\n<li>TWEAK: Added a more descriptive error with resolution proposals for failed gzip compression and browser cache tests<\/li>\n<li>TWEAK: Fix broken unused image list thumbnails and download as csv link in Multisite<\/li>\n<li>TWEAK: Fix the singleton pattern in Heartbeat class<\/li>\n<li>TWEAK: Image compression functionality added to the Media Library page<\/li>\n<li>TWEAK: Premium \u2013 Cache \u2013 Added support for Aelia Currency Switcher plugin<\/li>\n<li>TWEAK: Premium \u2013 Unused images \u2013 improve clarity in UI for images in post revisions<\/li>\n<li>TWEAK: Added additional checks to the <code>implode()<\/code> function to mitigate the risk of fatal errors on certain instances<\/li>\n<\/ul>\n<h4>3.5.0 \u2013 14\/Aug\/2024<\/h4>\n<ul>\n<li>FEATURE: Premium \u2013 Host Google and minimal analytics scripts locally<\/li>\n<li>FIX: Premium \u2013 Cache \u2013 Single page cache purge\/preload feature isn\u2019t working <\/li>\n<li>TWEAK: Add logging for the WebP feature<\/li>\n<li>TWEAK: Allow minification of script modules<\/li>\n<li>TWEAK: Cache \u2013 Purge the cache when the site is migrated <\/li>\n<li>TWEAK: Improvements to asset minification cache logic<\/li>\n<li>TWEAK: Improvements to reSmushIt curl error message<\/li>\n<li>TWEAK: Minify \u2013 Added an option to disable Google Fonts processing when it causes conflicts with other plugins<\/li>\n<li>TWEAK: Move all WPO files from the <code>uploads<\/code> folder to <code>uploads\/wpo<\/code><\/li>\n<li>TWEAK: Style improvement of the loading modals<\/li>\n<\/ul>\n<h4>3.4.2 \u2013 03\/Jul\/2024<\/h4>\n<ul>\n<li>FIX: Removes unnecessary heartbeat calls for retrieving information about images<\/li>\n<\/ul>\n<h4>3.4.1 \u2013 26\/Jun\/2024<\/h4>\n<ul>\n<li>FIX: Issue with bulk editing on the posts and pages edit screen<\/li>\n<\/ul>\n<h4>3.4.0 \u2013 25\/Jun\/2024<\/h4>\n<ul>\n<li>FEATURE: Premium \u2013 Smush \u2013 Bulk compress \/ restore from media library<\/li>\n<li>FIX: Deactivate the form for minifying JS\/CSS settings when the corresponding option is disabled<\/li>\n<li>REFACTOR: The functionality for the \u2018Unused Images\u2019 feature in ACF has been moved to a separate class<\/li>\n<li>TWEAK: Add UpdraftCentral commands for the latest WP-Optimize features<\/li>\n<li>TWEAK: Adjusted the scheduled preload time for improved performance<\/li>\n<li>TWEAK: Auto-update advanced-cache.php settings during site migration<\/li>\n<li>TWEAK: Cache \u2013 Human-readable file names for the cache directory<\/li>\n<li>TWEAK: Caching related cron jobs are activated even though cache is disabled<\/li>\n<li>TWEAK: Image compression \u2013 Updated message for restoring images action<\/li>\n<li>TWEAK: Implement Heartbeat API for image compression progress updates<\/li>\n<li>TWEAK: Improving vendor autoload<\/li>\n<li>TWEAK: Introduces a hook (<code>wpo_force_webp_serve_using_altered_html<\/code>) for changing WebP serving method<\/li>\n<li>TWEAK: Minify \u2013 Exclude .min files from minification<\/li>\n<li>TWEAK: Minify \u2013 Improve list of processed files UI<\/li>\n<li>TWEAK: Optimization of the get_uncompressed_image query<\/li>\n<li>TWEAK: Persist script loading strategy when minifying JS files<\/li>\n<li>TWEAK: Premium \u2013 Compatibility with Curcy WooCommerce multi currency plugin<\/li>\n<li>TWEAK: Premium \u2013 Unused Images \u2013 Added an option to delete original images when scaled versions exist<\/li>\n<\/ul>\n<h4>3.3.2 \u2013 16\/Apr\/2024<\/h4>\n<ul>\n<li>FIX: Ensure the admin bar is not cached when caching is enabled for both logged-in and guest users<\/li>\n<li>REFACTOR: Remove unused code<\/li>\n<li>TWEAK: Cache \u2013 Prevent sitemaps being cached<\/li>\n<li>TWEAK: Display a notice when static browser cache is enabled but not working<\/li>\n<li>TWEAK: Premium \u2013 Added \u201cLost your password?\u201d link on plugin\u2019s page<\/li>\n<li>TWEAK: Premium \u2013 Unused images \u2013 Detect Elementor\u2019s \u2018Video\u2019 widget\u2019s image<\/li>\n<li>TWEAK: Recognise Rank Math plugin tables as used in database optimization<\/li>\n<li>TWEAK: Reduce .htaccess file write operations when WebP is enabled<\/li>\n<li>TWEAK: Seasonal notice content update for 2024 <\/li>\n<li>TWEAK: Unused Images \u2013 Unused tab displays multiple images for compressed images with WebP Conversion<\/li>\n<li>TWEAK: Prevent multiple AJAX requests being generated by repeated clicks on the \u201cPurge Cache\u201d button<\/li>\n<li>TWEAK: Call the <code>litespeed_finish_request()<\/code> function when attempting to close browser connection on LiteSpeed servers<\/li>\n<\/ul>\n<h4>3.3.1 \u2013 06\/Mar\/2024<\/h4>\n<ul>\n<li>FIX: Cache \u2013 Compatibility issue with Jetpack\u2019s infinity scroll feature<\/li>\n<li>FIX: Cache \u2013 Don\u2019t cache activity stream (ActivityPub plugin compatibility)<\/li>\n<li>FIX: Cache \u2013 Page not cached comment is added to <code>robots.txt<\/code><\/li>\n<li>TWEAK: Fix PHP warnings when server variables are not available<\/li>\n<li>TWEAK: Fix Unexpected response alert and PHP warning when cache preloading is triggered manually<\/li>\n<li>TWEAK: Migrate from setInterval to WP heartbeat API to refresh information about backend tasks<\/li>\n<li>TWEAK: Optimization of the WebP Implementation<\/li>\n<li>TWEAK: Update dashboard notice to include all of our plugins<\/li>\n<li>TWEAK: Update the footer review prompt<\/li>\n<\/ul>\n<h4>3.3.0 \u2013 31\/Jan\/2024<\/h4>\n<ul>\n<li>FEATURE: Premium \u2013 Ability to preload and purge caches from individual post\/page<\/li>\n<li>FIX: Premium \u2013 Unused Images \u2013 Recognise Elementor\u2019s Container, and Section widget background images<\/li>\n<li>FIX: Avoid having repeated minified scripts in the same bundle, it breaks the code in some specific cases<\/li>\n<li>FIX: Cache \u2013 TranslatePress compatibility \u2013 Post updates purges cache for all related translated languages<\/li>\n<li>FIX: Only try to parse canonical URLs if there is a path or querystring, needed for WPML with multi-domain compatibility<\/li>\n<li>TWEAK: Add cron de-scheduling of all wpo_* events during plugin uninstall<\/li>\n<li>TWEAK: Cache \u2013 Always add source code comment about page not being cached, but only add details when WP_DEBUG is ON<\/li>\n<li>TWEAK: Cache \u2013 Fix issue with excluding encoded (non-latin) URLs<\/li>\n<li>TWEAK: Do not attempt to close browser connection when the context is not an AJAX action<\/li>\n<li>TWEAK: Minify \u2013 Logging more information about why minify static assets cache gets invalidated and regenerated<\/li>\n<li>TWEAK: Revert to the original <code>matthiasmullie\/minify<\/code> repository after confirming resolution of previous issues<\/li>\n<li>TWEAK: Setup Cron job to clear failed smush tasks from DB<\/li>\n<li>TWEAK: Using clear text user agent strings instead of regular expressions to identify web browsers for improved clarity<\/li>\n<li>TWEAK: Updater library in the Premium version updated to the current release series<\/li>\n<\/ul>\n<h4>3.2.22 \u2013 23\/Nov\/2023<\/h4>\n<ul>\n<li>TWEAK: Cache \u2013 Show a notice in the admin if the config file is missing and caching is enabled<\/li>\n<li>TWEAK: Added support for new emoji styles related hooks introduced in WordPress 6.4<\/li>\n<li>TWEAK: Database \u2013 Fix \u201cOptimize database tables\u201d stuck loading state<\/li>\n<li>TWEAK: Premium \u2013 Cache \u2013 Style improvement for the select2 box from advanced cache settings<\/li>\n<li>TWEAK: Premium \u2013 Images \u2013 Fix issues with avif images in the unused images feature<\/li>\n<li>REFACTOR: Wrapping most of the external links in the WPO settings pages with the appropriate function<\/li>\n<li>REFACTOR: Remove unused code<\/li>\n<\/ul>\n<h4>3.2.21 \u2013 18\/Oct\/2023<\/h4>\n<ul>\n<li>FIX: Prevent PHP fatal error when updating from older versions of WP-Optimize<\/li>\n<\/ul>\n<h4>3.2.20 \u2013 16\/Oct\/2023<\/h4>\n<ul>\n<li>FIX: WebP \u2013 Performance issue because of possible infinite loop<\/li>\n<li>FIX: Cache purging occurred prior to the cache lifespan expiration<\/li>\n<li>FIX: Premium \u2013 Smush \u2013 Do not consider images in trashed posts as unused<\/li>\n<li>TWEAK \u2013 Remove extra slash from plugin asset urls and paths<\/li>\n<li>TWEAK: Image \u2013 Add a tooltip next to the restore button on the edit media screen<\/li>\n<li>TWEAK: Premium \u2013 Prevent PHP deprecated warning when generating variations from attributes for new WooCommerce variable products<\/li>\n<li>TWEAK: Premium \u2013 Purge cache when the <code>Variation Swatches for WooCommerce<\/code> plugin settings get updated<\/li>\n<li>TWEAK: Premium \u2013 Settings \u2013 Style improvement for the <code>Purge cache permissions<\/code> select2 box<\/li>\n<li>TWEAK: Recognise LearnDash plugin tables in database optimization<\/li>\n<li>TWEAK: Remove empty <code>uploads\/.htaccess<\/code> file and remaining cron events<\/li>\n<li>TWEAK: Smush \u2013 Disable server info in smush logs by default<\/li>\n<li>TWEAK: Smush \u2013 Resolve double log entries when compressing a single image from the media library metabox<\/li>\n<li>TWEAK: Prevent unwanted PHP notice upon update<\/li>\n<\/ul>\n<h4>3.2.19 \u2013 15\/Sep\/2023<\/h4>\n<ul>\n<li>FIX: Cache \u2013 Relevant caches are now purged upon updating homepage display settings and posts per page settings<\/li>\n<li>FIX: Minify \u2013 Multiline content inside textareas break after exporting and importing settings<\/li>\n<li>FIX: Smush \u2013 Images are not compressed with default (image quality = 100) settings<\/li>\n<li>FIX: Premium \u2013 Cache \u2013 Caching stops working when WordPress salt keys contain backslash () character<\/li>\n<li>FIX: Premium \u2013 User per role cache not working when tables do not have <code>wp<\/code> prefix<\/li>\n<li>FIX: Premium \u2013 When lazy loading is enabled, the picture tag in initial viewport is not visible<\/li>\n<li>TWEAK: Fixed date format and timezone in the cache last modification comment according to the site configuration<\/li>\n<li>TWEAK: Fixed spelling errors in the repository <\/li>\n<li>TWEAK: Minify \u2013 The process of purging cache for 3rd party caching solutions now works properly when multiple other solutions are present<\/li>\n<li>TWEAK: Premium \u2013 Lazy load \u2013 Added Jetpack, Optimole, Rocket Lazy Load, and Smush (WPMU Dev) plugins to the incompatibility notice<\/li>\n<li>TWEAK: Prevent PHP warning upon installing themes from the WordPress repository<\/li>\n<li>TWEAK: Update the composer package yahnis-elsts\/plugin-update-checker for PHP 8.2 compatibility<\/li>\n<\/ul>\n<h4>3.2.18 \u2013 11\/Aug\/2023<\/h4>\n<ul>\n<li>FIX: A bug in the v3.2.17 release that caused certain database optimization buttons to be disabled has been fixed<\/li>\n<li>TWEAK: Reset WebP serving method upon updating to version 3.2.18<\/li>\n<\/ul>\n<h4>3.2.17 \u2013 08\/Aug\/2023<\/h4>\n<ul>\n<li>FIX: Automatically compress newly-added images feature now works on multisite in case of attachment ID is the same in both sites<\/li>\n<li>FIX: Minify \u2013 No separate try-catch blocks for same handle<\/li>\n<li>FIX: Premium \u2013 Unused Images \u2013 Recognise Elementor Carousel, Slides, Flip Box, and Site logo widget images<\/li>\n<li>FIX: Premium \u2013 Prevent memory exhausted PHP fatal error when using unused images feature with Elementor<\/li>\n<li>TWEAK: External links will open in new tab\/window<\/li>\n<li>TWEAK: Remove <code>htaccess-capability-tester<\/code> dependency<\/li>\n<li>TWEAK: Remove residue folders in <code>uploads\/wpo<\/code><\/li>\n<\/ul>\n<h4>3.2.16 \u2013 06\/Jul\/2023<\/h4>\n<ul>\n<li>FIX: HTML minify should not remove <code>title<\/code> tag added by AIOSEO<\/li>\n<li>FIX: Premium \u2013 Fetching unused images data is incorrect when previous task queue is not properly unlocked<\/li>\n<li>FIX: Premium \u2013 Unused Images \u2013 Recognise Elementor background images<\/li>\n<li>TWEAK: Premium \u2013 Prevent conflicts between the minify feature and the <code>YITH Point of Sale for WooCommerce<\/code> plugin<\/li>\n<li>TWEAK: Premium \u2013 Compatibility issue with Smart Slider 3<\/li>\n<li>TWEAK: Suppress PHP warnings caused by WebP converter<\/li>\n<li>TWEAK: Database optimization \u2013 Prevent duplicate AJAX requests, minor code improvements<\/li>\n<li>TWEAK: Smush \u2013 Add a cron job to run pending image compressions, ensuring completion of the process even if bulk image compression encounters interruptions or failures<\/li>\n<li>TWEAK: Clean up files on uninstall<\/li>\n<li>TWEAK: Added compatibility for <code>Custom Permalinks<\/code> plugin<\/li>\n<li>TWEAK: If minifying is enabled, then check that the purge cron event exists (not only upon plugin activation)<\/li>\n<li>REFACTOR: Premium \u2013 Unused Images \u2013 Separate classes for Beaver Builder, Estatik, and Yoast SEO plugins<\/li>\n<li>FIX: Premium \u2013 WP CLI commands permission issues solved<\/li>\n<\/ul>\n<h4>3.2.15 \u2013 09\/May\/2023<\/h4>\n<ul>\n<li>FEATURE: Premium \u2013 Cache \u2013 Added compatibility with the \u201cWooCommerce Multilingual &amp; Multicurrency\u201d plugin\u2019s multi-currency feature<\/li>\n<li>FIX: Premium \u2013 Above the folder elements should not be loaded lazily<\/li>\n<li>FIX: Prevents minify cache invalidation when asset version is changed but content is same<\/li>\n<li>FIX: Prevent PHP 8 uncaught exception <code>TypeError<\/code> when using CloudFlare<\/li>\n<li>FIX: Add logging destination UI<\/li>\n<li>FIX: Premium \u2013 Cache \u2013 Prevents a PHP fatal error that occurs when user cache is enabled on sites running on MariaDB with a version prefix of \u20185.5.5-\u2018 and PHP versions prior to 8.0<\/li>\n<li>FIX: Serving WebP images only to supported browsers wasn\u2019t working properly when page caching is enabled<\/li>\n<li>FIX: Minify \u2013 <code>inherit<\/code> Google fonts method is not working<\/li>\n<li>TWEAK: Prevent PHP deprecation notice when purging minify cache<\/li>\n<li>TWEAK: Cache \u2013 Prevent PHP warning when deleting cache<\/li>\n<li>TWEAK: Suppress PHP notice when cannot write to .htaccess file<\/li>\n<li>TWEAK: Add user capability check for smush task manager ajax handling method<\/li>\n<li>TWEAK: Minify \u2013 Do not send cache control and last modified headers if already present<\/li>\n<li>TWEAK: Smush \u2013 clean up log entries<\/li>\n<li>TWEAK: Correctly handle XX and T1 country codes in Cloudflare\u2019s IP country header<\/li>\n<li>REFACTOR: Separate classes for activation, deactivation and uninstall actions<\/li>\n<\/ul>\n<h4>3.2.14 \u2013 30\/Mar\/2023<\/h4>\n<ul>\n<li>FIX: Compatibility with WordPress 6.2 when using PHP 8.x<\/li>\n<li>FIX: Divi builder\u2019s edit mode when WebP serving is using the \u201calter HTML\u201d method<\/li>\n<li>FIX: Premium \u2013 Unused images feature \u2013 improve compatibility with Beaver Builder and its addons<\/li>\n<li>FIX: Cache \u2013 Page caching wasn\u2019t working on the IIS webserver<\/li>\n<li>TWEAK: Update seasonal notices<\/li>\n<li>TWEAK: Prevent deprecation notices in PHP 8.2+<\/li>\n<\/ul>\n<h4>3.2.13 \u2013 13\/Mar\/2023<\/h4>\n<ul>\n<li>FEATURE: WebP \u2013 Ability to convert to webp format from media library<\/li>\n<li>FIX: Prevent PHP warning when minify-log files are missing or corrupted, also added appropriate error message<\/li>\n<li>FIX: Delete webp files and uncompressed file when media is deleted<\/li>\n<li>FIX: Polylang compatibility \u2013 now upon updating any post, caches for all translated languages are cleared<\/li>\n<li>FIX: Prevent adding unsupported media types to the smush task list<\/li>\n<li>FIX: WebP \u2013 Unsupported formats throws a fatal error<\/li>\n<li>FIX: Compress image UI for webp images<\/li>\n<li>FIX: Premium \u2013 WebP Images are marked as unused images<\/li>\n<li>FIX: Resolved an issue where Beaver Builder\u2019s edit mode was not functioning properly when WebP conversion was enabled<\/li>\n<li>FIX: Prevent creating multiple cache directories for URLs that contain non-English characters<\/li>\n<li>TWEAK: Preload allowed time difference is set to be the same as max execution time<\/li>\n<li>TWEAK: Premium \u2013 Unused images feature \u2013 Add compatibility with Yoast SEO social images<\/li>\n<li>TWEAK: Prevent jQuery deprecation notices<\/li>\n<li>SECURITY: Fixed a non-persistent XSS vulnerability that could occur on certain servers when the WebP conversion option was enabled. This vulnerability could allow an attacker to execute arbitrary JavaScript code in the victim\u2019s browser by tricking them into clicking on a specially crafted link. Thanks to Paolo Elia for reporting this.<\/li>\n<\/ul>\n<h4>3.2.12 \u2013 06\/Feb\/2023<\/h4>\n<ul>\n<li>SECURITY: Today\u2019s 3.2.11 release (free version only \u2013 there was no 3.2.11 Premium release) checked nonces incorrectly, opening up the possibility of an attacker tricking an admin into clicking links crafted to perform unauthorised actions on the WP Optimize configuration on his site.<\/li>\n<\/ul>\n<h4>3.2.11 \u2013 06\/Feb\/2023<\/h4>\n<ul>\n<li>FIX: Empty query string updates cache<\/li>\n<li>FIX: Cache \u2013 Purge cache after string translation update in WPML<\/li>\n<li>FIX: Cache \u2013 Preload stuck and fails to complete<\/li>\n<li>FIX: Prevent PHP warning when <code>.htaccess<\/code> files don\u2019t have write permission<\/li>\n<li>FIX: Premium \u2013 Fixed compatibility issue with WP Hide plugin<\/li>\n<li>FIX: Minify \u2013 Less than 20KB stylesheets loading order<\/li>\n<li>TWEAK: Add cron event only if clear backup images is enabled<\/li>\n<li>TWEAK: Cache \u2013 Use WordPress GMT offset for cache comment<\/li>\n<li>TWEAK: Only allow image types that can be compressed<\/li>\n<li>TWEAK: Cached page is not served for sites that have own directory for WordPress files<\/li>\n<\/ul>\n<h4>3.2.10 \u2013 28\/Nov\/2022<\/h4>\n<ul>\n<li>FIX: Prevent php warning and increase SendInBlue <code>mailin<\/code> plugin compatibility<\/li>\n<li>FIX: Avoid screen juggling while selecting optimizations from dropdown in scheduled clean up<\/li>\n<li>FIX: Prevent cache purge upon deactivation using filter<\/li>\n<li>FIX: Cache purge ability of all registered user<\/li>\n<li>FIX: Recognise WooCommerce product category images as used images<\/li>\n<li>FIX: Multisite support in <code>cached-file-log.php<\/code> template<\/li>\n<li>TWEAK: Improve Optimization Schedule UI<\/li>\n<li>TWEAK: Consolidated error notices by the use of a global WPO notice object.<\/li>\n<li>TWEAK: Remove <code>Reset WebP serving method<\/code> button when there are no webp conversion tools<\/li>\n<li>TWEAK: Remove query strings from scripts<\/li>\n<li>TWEAK: Add <code>Restrict Content Pro<\/code> plugin slug to <code>plugin.json<\/code><\/li>\n<li>TWEAK: Add option to remove orphaned <code>user meta<\/code> data upon run optimization<\/li>\n<li>TWEAK: Add <code>no-cache<\/code> headers when minify is enabled and page caching is not<\/li>\n<li>TWEAK: Ability to remove <code>.htaccess<\/code> rules when gzip compression is not available<\/li>\n<li>TWEAK: WebP: Avoid PHP warnings when using hot linked images (Alter HTML method)<\/li>\n<li>TWEAK: WebP conversion is unavailable when php shell functions do not exist<\/li>\n<li>TWEAK: Improved UI settings for asynchronous loading and page speed testing exclusion tools<\/li>\n<li>TWEAK: Add a constant to enable\/disable webp feature<\/li>\n<li>TWEAK: Set a global context for $wp_file_descriptions context so that it gets assigned to correctly, preventing a subtle visual change in the theme editor<\/li>\n<li>TWEAK: Prevent php warning from <code>webp-convert<\/code> library<\/li>\n<li>TWEAK: Update currently-active installs number in thank you for installing notice.<\/li>\n<li>TWEAK: Replaced deprecated use of jQuery.change()<\/li>\n<\/ul>\n<h4>3.2.9 \u2013 06\/Sep\/2022<\/h4>\n<ul>\n<li>FEATURE: Import and export settings<\/li>\n<li>FIX: Avoid infinite loop while using unused images export csv<\/li>\n<li>FIX: Scheduled cache preloading issue<\/li>\n<li>FIX: WebP testing making unnecessary background HTTP checks<\/li>\n<li>FIX: Google fonts compatibility with The7 theme<\/li>\n<li>FIX: Prevent console error for undefined <code>wp_optimize<\/code> for smush scripts<\/li>\n<li>TWEAK: Avoid PHP warnings on cache cleanup<\/li>\n<li>FIX: Ability to disable webp serving while caching is on<\/li>\n<li>TWEAK: Reset webp conversion method flags daily using cron job<\/li>\n<li>TWEAK: Remove orphaned <code>wpo_weekly_cron_tasks<\/code> cron job upon uninstallation<\/li>\n<\/ul>\n<h4>3.2.8 \u2013 23\/Aug\/2022<\/h4>\n<ul>\n<li>FIX: Build system error led to a missing file in 3.2.7 which could cause an error when using related functions<\/li>\n<li>FIX: Fix incorrect function name in admin class<\/li>\n<\/ul>\n<h4>3.2.7 \u2013 15\/Aug\/2022<\/h4>\n<ul>\n<li>FEATURE: A CLI command for generating lists of unused images as a CSV file (Premium)<\/li>\n<li>FIX: The unused images CSV downloads have a few redundant images listed<\/li>\n<li>FIX: ACF block field images are listed as unused images<\/li>\n<li>FIX: Correctly recognize <code>inherit<\/code> in google fonts async loading<\/li>\n<li>FIX: Cache \u2013 Do not purge when <code>wp_update_nav_menu<\/code> is removed from <code>wpo_purge_cache_hooks<\/code> array<\/li>\n<li>TWEAK: Prevent PHP warnings when using <code>json_decode<\/code> result<\/li>\n<li>TWEAK: Create cache config file if not present because of site migration<\/li>\n<li>TWEAK: Update notice class<\/li>\n<li>TWEAK: Recognize WooCommerce scheduled sales and cache accordingly<\/li>\n<li>TWEAK: Prevent duplicate <code>wp-optimize<\/code> entry in tables optimization list<\/li>\n<li>TWEAK: Test htaccess capability only when needed by webp feature<\/li>\n<li>TWEAK: Increase compatibility with Aelia plugins<\/li>\n<\/ul>\n<h4>3.2.6 \u2013 15\/Jun\/2022<\/h4>\n<ul>\n<li>FIX: Incorrect static method calling causes parse Error in PHP 5.6.36<\/li>\n<li>FIX: WebP \u2013 Trailing slash file creation issue in PHP 8 <\/li>\n<li>FIX: PHP warning in cache rules file<\/li>\n<li>FIX: Asynchronous google fonts loaded twice<\/li>\n<li>TWEAK: Conditional Tags anchor tag fix<\/li>\n<\/ul>\n<h4>3.2.5 \u2013 03\/Jun\/2022<\/h4>\n<ul>\n<li>FIX: Fix a fatal error that could occur in 3.2.4 if settings had not been saved<\/li>\n<\/ul>\n<h4>3.2.4 \u2013 24\/May\/2022<\/h4>\n<ul>\n<li>FEATURE: Create a cron job to delete expired cache files<\/li>\n<li>FEATURE: WebP image format can be used to serve images<\/li>\n<li>FIX: Incorrect record count after importing<\/li>\n<li>FIX: Image smushing issues<\/li>\n<li>FIX: Problem with Redirect \u2013 Trailing Slash on URLs<\/li>\n<li>FIX: Unused images issue with ACF <code>repeater<\/code> and nested fields<\/li>\n<li>TWEAK: Added functionality for exclude caching based on conditional tags<\/li>\n<li>TWEAK: Update last optimized time for scheduled optimizations<\/li>\n<li>TWEAK: Cache \u2013 Prevent already header sent warnings while importing posts<\/li>\n<li>TWEAK: Improved UI for <code>actionscheduler_<\/code> tables<\/li>\n<li>TWEAK: Add filter to allow\/disallow <code>gz<\/code> file generation<\/li>\n<li>TWEAK: Show error message to user when WP_CACHE constant can\u2019t be removed from wp-config.php due to file permission issue.<\/li>\n<\/ul>\n<h4>3.2.3 \u2013 09\/Mar\/2022<\/h4>\n<ul>\n<li>FEATURE: Minify: Pre-generate assets<\/li>\n<li>FIX: Cache \u2013 \u2018Purge cache permissions\u2019 setting does not allow additional roles to access the purge cache tool<\/li>\n<li>TWEAK: Make smush details button work in media modal window<\/li>\n<li>TWEAK: Do not show overhead in red when the amount is small<\/li>\n<li>TWEAK: Avoid PHP Notices caused by \u201cupgrader_process_complete\u201d action<\/li>\n<li>TWEAK: Force monolog 2.3.* in order to avoid PHP 7.2+ dependency<\/li>\n<\/ul>\n<h4>3.2.2 \u2013 24\/Jan\/2022<\/h4>\n<ul>\n<li>FEATURE: Cache \u2013 Allow debugging of which cache file is chosen<\/li>\n<li>FEATURE: Premium \u2013 Cache \u2013 Serve cached content for logged in users, per role<\/li>\n<li>FIX: Premium \u2013 Unused Images \u2013 Fixed trashed images listing<\/li>\n<li>FIX: Image selection issue in compressed and unused image is fixed.<\/li>\n<li>FIX: ACF plugin compatibility issue with select2 JS library<\/li>\n<li>FIX: Premium \u2013 Unused Images \u2013 Multibyte characters in filename are not recognised correctly<\/li>\n<li>FIX: Table optimization displays wrong information about WP All Import plugin tables<\/li>\n<li>FIX: Potential PHP fatal error \u2013 Call to undefined function _wp_get_current_user()<\/li>\n<li>FIX: Minify \u2013 correctly minify multiple <code>calc<\/code> function in single property value<\/li>\n<li>FIX: SQL error when keeping post revisions and optimizing<\/li>\n<li>FIX: Cache \u2013 Prevent caching WordPress critical error page<\/li>\n<li>FIX: Minify \u2013 Google fonts merging issue when the same font is enqueued in both API V1 and V2<\/li>\n<li>FIX: Minify \u2013 Make <code>inherit<\/code> and <code>inline<\/code> settings work with Google fonts<\/li>\n<li>FIX: Database error upon plugin activation<\/li>\n<li>TWEAK: Minify \u2013 Show a notice if other minification plugins are installed and active<\/li>\n<li>TWEAK: Remove unused bundled JavaScript from minify library to avoid irrelevant scan results<\/li>\n<li>TWEAK: Image compression \u2013 Image compression stats include gains on image sizes<\/li>\n<li>TWEAK: Make sure that messages from WP_Error objects in gzip compression are displayed to users.<\/li>\n<li>TWEAK: Prevent PHP notice from WooCommerce deprecation<\/li>\n<li>TWEAK: Create <code>task<\/code> tables upon activation, if needed.<\/li>\n<li>TWEAK: Show error instead of success when table doesn\u2019t exist<\/li>\n<li>TWEAK: Update seasonal notices<\/li>\n<li>TWEAK: Prevent PHP fatal error in media list view, when images are makred as compressed<\/li>\n<li>TWEAK: Image edit window \u2013 Link does not go to image settings and more\/less link not working<\/li>\n<\/ul>\n<p><a target=\"_blank\" href=\"https:\/\/plugins.svn.wordpress.org\/wp-optimize\/trunk\/changelog.txt\" rel=\"nofollow ugc noopener\">See changelog for all versions<\/a>.<\/p>\n<\/div><\/div>\n<p><!-- .entry-content --><\/p>\n<p>\t<!-- .entry-meta --><br \/>\n<\/article>\n<p><br \/>\n<br \/><a href=\"https:\/\/wordpress.org\/plugins\/wp-optimize\/\" target=\"_blank\" rel=\"noopener\">Source link <\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>WP-Optimize \u2013 Cache, Compress images, Minify &amp; Clean database to boost page speed &amp; performance By David Anderson \/ Team Updraft Download Details Reviews Installation Development Support Description MORE THAN A CACHING PLUGIN WP-Optimize is trusted by more than 1 million WordPress website owners to boost performance and reduce page load times to improve your [&hellip;]<\/p>","protected":false},"author":370,"featured_media":5711,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"give_campaign_id":0,"footnotes":""},"categories":[1933,39,40],"tags":[2099,2227,3804,1979,3805,1978,2379,2000,1939,1963,3803],"class_list":["post-5710","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-community-plugin","category-lite-version","category-wp-plugin-solution","tag-boost","tag-cache","tag-clean","tag-compress","tag-database","tag-images","tag-minify","tag-page","tag-performance","tag-speed","tag-wpoptimize"],"acf":[],"fifu_image_url":"https:\/\/ps.w.org\/wp-optimize\/assets\/banner-772x250.png?rev=2125385","_links":{"self":[{"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/posts\/5710","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/users\/370"}],"replies":[{"embeddable":true,"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/comments?post=5710"}],"version-history":[{"count":0,"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/posts\/5710\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/media\/5711"}],"wp:attachment":[{"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/media?parent=5710"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/categories?post=5710"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/tags?post=5710"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}