PluginProbe
WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance / 3.3.1
WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance v3.3.1
4.7.0 4.6.1 4.6.0 4.5.5 4.5.4 4.5.3 4.5.2 3.2.20 3.2.21 3.2.22 3.2.3 3.2.5 3.2.6 3.2.7 3.2.9 3.3.0 3.3.1 3.3.2 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.7.0 3.7.1 All 111 releases
wp-optimize / readme.txt

readme.txt in WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance 3.3.1, at readme.txt

1,517 lines 94.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 === WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance ===
2 Contributors: DavidAnderson, ruhanirabin, DNutbourne, aporter, snightingale, lumberhack, webulous
3 Donate link: https://david.dw-perspective.org.uk/donate
4 Tags: cache, caching, image cache, minify, performance cache, page speed, image optimizer, compress images, optimize database, clean database
5 Requires PHP: 5.6
6 Requires at least: 4.5
7 Tested up to: 6.5
8 Stable tag: 3.3.1
9 License: GPLv2+
10 License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
12 Get caching and more with this powerful cache plugin. Cache, optimize images, clean your database and minify for maximum performance.
13
14 == Description ==
15
16 MORE THAN A CACHING PLUGIN
17
18 <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's <strong>user experiences</strong> and <strong>SERP rankings in Google.</strong>
19
20 [vimeo https://vimeo.com/333705073]
21
22 It does this in four clever ways:
23
24 <strong>1. It caches your site</strong>
25
26 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.
27
28 It's a sure-fire way to ensure web pages load at lightning-fast speed. Turn it on in just one click.
29
30 <strong>2. It compresses images</strong>
31
32 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.
33
34 <strong>3. It cleans the database</strong>
35
36 Your WordPress database stores everything that you need, plus some things that you don't. WP-Optimize cleans and optimizes the database to speed up your site and save server resources.
37
38 <strong>4. It minifies</strong>
39
40 On top of its three main features, WP-Optimize Cache also has the more advanced minification feature.
41
42 Together with caching, minification dramatically improves performance and page speed load time.
43
44 == 1. CACHE YOUR SITE ==
45
46 <strong>Turn on caching in just one click:</strong>
47
48 WP-Optimize automatically and optimally configures itself for your WordPress site. Turn it on in one-click or refine its settings if you prefer.
49
50 <strong>More cache features:</strong>
51
52 * <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.
53
54 * <strong>GZIP Compression:</strong> When the server isn't configured to do so, WP-Optimize delivers HTML, CSS and JS files to the user's browser as smaller, compressed files, reducing the size of pages and style sheets by up to 90%!
55
56 * <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>.
57
58 <strong>Use cache settings to:</strong>
59
60 * <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).
61
62 * <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).
63
64 * <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.
65
66 * <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>.
67
68 * <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>.
69
70 * <strong>Cache purging permissions:</strong> Select which user roles are allowed to purge the cache e.g. admin only or perhaps a 'teacher' role in an LMS setting only <strong>[Premium]</strong>.
71
72 == 2. COMPRESS IMAGES ==
73
74 * <strong>Lossy or lossless compression options:</strong> Choose between maximum space saving, best image quality or somewhere in-between.
75
76 * <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.
77
78 * <strong>Auto-compress:</strong> Check a box and every new image you upload will automatically be compressed to your preferred lossy / lossless settings.
79
80 * <strong>Bulk compression:</strong> Compress every existing image on your site with the press of a button.
81
82 * <strong>Restore original:</strong> Gone too far? Revert images back to their original in one click.
83
84 * <strong>Retain EXIF image data:</strong> Check a box to retain EXIF image data during compression.
85
86 * <strong>Lazy Load:</strong> Webpages load much faster by loading web parts gradually, when they're needed vs simultaneous loading of everything, all at once <strong>[Premium]</strong>.
87
88 * <strong>Delete orphaned images:</strong> Identify and delete unused images from your Wordpress website, saving disk space <strong>[Premium]</strong>.
89
90 * <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>.
91
92
93 == 3. CLEAN AND OPTIMIZE THE DATABASE ==
94
95 Cleans-up database tables, post revisions, auto draft posts, trashed posts, spam, trashed comments and more. Choose what to optimize or it's one click to clean out the lot.
96
97 * <strong>Schedule clean-ups:</strong> So you can set and forget. Choose from daily, weekly, fortnightly or monthly.
98
99 * <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>.
100
101 * <strong>Retain a set number of weeks' data during clean-ups:</strong> Just in case you need to retrieve something.
102
103 * <strong>Back up before clean-ups:</strong> If you delete something you shouldn't, restore it in a couple of clicks with UpdraftPlus.
104
105 * <strong>Power tweak - 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>.
106
107 * <strong>Power tweak - 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>.
108
109
110 == 4. MINIFY AND COMBINE HTML, CSS AND JAVASCRIPT ==
111
112 * <strong>Minify in just one click:</strong> Minifies HTML, JavaScript and CSS. Toggle on or off or customise each one under 'settings'.
113
114 * <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.
115
116 * <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.
117
118 * <strong>Exclude files from being minified:</strong> Specify CSS and JavaScript files to exclude from minification.
119
120 * <strong>Optimize fonts:</strong> Optimize Font Awesome and Google Fonts. Inline the font files, inherit from CSS settings or load CSS / Javascript asynchronously instead.
121
122 * <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.
123
124 * <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.
125
126
127 == WHY WP-OPTIMIZE? ==
128
129 * It's brought to you by UpdraftPlus, the team behind the world's most trusted backup, migration and restoration plugin.
130 * It's easy to use.
131 * It packs a punch for a free plugin.
132
133
134 WP-Optimize brings the best cache and optimization technology together into one single, seamless plugin to make your WordPress site fast, lean and efficient.
135
136 == PREMIUM FEATURES AT A GLANCE ==
137
138 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:
139
140 * <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.
141 * <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.
142 * <strong>Deleting unused and unwanted images:</strong> removes orphaned images from your WordPress site, plus images of a certain, pre-defined size.
143 * <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.
144 * <strong>Seamless Graphical User Interface:</strong> for superb clarity in scheduling and managing of multi-site optimizations.
145 * <strong>WP-CLI support:</strong> provides a way to manage optimizations from command-line interface if you have lots of sites
146 * <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.
147 * <strong>Optimization Preview:</strong> gives users the ability to preview, select and remove data and records available for optimization from the database.
148 * <strong>Preload key requests:</strong> preload assets such as web fonts and icon fonts, as recommended by Google PageSpeed Insights.
149 * <strong>Premium support</strong> - caching is one of the most complex things you can do for a website, so premium support offers you peace of mind there's someone to talk quickly to if you need any technical answers or help configuring the optimizations of cache settings for your website.
150
151 = Translations =
152
153 Translators are welcome to contribute to the plugin. Please use the [WordPress translation website](https://translate.wordpress.org/projects/wp-plugins/wp-optimize).
154
155 == Installation ==
156
157 There are 3 different ways to install WP-Optimize Cache, as with any other wordpress.org plugin.
158
159 = Using the WordPress dashboard =
160
161 1. Navigate to the 'Add New' in the plugins dashboard
162 2. Search for 'WP-Optimize'
163 3. Click 'Install Now'
164 4. Activate the plugin on the Plugin dashboard
165
166 = Uploading in WordPress Dashboard =
167
168 1. Download the latest version of this plugin from https://wordpress.org/plugins/wp-optimize/
169 2. Navigate to the 'Add New' in the plugins dashboard
170 3. Navigate to the 'Upload' area
171 4. Select the zip file (from step 1.) from your computer
172 5. Click 'Install Now'
173 6. Activate the plugin in the Plugin dashboard
174
175 = Using FTP =
176
177 1. Download the latest version of this plugin from https://wordpress.org/plugins/wp-optimize/
178 2. Unzip the zip file, which will extract the wp-optimize directory to your computer
179 3. Upload the wp-optimize directory to the /wp-content/plugins/ directory in your web space
180 4. Activate the plugin in the Plugin dashboard
181
182 == Frequently Asked Questions ==
183
184 = Isn't it better to use a dedicated caching plugin to cache my site? =
185
186 We've 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 href="https://ps.w.org/wp-optimize/assets/screenshot-1.png?rev=2125386">See these speed test results.</a>
187
188 = Is optimizing my database safe? =
189 Yes; optimizing does not involve any "tricks" or poking around in dangerous ways. It involves running routine clean-up operations using well-defined, common MySQL commands. <strong>Nevertheless, we always recommend backups</strong>, which cover every possibility; not just database malfunctions, but hackers, human errors, etc. We recommend <a href="https://wordpress.org/plugins/updraftplus/">UpdraftPlus</a>.
190
191 = What savings can I expect to make? =
192 This is a "how long is string?" sort of question. It depends completely on your site - how big it is, how many users interact on it, how long it has been running, and when you last optimised it. However, the savings and speed-ups can be substantial; it is always worth making sure that your database is optimised.
193
194 = How do I get support? =
195 In our support forum, here: https://wordpress.org/support/plugin/wp-optimize/
196
197 = How do I use WP-Optimize Database Cleaning? =
198 [vimeo https://vimeo.com/339511213]
199
200 = WP-Optimize does not make large savings on my database =
201 This is rare; it's probably because you're with a shared web hosting company that doesn't allow scripts to run an optimize command via SQL statements (SQL "OPTIMIZE" instruction). Please consult your web hosting company on this matter.
202
203 = Is the plugin tried and tested? =
204 Yes - WP-Optimize Cache is WordPress's #1 most-installed optimisation plugin, with over 800,000 users and a pedigree going back over 8 years.
205
206 = Does WP-Optimize support InnoDB tables? =
207 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.
208
209 = Can you help me restore my database? =
210 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 href="https://wordpress.org/plugins/updraftplus/">UpdraftPlus</a>.
211
212 = Are there any bugs in this plugin? =
213 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).
214
215 = How do I stop transient options from coming back automatically each time I clear them? =
216 When WordPress uses a particular transient, that specific transient is re-created automatically. So, it's normally for ones which are in active use to gradually re-appear. The best way to keep things optimal is to clear the transient options on a scheduled basis. For example, WordPress may create 50 transient option in a week. If you schedule WP-Optimize Cache to clear these options on a weekly basis, you'll have far fewer building up.
217
218 = The table size shows wrong / Not optimizing =
219 Please check your database for corrupted tables. That can happen, usually your web hosting company can run the repair command on the db.
220
221 = Which WordPress and PHP versions are supported? =
222 To use all features in the plugin, a minimum of version WordPress 4 with PHP 5.3 are required. But we do recommend to use the latest version of WordPress. Using PHP 7+ is also highly recommended, as our caching feature will work even faster.
223
224 = Which optimisation will make the biggest difference? =
225 This depends on your setup (theme, number and quality of plugins used, etc...), but generally, caching will make the biggest visible difference to your website's performance. Indeed, the cache functionality bypasses most of WordPress code to serve your pre-optimised cached pages directly to your visitor, significantly increasing the speed.
226
227 = What is caching, or page caching? =
228 <em>"Caching", from Wikipedia:</em> "In computing, a cache is a hardware or software component that stores data so that future requests for that data can be served faster; the data stored in a cache might be the result of an earlier computation or a copy of data stored elsewhere. A cache hit occurs when the requested data can be found in a cache, while a cache miss occurs when it cannot." — WP-Optimize cache does this by saving the page computed by WordPress on the disk. When a user visits a page, WP-Optimize will serve the cached page before WordPress is loaded. If the page wasn't cached before, it will be computed by WordPress, and WP-Optimize will then save the result to the cache.
229
230 = Why should I use a caching plugin on my website? =
231 You think your site is fast without caching? A caching plugin will make your website even faster. A faster cached website will increase SEO, it will improve your visitors experience. Caching will also save your server's resources.
232
233 = Is the WP-Optimize page cache compatible with Gutenberg and WordPress 5.0+? =
234 Yes, your Gutenberg pages will be cached, as well as those created with page builder plugins such as Elementor.
235
236 = How do I know my webpage is being cached (or why it isn't)? =
237 If cache is enabled, and in order to see if your page is cached, use the "View Source" function in your web browser to view the page source. To find caching information, scroll down to the bottom, and you should see a line added by the cache: `<!-- Cached by WP Optimize - https://getwpo.com - Last modified: Sat, 20 Jul 2019 21:17:19 GMT ->`
238 However, note that if you are using a further service that minifies HTML (e.g. Cloudflare), then this line may have been removed. Another method is to inspect the contents of the directory wpo-cache inside your wp-content directory. <a href="https://getwpo.com/faqs/how-do-i-know-my-webpage-is-being-cached/>Further information can be read here</a>
239 Also note that if you do not preload the cache, a page or post will have to be visited once for the cache file to be generated.
240
241 = How do I configure the page cache? =
242 Go to WP-Optimize -> Cache and enable caching. For most people, that will be enough. If you run an e-commerce, have a custom login page or any page that has dynamic content, you might want to exclude certain urls from the cache. See <a href="https://getwpo.com/documentation/">Advanced caching options</a> in our cache documentation to know more on excluding an URL from the cache.
243 [vimeo https://vimeo.com/337247770]
244
245 = Is the caching feature compatible with e-commerce plugins? =
246 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 `DONOTCACHEPAGE` to exclude sensitive pages from caching (e.g. my account, cart or checkout pages).
247
248 = Is the caching feature compatible with multilingual plugins? =
249 Yes, WP-Optimize works with popular multilingual plugins like WPML or Polylang. However, it's 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 `https://example.com/?lang=en`. Instead, it should be in a pretty permalink format, such as `https://example.com/en`.
250
251 = Do I need a special setup to use the caching feature? =
252 No, if WordPress works properly, WP-Optimize will be able to cache your pages and posts.
253
254 = Can I use the page caching feature together with another cache plugin? =
255 No, because both cache plugins would need to use the drop-in plugin `advanced-cache.php`. 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.
256
257 = Is WP-Optimize caching compatible with Cloudflare? =
258 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) – you can use both, or neither, and they will complement each other and not interfere. <br>Just one thing to note – Cloudflare will strip out the special HTML comment at the bottom of the source of a page that is helpful to confirm that page caching is working, so, don't be confused by that – it's absence doesn't indicate the cache is not working.
259
260 = Can I empty the cache automatically when performing a custom action? =
261 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 `wpo_cache_flush()`. If you want to clear the cache files for a specific page or post, use `WPO_Page_Cache::delete_single_post_cache($post_id);`. Those cache options are available after WP action `plugins_loaded`.
262
263 = Will the comments work even when page caching is enabled? =
264 Yes, when using WordPress' commenting system, your users will still be able to post comments. Every time a comment is approved, the cache for that page or post will be cleared, allowing the next visitor to see an up to date list of comments.
265
266 = What is "cache preloading"? =
267 Usually, a page is cached when a user visits it. So the first user visiting won't be served a cached version of the page, and will wait longer than the next users. The cache preloading functionality will go through all your pages and posts, and simulate a visit by a user, allowing WP-Optimize to cache the pages before anyone visits them. Your first visitor will thus be served a cached version of the page, increasing its performance.
268
269 = What frequency should I choose for the cache preloading schedule? =
270 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.
271 For example a site with hundreds of pages will require more resources to preload its cache. So choosing a high frequency will mean that the cache will be recreated often, and the resource usage will be higher.
272 On a website where updates aren't as frequent, you can even disable the cache preloading schedule, or set a high cache lifespan and set the cache preloading schedule to follow it.
273
274 = How do I cache only the home page? =
275 Add /.+ to the cache option "URLs to exclude from cache" on the advanced settings tab.
276
277 = How do I prevent WP-Optimize Cache from caching a certain page =
278 To prevent a page from being cached, you can add the URL to the field "URLs to exclude from cache" in the cache "Advanced settings" tab. If you are developing a plugin and want to prevent a page from being cached, you can define the "DONOTCACHEPAGE" constant on the pages you need. Any request where "DONOTCACHEPAGE" is defined will not be cached.
279
280 = Is the caching feature of WP-Optimize free? =
281 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.
282
283 = Where does WP-Optimize Cache store the cached files? =
284 The cached files are stored in the common "wp-content/cache" folder, inside a "wpo-cache" folder. Removing the "cache" folder will delete all of WP-Optimize's cache, as well as those from other plugins.
285 Deleting the "cache" folder is generally safe, as those cached files will be regenerated.
286
287 = How do I disable caching? =
288 Go to WP-Optimize settings > Cache and toggle the "Enable page caching" option to on/off.
289
290 = Will caching slow down my server? =
291 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.
292
293 = Can I make certain parts of the page stay dynamic when cache is enabled? =
294 The cached page is sent to the user before most of WordPress was loaded. The plugins aren't loaded yet, making it impossible for them to change the cached content at every request.
295 So at the moment if you want to keep parts of your page dynamic (e.g. adverts, widgets, shopping cart...) AND keep it cached, you will have to use custom solutions using javascript and AJAX to fetch those dynamic parts from the server.
296
297 = How do I delete the WP_CACHE define from wp-config.php? =
298 WP-Optimize Cache will remove the "WP_CACHE" constant from wp-config.php when you disable page caching, or when you deactivate the cache plugin. If you need to remove it manually, you can use FTP to edit wp-config.php and delete the line define ('WP_CACHE', true );
299 If 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.
300
301 = My filesystem is not writable to increase security. What do I need to do to make it compatible with the caching functionality? =
302 WP-Optimize caching feature needs write access to the 'wp-content/cache' folder, as this is where the cache files will be stored. It also needs to define the constant 'WP_CACHE' in 'wp-config.php', it will need access once to 'wp-content/advanced-cache.php', as well as to the folder 'wp-content/wpo-cache' to write the cache settings.
303
304 = How do I change file permissions? =
305 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/
306
307 = What is the maximum number of pages I can cache? =
308 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.
309 If you were to reach a caching limit, it probably means that your server is not fit for the size of your website and caching needs.
310
311 = How do I serve cached pages to people using a phone or tablet? =
312 You can generate a separate cache by selecting "Generate separate files for mobile devices" in the page cache settings. This cache setting is only necessary if you use a specific theme for mobile devices, or for certain AMP plugins.
313
314 = Does WP-Optimize Cache work with Nginx? =
315 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.
316
317 = Does caching work with Windows Server (IIS) ? =
318 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.
319
320 = Does the WP-Optimize page cache work with non-pretty (query parameter-based) permalinks? =
321 No. It's necessary to have pretty permalinks of the type http://xxxxx.com/my-post/ rather than http://xxxxx.com/?p=1234 for cache to work. Pretty permalinks are the WordPress default setting, and there is no good reason to turn them off, so you should not have a problem with this.
322 Note that cache will work with permalinks including /index.php/. It is only those based upon query parameters (?…) where cache won't work.
323
324 = When does WP-Optimize clear the page cache? =
325 * When you publish new content or update/edit existing content, the cache for that post/page will be cleared.
326 * Changing/updating current themes and parent themes (of child themes) will purge the cache.
327 * When turning off the cache feature in WP-Optimize
328
329 = Will pages in the WP admin dashboard be cached? =
330 No, WP dashboard pages are not cached. The cache functionality is only meant to cache frontend pages.
331
332 = What is cache lifespan? =
333 The cache lifespan is the time a cached file will be kept before being regenerated.
334 One of the main reason for setting a lifespan to your cache is that some plugins and themes use nonces, which are printed in the source code of the page (<a href="https://developer.wordpress.org/plugins/security/nonces/">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's cache feature on sites which use nonces.
335 An other reason is that you may want your pages to reflect some changes without having to clear the whole cache. Indeed if you have many pages and posts, you might not want to clear every cache file with every change, but rather set an interval at which they will expire and be regenerated.
336
337 = What value should the cache lifespan be? =
338 A lower cache lifespan value will result in more frequent cache update activity on your server, and thus more preload processes, if activated.
339 If your site does not use nonces, and your site's cache doesn't need to be updated often, you can set the cache lifespan to a high value or to 0 to give it an infinite lifespan.
340 The cache lifespan option is set to 10 hours by default, but you may go down to 8 or even less.
341 If you notice any issues due to high server load, set a higher interval for the preloader.
342
343 = Can WP-Optimize Cache minify JavaScript, CSS and HTML? =
344 Yes, the newly added Minify enables you to minify JavaScript and CSS. It also enables you to minify HTML.
345
346 = What is "Minify"? =
347 [vimeo https://vimeo.com/402556749]
348
349 = Why minify my WordPress site? =
350 WP-Optimize Cache's Minify feature is all about increasing the speed of your WordPress site for your users.
351 One 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.
352 Another 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.
353 You 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.
354
355 = What does "Reset the minified files" actually do? =
356 Pressing the "Reset the minified files" does:
357 * delete the temporary files used when generating the minified assets
358 * delete old minified files (more than 30 days old)
359 * add a folder for the new minified files, which will be generated when visiting a page
360 The previously minified CSS files will remain on the server until they expire, or until they're deleted using the button "Delete all the files generated by minify".
361
362 = Can I defer CSS and JavaScript using WP-Optimize Cache? =
363 Yes, the newly added minification feature (a.k.a. Minify) allows you to defer parsing of JavaScript and CSS.
364
365 = Google's 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? =
366 Leveraging the font-display CSS feature is currently possible when using Google Fonts. The default parameter is "swap", but can be changed using the WordPress filter "wpo_minify_gfont_display_type".
367
368 = When enabling minify, my site's layout is broken. How can I fix it? =
369 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's syntax.
370 You can check the CSS's syntax by using an online CSS syntax checker such as csslint.net.
371 If 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.
372 To exclude individual CSS files from the minification and merging process, you can go to WP-Optimize > Minify > CSS and go to the "Exclude the following CSS files from processing" section.
373
374 = When enabling minify, some functionality is broken. How can I fix it? =
375 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's syntax.
376 The first thing to try is to enable the setting "Contain each included file in its own block" in the JavaScript options (WP-Optimize > Minify > Javascript > JavaScript options). This could "catch" an error, and prevent the rest of the code to be broken.
377 If the first option didn't work, try disabling merging of JavaScript files.
378 If none of the above works, disable processing of JavaScript files in the minify settings, and <a href="https://wordpress.org/support/plugin/wp-optimize">open a support thread</a> with details about your issue. We'll do our best to help you troubleshoot the issue.
379
380 = How do I use the image optimisation feature? =
381 [vimeo https://vimeo.com/333938451]
382
383 == Screenshots ==
384
385 1. Cache - plugins comparison benchmark
386 2. Database optimization
387 3. UpdraftPlus running a backup before an optimization proceeds
388 4. Table Report
389 5. Image compression
390 6. Main cache screen
391 7. Settings
392 8. Real world tests show the cache feature alone can make your site faster than any other caching plugin
393 9. Features comparison
394
395
396 == Changelog ==
397
398 = 3.3.1 - 06/Mar/2024 =
399
400 * FIX: Cache - Compatibility issue with Jetpack's infinity scroll feature
401 * FIX: Cache - Don't cache activity stream (ActivityPub plugin compatibility)
402 * FIX: Cache - Page not cached comment is added to `robots.txt`
403 * TWEAK: Fix PHP warnings when server variables are not available
404 * TWEAK: Fix Unexpected response alert and PHP warning when cache preloading is triggered manually
405 * TWEAK: Migrate from setInterval to WP heartbeat API to refresh information about backend tasks
406 * TWEAK: Optimization of the WebP Implementation
407 * TWEAK: Update dashboard notice to include all of our plugins
408 * TWEAK: Update the footer review prompt
409
410 = 3.3.0 - 31/Jan/2024 =
411
412 * FEATURE: Premium - Ability to preload and purge caches from individual post/page
413 * FIX: Premium - Unused Images - Recognise Elementor's Container, and Section widget background images
414 * FIX: Avoid having repeated minified scripts in the same bundle, it breaks the code in some specific cases
415 * FIX: Cache - TranslatePress compatibility - Post updates purges cache for all related translated languages
416 * FIX: Only try to parse canonical URLs if there is a path or querystring, needed for WPML with multi-domain compatibility
417 * TWEAK: Add cron de-scheduling of all wpo_* events during plugin uninstall
418 * TWEAK: Cache - Always add source code comment about page not being cached, but only add details when WP_DEBUG is ON
419 * TWEAK: Cache - Fix issue with excluding encoded (non-latin) URLs
420 * TWEAK: Do not attempt to close browser connection when the context is not an AJAX action
421 * TWEAK: Minify - Logging more information about why minify static assets cache gets invalidated and regenerated
422 * TWEAK: Revert to the original `matthiasmullie/minify` repository after confirming resolution of previous issues
423 * TWEAK: Setup Cron job to clear failed smush tasks from DB
424 * TWEAK: Using clear text user agent strings instead of regular expressions to identify web browsers for improved clarity
425 * TWEAK: Updater library in the Premium version updated to the current release series
426
427 = 3.2.22 - 23/Nov/2023 =
428
429 * TWEAK: Cache - Show a notice in the admin if the config file is missing and caching is enabled
430 * TWEAK: Added support for new emoji styles related hooks introduced in WordPress 6.4
431 * TWEAK: Database - Fix "Optimize database tables" stuck loading state
432 * TWEAK: Premium - Cache - Style improvement for the select2 box from advanced cache settings
433 * TWEAK: Premium - Images - Fix issues with avif images in the unused images feature
434 * REFACTOR: Wrapping most of the external links in the WPO settings pages with the appropriate function
435 * REFACTOR: Remove unused code
436
437 = 3.2.21 - 18/Oct/2023 =
438 * FIX: Prevent PHP fatal error when updating from older versions of WP-Optimize
439
440 = 3.2.20 - 16/Oct/2023 =
441
442 * FIX: WebP - Performance issue because of possible infinite loop
443 * FIX: Cache purging occurred prior to the cache lifespan expiration
444 * FIX: Premium - Smush - Do not consider images in trashed posts as unused
445 * TWEAK - Remove extra slash from plugin asset urls and paths
446 * TWEAK: Image - Add a tooltip next to the restore button on the edit media screen
447 * TWEAK: Premium - Prevent PHP deprecated warning when generating variations from attributes for new WooCommerce variable products
448 * TWEAK: Premium - Purge cache when the `Variation Swatches for WooCommerce` plugin settings get updated
449 * TWEAK: Premium - Settings - Style improvement for the `Purge cache permissions` select2 box
450 * TWEAK: Recognise LearnDash plugin tables in database optimization
451 * TWEAK: Remove empty `uploads/.htaccess` file and remaining cron events
452 * TWEAK: Smush - Disable server info in smush logs by default
453 * TWEAK: Smush - Resolve double log entries when compressing a single image from the media library metabox
454 * TWEAK: Prevent unwanted PHP notice upon update
455
456 = 3.2.19 - 15/Sep/2023 =
457
458 * FIX: Cache - Relevant caches are now purged upon updating homepage display settings and posts per page settings
459 * FIX: Minify - Multiline content inside textareas break after exporting and importing settings
460 * FIX: Smush - Images are not compressed with default (image quality = 100) settings
461 * FIX: Premium - Cache - Caching stops working when WordPress salt keys contain backslash (\) character
462 * FIX: Premium - User per role cache not working when tables do not have `wp` prefix
463 * FIX: Premium - When lazy loading is enabled, the picture tag in initial viewport is not visible
464 * TWEAK: Fixed date format and timezone in the cache last modification comment according to the site configuration
465 * TWEAK: Fixed spelling errors in the repository
466 * TWEAK: Minify - The process of purging cache for 3rd party caching solutions now works properly when multiple other solutions are present
467 * TWEAK: Premium - Lazy load - Added Jetpack, Optimole, Rocket Lazy Load, and Smush (WPMU Dev) plugins to the incompatibility notice
468 * TWEAK: Prevent PHP warning upon installing themes from the WordPress repository
469 * TWEAK: Update the composer package yahnis-elsts/plugin-update-checker for PHP 8.2 compatibility
470
471 = 3.2.18 - 11/Aug/2023 =
472
473 * FIX: A bug in the v3.2.17 release that caused certain database optimization buttons to be disabled has been fixed
474 * TWEAK: Reset WebP serving method upon updating to version 3.2.18
475
476 = 3.2.17 - 08/Aug/2023 =
477
478 * FIX: Automatically compress newly-added images feature now works on multisite in case of attachment ID is the same in both sites
479 * FIX: Minify - No separate try-catch blocks for same handle
480 * FIX: Premium - Unused Images - Recognise Elementor Carousel, Slides, Flip Box, and Site logo widget images
481 * FIX: Premium - Prevent memory exhausted PHP fatal error when using unused images feature with Elementor
482 * TWEAK: External links will open in new tab/window
483 * TWEAK: Remove `htaccess-capability-tester` dependency
484 * TWEAK: Remove residue folders in `uploads/wpo`
485
486 = 3.2.16 - 06/Jul/2023 =
487
488 * FIX: HTML minify should not remove `title` tag added by AIOSEO
489 * FIX: Premium - Fetching unused images data is incorrect when previous task queue is not properly unlocked
490 * FIX: Premium - Unused Images - Recognise Elementor background images
491 * TWEAK: Premium - Prevent conflicts between the minify feature and the `YITH Point of Sale for WooCommerce` plugin
492 * TWEAK: Premium - Compatibility issue with Smart Slider 3
493 * TWEAK: Suppress PHP warnings caused by WebP converter
494 * TWEAK: Database optimization - Prevent duplicate AJAX requests, minor code improvements
495 * TWEAK: Smush - Add a cron job to run pending image compressions, ensuring completion of the process even if bulk image compression encounters interruptions or failures
496 * TWEAK: Clean up files on uninstall
497 * TWEAK: Added compatibility for `Custom Permalinks` plugin
498 * TWEAK: If minifying is enabled, then check that the purge cron event exists (not only upon plugin activation)
499 * REFACTOR: Premium - Unused Images - Separate classes for Beaver Builder, Estatik, and Yoast SEO plugins
500 * FIX: Premium - WP CLI commands permission issues solved
501
502 = 3.2.15 - 09/May/2023 =
503
504 * FEATURE: Premium - Cache - Added compatibility with the "WooCommerce Multilingual & Multicurrency" plugin's multi-currency feature
505 * FIX: Premium - Above the folder elements should not be loaded lazily
506 * FIX: Prevents minify cache invalidation when asset version is changed but content is same
507 * FIX: Prevent PHP 8 uncaught exception `TypeError` when using CloudFlare
508 * FIX: Add logging destination UI
509 * FIX: Premium - Cache - Prevents a PHP fatal error that occurs when user cache is enabled on sites running on MariaDB with a version prefix of '5.5.5-' and PHP versions prior to 8.0
510 * FIX: Serving WebP images only to supported browsers wasn't working properly when page caching is enabled
511 * FIX: Minify - `inherit` Google fonts method is not working
512 * TWEAK: Prevent PHP deprecation notice when purging minify cache
513 * TWEAK: Cache - Prevent PHP warning when deleting cache
514 * TWEAK: Suppress PHP notice when cannot write to .htaccess file
515 * TWEAK: Add user capability check for smush task manager ajax handling method
516 * TWEAK: Minify - Do not send cache control and last modified headers if already present
517 * TWEAK: Smush - clean up log entries
518 * TWEAK: Correctly handle XX and T1 country codes in Cloudflare's IP country header
519 * REFACTOR: Separate classes for activation, deactivation and uninstall actions
520
521 = 3.2.14 - 30/Mar/2023 =
522
523 * FIX: Compatibility with WordPress 6.2 when using PHP 8.x
524 * FIX: Divi builder's edit mode when WebP serving is using the "alter HTML" method
525 * FIX: Premium - Unused images feature - improve compatibility with Beaver Builder and its addons
526 * FIX: Cache - Page caching wasn't working on the IIS webserver
527 * TWEAK: Update seasonal notices
528 * TWEAK: Prevent deprecation notices in PHP 8.2+
529
530 = 3.2.13 - 13/Mar/2023 =
531
532 * FEATURE: WebP - Ability to convert to webp format from media library
533 * FIX: Prevent PHP warning when minify-log files are missing or corrupted, also added appropriate error message
534 * FIX: Delete webp files and uncompressed file when media is deleted
535 * FIX: Polylang compatibility - now upon updating any post, caches for all translated languages are cleared
536 * FIX: Prevent adding unsupported media types to the smush task list
537 * FIX: WebP - Unsupported formats throws a fatal error
538 * FIX: Compress image UI for webp images
539 * FIX: Premium - WebP Images are marked as unused images
540 * FIX: Resolved an issue where Beaver Builder's edit mode was not functioning properly when WebP conversion was enabled
541 * FIX: Prevent creating multiple cache directories for URLs that contain non-English characters
542 * TWEAK: Preload allowed time difference is set to be the same as max execution time
543 * TWEAK: Premium - Unused images feature - Add compatibility with Yoast SEO social images
544 * TWEAK: Prevent jQuery deprecation notices
545 * 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's browser by tricking them into clicking on a specially crafted link. Thanks to Paolo Elia for reporting this.
546
547 = 3.2.12 - 06/Feb/2023 =
548
549 * SECURITY: Today's 3.2.11 release (free version only - 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.
550
551 = 3.2.11 - 06/Feb/2023 =
552
553 * FIX: Empty query string updates cache
554 * FIX: Cache - Purge cache after string translation update in WPML
555 * FIX: Cache - Preload stuck and fails to complete
556 * FIX: Prevent PHP warning when `.htaccess` files don't have write permission
557 * FIX: Premium – Fixed compatibility issue with WP Hide plugin
558 * FIX: Minify - Less than 20KB stylesheets loading order
559 * TWEAK: Add cron event only if clear backup images is enabled
560 * TWEAK: Cache - Use WordPress GMT offset for cache comment
561 * TWEAK: Only allow image types that can be compressed
562 * TWEAK: Cached page is not served for sites that have own directory for WordPress files
563
564 = 3.2.10 - 28/Nov/2022 =
565
566 * FIX: Prevent php warning and increase SendInBlue `mailin` plugin compatibility
567 * FIX: Avoid screen juggling while selecting optimizations from dropdown in scheduled clean up
568 * FIX: Prevent cache purge upon deactivation using filter
569 * FIX: Cache purge ability of all registered user
570 * FIX: Recognise WooCommerce product category images as used images
571 * FIX: Multisite support in `cached-file-log.php` template
572 * TWEAK: Improve Optimization Schedule UI
573 * TWEAK: Consolidated error notices by the use of a global WPO notice object.
574 * TWEAK: Remove `Reset WebP serving method` button when there are no webp conversion tools
575 * TWEAK: Remove query strings from scripts
576 * TWEAK: Add `Restrict Content Pro` plugin slug to `plugin.json`
577 * TWEAK: Add option to remove orphaned `user meta` data upon run optimization
578 * TWEAK: Add `no-cache` headers when minify is enabled and page caching is not
579 * TWEAK: Ability to remove `.htaccess` rules when gzip compression is not available
580 * TWEAK: WebP: Avoid PHP warnings when using hot linked images (Alter HTML method)
581 * TWEAK: WebP conversion is unavailable when php shell functions do not exist
582 * TWEAK: Improved UI settings for asynchronous loading and page speed testing exclusion tools
583 * TWEAK: Add a constant to enable/disable webp feature
584 * 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
585 * TWEAK: Prevent php warning from `webp-convert` library
586 * TWEAK: Update currently-active installs number in thank you for installing notice.
587 * TWEAK: Replaced deprecated use of jQuery.change()
588
589 = 3.2.9 - 06/Sep/2022 =
590
591 * FEATURE: Import and export settings
592 * FIX: Avoid infinite loop while using unused images export csv
593 * FIX: Scheduled cache preloading issue
594 * FIX: WebP testing making unnecessary background HTTP checks
595 * FIX: Google fonts compatibility with The7 theme
596 * FIX: Prevent console error for undefined `wp_optimize` for smush scripts
597 * TWEAK: Avoid PHP warnings on cache cleanup
598 * FIX: Ability to disable webp serving while caching is on
599 * TWEAK: Reset webp conversion method flags daily using cron job
600 * TWEAK: Remove orphaned `wpo_weekly_cron_tasks` cron job upon uninstallation
601
602 = 3.2.8 - 23/Aug/2022 =
603
604 * FIX: Build system error led to a missing file in 3.2.7 which could cause an error when using related functions
605 * FIX: Fix incorrect function name in admin class
606
607 = 3.2.7 - 15/Aug/2022 =
608
609 * FEATURE: A CLI command for generating lists of unused images as a CSV file (Premium)
610 * FIX: The unused images CSV downloads have a few redundant images listed
611 * FIX: ACF block field images are listed as unused images
612 * FIX: Correctly recognize `inherit` in google fonts async loading
613 * FIX: Cache - Do not purge when `wp_update_nav_menu` is removed from `wpo_purge_cache_hooks` array
614 * TWEAK: Prevent PHP warnings when using `json_decode` result
615 * TWEAK: Create cache config file if not present because of site migration
616 * TWEAK: Update notice class
617 * TWEAK: Recognize WooCommerce scheduled sales and cache accordingly
618 * TWEAK: Prevent duplicate `wp-optimize` entry in tables optimization list
619 * TWEAK: Test htaccess capability only when needed by webp feature
620 * TWEAK: Increase compatibility with Aelia plugins
621
622 = 3.2.6 - 15/Jun/2022 =
623
624 * FIX: Incorrect static method calling causes parse Error in PHP 5.6.36
625 * FIX: WebP - Trailing slash file creation issue in PHP 8
626 * FIX: PHP warning in cache rules file
627 * FIX: Asynchronous google fonts loaded twice
628 * TWEAK: Conditional Tags anchor tag fix
629
630 = 3.2.5 - 03/Jun/2022 =
631
632 * FIX: Fix a fatal error that could occur in 3.2.4 if settings had not been saved
633
634 = 3.2.4 - 24/May/2022 =
635
636 * FEATURE: Create a cron job to delete expired cache files
637 * FEATURE: WebP image format can be used to serve images
638 * FIX: Incorrect record count after importing
639 * FIX: Image smushing issues
640 * FIX: Problem with Redirect – Trailing Slash on URLs
641 * FIX: Unused images issue with ACF `repeater` and nested fields
642 * TWEAK: Added functionality for exclude caching based on conditional tags
643 * TWEAK: Update last optimized time for scheduled optimizations
644 * TWEAK: Cache - Prevent already header sent warnings while importing posts
645 * TWEAK: Improved UI for `actionscheduler_` tables
646 * TWEAK: Add filter to allow/disallow `gz` file generation
647 * TWEAK: Show error message to user when WP_CACHE constant can't be removed from wp-config.php due to file permission issue.
648
649 = 3.2.3 - 09/Mar/2022 =
650
651 * FEATURE: Minify: Pre-generate assets
652 * FIX: Cache - 'Purge cache permissions' setting does not allow additional roles to access the purge cache tool
653 * TWEAK: Make smush details button work in media modal window
654 * TWEAK: Do not show overhead in red when the amount is small
655 * TWEAK: Avoid PHP Notices caused by "upgrader_process_complete" action
656 * TWEAK: Force monolog 2.3.* in order to avoid PHP 7.2+ dependency
657
658 = 3.2.2 - 24/Jan/2022 =
659
660 * FEATURE: Cache - Allow debugging of which cache file is chosen
661 * FEATURE: Premium - Cache - Serve cached content for logged in users, per role
662 * FIX: Premium - Unused Images - Fixed trashed images listing
663 * FIX: Image selection issue in compressed and unused image is fixed.
664 * FIX: ACF plugin compatibility issue with select2 JS library
665 * FIX: Premium - Unused Images - Multibyte characters in filename are not recognised correctly
666 * FIX: Table optimization displays wrong information about WP All Import plugin tables
667 * FIX: Potential PHP fatal error - Call to undefined function _wp_get_current_user()
668 * FIX: Minify - correctly minify multiple `calc` function in single property value
669 * FIX: SQL error when keeping post revisions and optimizing
670 * FIX: Cache - Prevent caching WordPress critical error page
671 * FIX: Minify - Google fonts merging issue when the same font is enqueued in both API V1 and V2
672 * FIX: Minify - Make `inherit` and `inline` settings work with Google fonts
673 * FIX: Database error upon plugin activation
674 * TWEAK: Minify - Show a notice if other minification plugins are installed and active
675 * TWEAK: Remove unused bundled JavaScript from minify library to avoid irrelevant scan results
676 * TWEAK: Image compression - Image compression stats include gains on image sizes
677 * TWEAK: Make sure that messages from WP_Error objects in gzip compression are displayed to users.
678 * TWEAK: Prevent PHP notice from WooCommerce deprecation
679 * TWEAK: Create `task` tables upon activation, if needed.
680 * TWEAK: Show error instead of success when table doesn't exist
681 * TWEAK: Update seasonal notices
682 * TWEAK: Prevent PHP fatal error in media list view, when images are makred as compressed
683 * TWEAK: Image edit window - Link does not go to image settings and more/less link not working
684
685 = 3.2.1 - 29/Nov/2021 =
686
687 * FIX: Apply different image compression levels
688 * FIX: Cache - Purge WooCommerce product page after stock update
689 * FIX: Database errors after adding a new site
690 * FIX: Flatsome theme compatibility with google fonts
691 * FIX: Image compression advanced settings, display default backup days instead of empty value.
692 * FIX: Image compression was not working when the image extension used capital letters
693 * FIX: Premium - Cache - Potential PHP error in User-specific cache
694 * FIX: Premium - resolve potential admin-area PHP error if the deprecated mailchimp sync plugin and MC4WP plugin are both active (and potentially other situations where a plugin deactivates another)
695 * FIX: Premium - Unused images - compatibility with PHP 8
696 * FIX: Premium - Unused images - issue with parenthesis in name
697 * FIX: Premium - Unused images - Pagination count doesn't update
698 * FIX: Prevent a PHP notice when using with UpdraftCentral
699 * FIX: Save prioritize maximum compression setting correctly
700 * FIX: Wrong redirect when wiping settings on multisite
701 * TWEAK: Premium - add review link at bottom of settings
702 * TWEAK: Force monolog/monolog and psr/log versions to retain PHP 5.X compatibility/satisfy wordpress.org SVN hooks
703 * TWEAK: Add compatibility with Kinsta
704 * TWEAK: Added functionality for to convert MyISAM to InnoDB
705 * TWEAK: Add filters for minify input string
706 * TWEAK: Cache - Added filter to modify cache exception urls
707 * TWEAK: Cache - Optimize preload from sitemap
708 * TWEAK: Cache - Serve different versions based on cookie consent
709 * TWEAK: changed filter to prevent deprecation notice in php 8.1+
710 * TWEAK: Decide automatically whether to inline css or not based on file size
711 * TWEAK: Fix typo in text domain name
712 * TWEAK: get_hurl function minified.
713 * TWEAK: Improve clarity of debug message when DONOTCACHEPAGE constant is used
714 * TWEAK: Improve DB UI/UX on multisite
715 * TWEAK: Improve minify cache size messages
716 * TWEAK: Making Estatik plugin compatible
717 * TWEAK: Minify - Add JS translations support
718 * TWEAK: Minify HTML only on cache pre-loading
719 * TWEAK: Port from previous semaphore classes to Updraft_Semaphore_3_0
720 * TWEAK: Premium - Unused images - Show that there are images in the trash without having to re-scan everything
721 * TWEAK: Prevent a PHP notice when downloading image compression log file. Fix backup modal styling issue.
722 * TWEAK: Prevent fatal error in gzip settings when stylesheet could not be fetched
723 * TWEAK: Short-circuit trivial case of nothing in the buffer when page-caching, to involve any possible other issues
724 * TWEAK: Update comments count after trackbacks and pingbacks deletion
725 * TWEAK: Update minified asset when the enqueued scripts and styles version change
726 * TWEAK: Use proper constant of includes path in user cache extension
727 * TWEAK: Fix path to `wpo-plugins-tables-list.json` in robots.txt
728
729 = 3.1.12 - 12/Jul/2021 =
730
731 * FEATURE: Ability to defer js files and asynchronously load css files
732 * FEATURE: Option to not aggregate inline styles and scripts
733 * FIX: Always purge this cache HTML issue
734 * FIX: Cache - Enable cache for subfolders and multisite installation with the permalink structure example.com/index.php/a-post-name
735 * FIX: PHP 8 Issue: Minify and Merge Error
736 * FIX: Silent failure of page caching if plugin location not found
737 * TWEAK: Added Update URI header field to avoid accidentally being overwritten with an update of a plugin of a similar name from the WordPress.org Plugin Directory.
738 * TWEAK: Delay displaying notices for 2 weeks
739 * TWEAK: Improve label of when saving a media type in always purge this
740 * TWEAK: Improve query for EWWW IO history
741 * TWEAK: Prevent a PHP notice if using WP-Optimize and MetaSlider on the same site.
742 * TWEAK: Prevent PHP warnings from theme update and google font minify
743 * TWEAK: Skip HTML minification if the total size is > 1MB (takes too long to be worthwhile)
744 * TWEAK: Updating custom compression slider values
745
746 = 3.1.11 - 08/Jun/2021 =
747
748 * FIX: Cache - Don't cache pages for logged-in users when 'Serve cached pages to logged in users' option (new in 3.1.10) is enabled
749
750 = 3.1.10 - 26/May/2021 =
751
752 * FEATURE: Premium - Cache - User-specific cache. Useful for subscription websites, and websites where tailored content is offered to logged-in users.
753 * FEATURE: Page cache now also caches RSS feeds
754 * FEATURE: Ability to exclude files from minify process
755 * TWEAK: Prevent PHP warning when deactivating Minify and the cache folder does not exist anymore
756 * TWEAK: Premium - Lazy-load - Possibility to disable Lazy load on specific pages
757 * TWEAK: Do not enqueue deleted script
758 * FIX: Minify - Some pattern CSS import statements broke site
759 * FIX: Minify - Events triggering
760 * FIX: Google Fonts regression in 3.1.9
761
762 = 3.1.9 - 29/Apr/2021 =
763
764 * FEATURE: Power Tweak - Change meta_key field length and create new index
765 * FEATURE: Premium - Automatic Backups using UpdraftPlus during scheduled optimizations
766 * FEATURE: Keep last X revisions
767 * FIX: Overlapping header notice in mobile view
768 * FIX: Cache - Wildcard not working in cache exclusions
769 * FIX: Prevent error in htaccess when mod_header isn't available
770 * FIX: PHP Fatal error on deleting plugin
771 * FIX: PHP 8 Issue: loadAsync JS error
772 * FIX: RankMath breaks robots.txt
773 * TWEAK: Bypass minify when editing translations using TranslatePress
774 * TWEAK: Purge minify cache from front end
775 * TWEAK: Minify - Prevent cache directory creation while disabled
776 * TWEAK: Add Google Fonts API version 2 support
777 * TWEAK: Minify - Save all tab content settings changes with single Click
778 * TWEAK: Improved optimization preview
779 * TWEAK: Filter the list of preloaded URLs
780 * FEATURE: Premium - Cache - Always purge this page
781 * TWEAK: Update seasonal notices
782 * TWEAK: Bump WP version requirement to 4.5+
783
784 = 3.1.8 - 12/Mar/2021 =
785
786 * FIX: Cache - Warning failed to open dir
787 * FIX: Premium - Unused images - Fixed issue with images including a size suffix similar to WP sizes
788 * FIX: Display optimization data based on retention period
789 * FIX: Scheduled cleanup settings - Invalid date selection
790 * TWEAK: Premium - Separate table optimisations per sub-site
791 * TWEAK: Premium - Unused images - Add compatibility with the Envira Gallery plugin
792 * TWEAK: Page caching: add support for Avada
793 * TWEAK: Add visual clue when image compression was cancelled
794 * TWEAK: Image compression - multi image selection using Ctrl/Shift keys
795 * TWEAK: Premium - Unused images - Reset last clicked image reference when `select none` is clicked
796 * FIX: Premium - Unused images - Pagination not working in the trash
797 * TWEAK: Prevent bots from indexing plugins list json file
798 * TWEAK: Minify - Added a setting to change the time stale cache should be kept
799 * TWEAK: Better support for Beaver Builder
800 * TWEAK: Prevent PHP warning when reading a file's size
801 * TWEAK: Cache - Purge the blog page when updating a post
802 * TWEAK: Cache - Purge next and previous posts on post update
803 * TWEAK: Cache - Purge sitemap files on post update
804
805 = 3.1.7 - 12/Feb/2021 =
806
807 * FEATURE: Premium - Preload key requests (Preload fonts and other assets)
808 * FIX: Detecting Brotli compression issue
809 * FIX: Cache - PHP Warning in URLs to exclude from caching
810 * FIX: Premium - Unused images - Unused Images Tool not recognising Greek characters
811 * FIX: Button for disabling Gzip doesn't showing
812 * TWEAK: Database optimization - Prevent fatal error due to files missing
813 * TWEAK: Skip minify when SCRIPT_DEBUG is set to true
814 * TWEAK: Fixed Font-awesome settings
815 * TWEAK: Add support for different spellings of "Font-awesome"
816 * TWEAK: Update the feature comparison table
817 * TWEAK: Added the option to not show the warning before deleting a table
818 * TWEAK: Wipe all options upon plugin de-installation
819 * TWEAK: Premium - Lazy-load - Lazy load support for background images
820 * TWEAK: Minify - Add file size in the minify cache summary
821 * TWEAK: Detect conflicting plugins for GZIP issue
822 * TWEAK: Database optimization - Include all tables if database prefix is not set on WP install
823 * TWEAK: Premium - Unused images - added "X of X images loaded" for unused trash images
824 * TWEAK: Don't allow to remove actionscheduler_* tables
825 * TWEAK: Premium - Unused images - Show a progression screen when doing any action with unused images
826 * TWEAK: Cache - Enable cache for the old default permalink structure `domain.com/index.php/a-post-name` by creating a folder without the extension
827 * TWEAK: Show previous action as message on Trackbacks or Comments enable or disable.
828 * TWEAK: Prevent deprecation notice on PHP 8.0
829 * TWEAK: Update notices
830
831 = 3.1.6 - 17/Dec/2020 =
832
833 * FIX: Fix wrong class name
834
835 = 3.1.5 - 17/Dec/2020 =
836
837 * FEATURE: Introduction of Power tweaks (premium feature)
838 * FEATURE: Power tweak - replace WooCommerce "Get total spent" query by a faster one
839 * FIX: CloudFlare not detected on gzip and browser caching tabs
840 * FIX: Cloudflare caching issue
841 * FIX: Premium - Unused images - Download CSV warning
842 * FIX: PHP 8 compatibility issue WP_Optimize_Browser_Cache->prepare_interval()
843 * TWEAK: Upgrade jQuery code to deal with deprecations with the latest bundled version
844 * TWEAK: Fix wrong usage of wp_localize_script to prevent warnings in PHP 8
845 * TWEAK: Premium - Unused images - Update the data when moving images to the trash / deleting instead of doing a hard refresh
846 * TWEAK: Change how default exclusions are handled
847 * TWEAK: Now that PHP 8.0 has been released, bump minimum PHP version requirement from PHP 5.4 to 5.6.
848 * TWEAK: Delete WP-O's .htaccess rules at deactivation
849 * TWEAK: Premium - Unused images - Separate unused images and unused image sizes processes
850 * TWEAK: Update jQuery document ready style to the one not deprecated in jQuery 3.0
851 * TWEAK: Minify CSS - Possibility to toggle the google fonts `display=swap` parameter from the UI.
852 * TWEAK: Fix small UI issues
853 * TWEAK: Clean up all cron events when deactivating the plugin
854 * TWEAK: Premium - Possibility to set permissions for purging page cache and minify files.
855 * TWEAK: Bypass minify when editing a post using the Brizy editor
856 * TWEAK: Renamed UpdraftCentral's command classes filter
857 * TWEAK: Bump WP version requirement to 4.4+, and PHP version requirement to 5.4+
858 * TWEAK: Purge caches when updating a plugin / theme (also when updating using a ZIP archive)
859 * TWEAK: Improve the admin bar "cache" menu
860 * TWEAK: Show information about Cloudflare support
861 * TWEAK: Database optimization - Resume optimizing when a timeout occurs
862 * TWEAK: Remove redundant code
863 * TWEAK: Cache feature - Do not cache pages with fatal errors
864 * TWEAK: Cache feature - Do not cache RSS feeds
865 * TWEAK: Page caching - Prevent adding the "comment cookie" when ordering on WooCommerce
866
867 = 3.1.4 - 15/Sep/2020 =
868
869 * FIX: Prevent fatal error when updating
870
871 = 3.1.3 - 15/Sep/2020 =
872
873 * TWEAK: Added Oasis Workflow Pro tables to the list
874 * FIX: Unused images - restore from trash UI issue
875 * FIX: Premium - Unused images - Images trash works on multisite
876 * TWEAK: Prevent GLOB_BRACE warning on systems not supporting it
877 * TWEAK: Minify - Reset minified files when saving an Elementor page or post
878 * TWEAK: Minify - Purge cached assets when UpdraftCentral was updated.
879 * TWEAK: Minify - Enable users to defer all JavaScript, including the merged and minified assets
880 * TWEAK: Minify - Improve general compatibility with The Events Calendar and other plugins
881 * TWEAK: Image compression - prevent database warning when the table `ewwwio_images` does not exist
882 * TWEAK: Image compression - Detect already compressed images by other plugins (ShortPixel Image Optimizer, Smush, Imagify, Compress JPEG & PNG images by TinyPNG, EWWW Image Optimizer)
883 * TWEAK: Image compression - Added compression stats in the Media Library's list view
884 * TWEAK: Image compression - Possibility to restore all compressed images
885 * TWEAK: Image compression - Remove NitroSmush service, which is no longer active.
886 * TWEAK: Image compression - Tweak user agent when requesting to resmush.it
887 * TWEAK: Preserve selected optimizations when saving settings
888 * TWEAK: Page caching - Prevent PHP Notice: Trying to get property 'comment_status' of non-object
889 * TWEAK: Cache - Do not serve from cache when a user has posted a comment
890 * TWEAK: Cache feature - Added integration with Cloudflare (Premium)
891 * TWEAK: Page caching - Rename variables in the global context to more specific names
892 * TWEAK: Premium - Prevent potential JS error in the "unused images" feature
893 * TWEAK: Premium - Unused images - Add support for Slider Revolution
894 * TWEAK: Premium - Unused images - use the URL stored in attachment meta-data as fallback
895 * TWEAK: Premium - Unused images - Only fetch image information when requesting the information to be displayed
896 * TWEAK: Premium - Lazy-load - Show a notice when a known plugin also provides lazy-loading, instead of disabling the feature
897 * TWEAK: Minify - Only load the required vendor classes instead of using composer's autoload in order to prevent compatibility issues
898 * TWEAK: Minify - Added filters `wpo_minify_get_js` and `wpo_minify_get_css` to enable users to do extra processing before saving the code
899 * TWEAK: Minify - Prevent PHP warning when no log is present
900 * TWEAK: Minify - Prevent error when the function gzencode doesn't exist
901 * TWEAK: Removed MetaSlider notice in the notices collection
902
903 = 3.1.2 - 03/Jun/2020 =
904
905 * TWEAK: Only load minify dependencies when the feature is enabled, reducing the risk of conflicts with plugins with obsolete/incompatible library versions
906
907 = 3.1.1 - 03/Jun/2020 =
908
909 * FIX: Minify - Make the feature unavailable when W3 Total Cache is active (an ancient version of the library in that plugin is incompatible and can cause a crash if either plugin attempts to perform minification)
910 * TWEAK: Tweak polling interval for fetching WP-O minify cache information
911
912 = 3.1.0 - 02/Jun/2020 =
913
914 * FEATURE: Major new feature: JS and CSS combination and minification. Read more at: https://getwpo.com/faqs/category/minification/
915 * FIX: Image compression - delete backup images in a non-dated folders
916 * FIX: Premium - Unused images - Only move relevant images to trash
917 * FIX: Cache feature - Show correct preloading status
918 * FIX: Fixed optimizations preview on multisite
919 * FIX: Cache feature - Fixed error handling for cache preload action
920 * FIX: Call to unavailable function was breaking page caching on old WP versions without add_filter() available early
921 * TWEAK: Premium - Do not show the loading overlay on the database screen when loading the unused images list
922 * TWEAK: Periodically update the plugins' tables list (plugin.json)
923 * TWEAK: Do not use wp_get_upload_dir() on WP versions before it is available
924 * TWEAK: Prevent JavaScript error when showing a notice after purging the cache
925 * TWEAK: Cache feature - Better handle errors when enabling or disabling caching
926 * TWEAK: Cache feature - Use HTTP headers to indicate page caching status
927 * TWEAK: Premium - Unused images - Added filter `wpo_unused_images_ids`
928 * TWEAK: Cache feature - Prevent purging the whole cache when saving a WooCommerce product
929 * TWEAK: Premium - Page cache - "Do not cache this post" setting to only be effective when viewing a single post or page.
930 * TWEAK: Cache feature - Added the filter wpo_cache_preload_sitemap_filename to enable overriding of the sitemap name used for preloading
931 * TWEAK: Make all tooltips accessible via keyboard navigation
932 * TWEAK: scandir() usages changed to opendir()
933 * TWEAK: Database optimizations - Add Gravityforms to list and tweak UI
934 * TWEAK: Cache feature - Preload indicates when using a sitemap
935 * TWEAK: Hide the "remember to save settings" notice after saving.
936 * TWEAK: Updater in paid version now will make checks on availability without needing login
937
938 = 3.0.19 - 31/Mar/2020 =
939
940 * FIX: Fix force tables optimisations checkboxes
941 * FIX: Fix tablesorter issue preventing the optimisations from displaying
942 * FIX: Premium - Fix Spam and Trashed Comments preview
943 * TWEAK: Premium - Possibility to exclude a page from cache from the page / post edit
944
945 = 3.0.18 - 27/Mar/2020 =
946
947 * TWEAK: Wipe WP-Optimize settings function
948 * FIX: Don't override advanced-cache.php if caching is disabled
949
950 = 3.0.17 - 19/Mar/2020 =
951
952 * FIX: Show image as uncompressed after restoring backup from the media modal
953 * FIX: Save the last state for "take a backup" checkboxes
954 * TWEAK: Load optimizations and database tables list via ajax
955 * TWEAK: Move database optimization settings to the database page
956 * TWEAK: Improve error handling for ajax requests
957 * TWEAK: Cache feature - Add the filter `wpo_cache_show_cached_by_comment` to enable users to hide the HTML comment <!-- Cached by WP-Optimize... -->
958 * TWEAK: Cache feature - Clear archive page cache when post is updated
959 * TWEAK: Cache feature - Possibility to exclude front page from the cache
960 * TWEAK: Cache feature - Deny direct access to cache files folder
961 * TWEAK: Cache feature - Prevent direct access to cache config content
962 * TWEAK: Image compression - Prevent confusing errors when restoring an image whose backup file was deleted
963 * TWEAK: Only show the plugin's own notices on WP-Optimize's pages
964 * TWEAK: Remove MetaSlider related message
965 * TWEAK: Premium - Page cache - Possibility to generate a cache file per country with WooCommerce geolocation
966 * TWEAK: Premium - Reorganise cache extensions to only keep the code required at the cache generation / fetching stage
967 * TWEAK: Premium - Unused images - add support for non-dated folders
968 * TWEAK: Premium - Unused images - Added wpo_unused_images_per_page filter for filtering images per page count
969 * TWEAK: Premium - Unused images - Possibility to move unused images to trash before completely deleting
970
971 = 3.0.16 - 27/Jan/2020 =
972
973 * FIX: Premium - Unused images - Fixed detection of -rotated and -scaled images
974 * TWEAK: Cache feature - Cache sitemap.xml and robots.txt
975 * TWEAK: Cache feature: fix scheduled preload
976 * TWEAK: Cache feature: save the value of wpo_current_url() to enhance compatibility with Weglot
977 * TWEAK: Fix permissions for restoring or compressing images on multisite
978 * TWEAK: Premium - Tweak UI when fetching unused image infos
979 * TWEAK: Premium - Added compatibility for Oxygen builder
980 * TWEAK: Premium - Added WP-CLI commands for managing cache
981
982 = 3.0.15 - 16/Dec/2019 =
983
984 * FIX: Image compression - Fix restoration on multisite
985 * FIX: Cache feature - Scheduled preload when a sitemap does not exists
986 * TWEAK: Check for headers_sent() before closing the browser connection
987 * TWEAK: Cache feature - Do not show clear cache buttons in the admin bar if the user doesn't have the right capability
988 * TWEAK: Cache feature - Don't cache REST API requests
989 * TWEAK: Tabs to point to the correct URL for direct access
990 * TWEAK: Only log the reason why an URL isn't cached if the constant WPO_CACHE_DEBUG is true
991 * TWEAK: Image compression - Added a new filter 'wpo_image_compression_single_image_options' to allow changing the image quality for each image.
992 * TWEAK: Cache feature - Added instructions how to edit advanced-cache.php file
993 * TWEAK: Detecting Cloudflare and Brotli compression before enabling GZIP
994
995 = 3.0.14 - 25/Nov/2019 =
996
997 * FIX: Fixed default option values for smush backup automatic deletion
998 * FIX: Prevent potential Fatal error when including notices class
999 * FIX: Image compression - Fixed division by zero notification
1000 * FIX: Fix list of backup entities before removing unused images
1001 * TWEAK: PHP 7.4 compatibility tweak in the fatal error handler
1002 * TWEAK: Image compression feature - Backup of original image paths are now relative
1003 * TWEAK: Page cache - Fix condition when displaying the message indicating the reason for not caching or serving cache
1004 * TWEAK: Page cache - Do not save post to cache if comments are opened and the user has saved their information
1005 * TWEAK: Page cache - intelligently handle Google Analytics tracking parameters in URL (Premium)
1006 * TWEAK: Page cache - add a query parameter to force display of the reason for not caching a page or serving a cached page
1007 * TWEAK: Cache feature - Added is_writable() checking before trying to write advanced-cache.php
1008 * TWEAK: Premium - Optimize database optimisations for WP-CLI commands
1009 * TWEAK: Premium - Don't run UI requests for WP-CLI actions
1010 * TWEAK: Premium - Page cache - Add default WooCommerce currency to the cache config
1011 * TWEAK: Page cache - Add the possibility to save default values to the cache config
1012 * TWEAK: Page cache - Add a possible secondary cache extensions location using the constant 'WPO_CACHE_CUSTOM_EXT_DIR', to allow keeping the bundled extensions in their original location
1013 * TWEAK: UI tweaks
1014 * TWEAK: Add missing filename reference in error message
1015 * TWEAK: Page cache - Purge cache when Autoptimize's cache is cleared
1016 * TWEAK: Image compression - Compatibility with Elementor plugin
1017 * TWEAK: Image compression - Added feature to mark all images as uncompressed
1018 * TWEAK: Bump supported minimum WP version up to 3.9
1019
1020 = 3.0.13 - 21/Oct/2019 =
1021
1022 * FIX: Don't show VIEWs as corrupted database tables
1023 * TWEAK: Image compression - Cancel button now stops the compression process
1024 * TWEAK: Only show general notice when update notice isn't shown
1025 * TWEAK: Improve message when Gzip compression is already enabled
1026 * TWEAK: Premium - Use path to include lazy load script
1027 * FIX: Image compression - Fixed detecting of uncompressed images
1028 * TWEAK: Image compression - Use wp_remote_get() instead file_get_contents() for retrieving compressed images
1029 * TWEAK: Use wp_remote_get() instead file_get_contents() for retrieving compressed images
1030 * TWEAK: Cache feature - add a 'Purge all' cache button to the admin bar
1031 * TWEAK: Premium - Prevent php warning in scheduled optimisations list
1032 * TWEAK: Premium - Unused images feature - Add compatibility with Advanced Custom Fields (ACF) image and gallery fields
1033
1034 = 3.0.12 - 24/Sep/2019 =
1035
1036 * TWEAK: Cache - Purge cache files when updating menu, saving the customizer and editing widgets
1037 * TWEAK: Cache - Do not show the reason for not caching when the request is DOING_CRON
1038 * TWEAK: Premium - Unused images feature - Improved detection on sites with many posts/images
1039 * TWEAK: Automatically delete smush image backups option
1040 * TWEAK: Premium - Unused images feature - Better detection of featured images
1041 * TWEAK: Cache - Ability to purge single page or post from cache
1042 * TWEAK: Cache - Display the content of advanced-cache.php to the user if it was not writable when enabling cache
1043 * TWEAK: Image compression - Automatically delete image backups option
1044 * TWEAK: Image compression - metabox now inherits the settings from the main screen
1045 * TWEAK: Image compression - Added feature to mark images as already compressed by another tool
1046 * TWEAK: Image compression - Added detailed log information when image compression fails.
1047 * TWEAK: Premium - Unused images feature - Improved detection on sites with many posts/images
1048 * TWEAK: Premium - Unused images feature - Better detection of featured images
1049 * TWEAK: Premium - Lazy load - Added WooCommerce support
1050 * TWEAK: Premium - Increased warning level and visibility when deleting unused database tables and unused images
1051 * TWEAK: Prevent a couple of unwanted PHP notices being logged when running cron via the command-line
1052 * TWEAK: Tweaked update notice wording
1053
1054 = 3.0.11 - 07/Aug/2019 =
1055
1056 * FIX: Check the results of opendir() when emptying the cache, to prevent a possible infinite loop if it fails
1057 * FIX: Compatibility issues with WordPress 4.0
1058 * FIX: Replace function that did not exist on PHP 5.2
1059 * TWEAK: Add work-around for plugins which call the WP action comment_post incorrectly
1060 * TWEAK: Change the algorithm for locating file-based-page-cache.php to handle same-server site moves better
1061 * TWEAK: Prevent an unwanted PHP notice caused by Action Scheduler purges
1062
1063 = 3.0.10 - 30/Jul/2019 =
1064
1065 * TWEAK: If short-circuiting the attachment_fields_to_edit filter result, return the pre-existing value
1066 * TWEAK: Adjust wpo_delete_files() and related functions with extra sanity checks
1067
1068 = 3.0.9 - 30/Jul/2019 =
1069
1070 * FIX: Fix bug in logic for sending "Content-Encoding: gzip" header that could cause it to be sent prematurely with non-cached pages
1071
1072 = 3.0.8 - 30/Jul/2019 =
1073
1074 * FIX: Lazy-loading regression in recent Premium release
1075 * FIX: Smush images selection on multisite
1076 * FIX: Displaying WP-Optimize tabs menu on mobile devices
1077 * TWEAK: Disable redundant lazy-loading feature when Divi theme is active
1078 * TWEAK: Improve accuracy of message shown when it is not possible to automatically enable Gzip compression of static resources
1079 * TWEAK: Only output reasons a page was not cached if the wp_footer action was run
1080
1081 = 3.0.7 - 25/Jul/2019 =
1082
1083 * FIX: Fix some logic bugs related to the decision whether to send gzip-encoded cached content
1084 * FEATURE: To aid debugging if WP_DEBUG is turned on then if a page was *not* cached, then the HTML source will now contain the reason(s) why not in the footer
1085 * TWEAK: The is_user_logged_in() function is not necessarily available during a WP 'technical difficulties' scenario
1086 * TWEAK: Purge site homepage cache after updating post or publishing a new post (can be over-ridden with the filter wpo_delete_cached_homepage_on_post_update)
1087
1088 = 3.0.6 - 25/Jul/2019 =
1089
1090 * FIX: Regression causing incorrect JavaScript filenames in the Premium release in 3.0.5
1091 * TWEAK: Also add cache-busting for the compiled handlebars file
1092 * TWEAK: Change the handlebars enqueue handle to prevent double loading
1093
1094 = 3.0.5 - 23/Jul/2019 =
1095
1096 * FIX: Short-circuit Updraft_Smush_Manager::add_compress_button_to_media_modal() outside of a dashboard context, so that plugins or themes that hook into some dashboard hooks outside of that context can't cause fatal errors
1097 * TWEAK: Added suffixes with WP-Optimize version number to js, css files
1098 * TWEAK: Change the method used to generate the configuration file path in advanced-cache.php; no issues were reported, but analysis indicated a potential way to generate a path that would not agree with what was written by saving settings; and also another way to generate an invalid path on Windows webservers running on non-standard ports.
1099 * TWEAK: Use WPO_CACHE_CONFIG_DIR constant instead string value in advanced-cache.php
1100
1101 = 3.0.4 - 20/Jul/2019 =
1102
1103 * FIX: Fixed a regression in 3.0 with orphaned relationship data optimization
1104
1105 = 3.0.3 - 20/Jul/2019 =
1106
1107 * TWEAK: Prevent saving of page cache settings when the page cache was already off and another page cache plugin was active from over-writing the other plugin's advanced-cache.php
1108
1109 = 3.0.2 - 19/Jul/2019 =
1110
1111 * TWEAK: Rename in order to cache-bust sites that cached old versions of the JS admin scripts
1112 * TWEAK: Prevent unwanted PHP notice if saving page cache settings without ever having turned the cache on
1113
1114 = 3.0.1 - 18/Jul/2019 =
1115
1116 * FIX: Prevent a potential stray line of text appearing
1117
1118 = 3.0.0 - 17/Jul/2019 =
1119
1120 * FEATURE: Adds a caching feature, with page cache, browser cache control and gzip control
1121 * TWEAK: Smush feature added to medial modal
1122 * TWEAK: Remove references to Keyy
1123 * TWEAK: Image compression metabox tweaks
1124 * TWEAK: Preload after purging, If preload schedule is enabled
1125 * TWEAK: Prevent image compression AJAX call from firing upon every tab change
1126 * TWEAK: Load assets in admin_enqueue_scripts()
1127 * TWEAK: Smush all image sizes
1128 * TWEAK: Add quick feedback link
1129 * TWEAK: Delete the original backup file when an attachment file has been deleted
1130 * TWEAK: Remove die() from shutdown handler
1131 * TWEAK: Remove references to Keyy
1132
1133 = 2.3.4 - 10/Jun/2019 =
1134
1135 * FIX: Incorrect file paths on multisites
1136 * FIX: Wrong DB Schema caused image compression to fail on multisites
1137 * TWEAK: Improve image compression UI
1138 * TWEAK: Add the possibility to hide the image optimisation metabox in the media edit screen.
1139 * TWEAK: Fix potential PHP notice in task queue when Automatic Smush is activated
1140 * TWEAK: Improve JSON-reparser to cope with even more exotic junk from some setups with problems elsewhere in their stack
1141 * TWEAK: Remove the numerical index column from the list of tables
1142 * TWEAK: Prevent methods being called when create_task returns false
1143 * TWEAK: Prevent PHP log warnings when images are missing from server (log in WP-O internal log instead)
1144 * TWEAK: Changed the default settings page from 'Settings' to 'Database'
1145 * TWEAK: Better discoverability of Premium features
1146 * TWEAK: Use new task manager class Updraft_Task_Manager_1_1
1147
1148 = 2.3.3 - 17/Apr/2019 =
1149
1150 * FIX: Revert faulty change to the default settings page in 2.3.2, which prevented optimization buttons working
1151
1152 = 2.3.2 - 17/Apr/2019 =
1153
1154 * FIX: Non-ASCII filenames could get mangled in the image optimization preview, resulting in images not shown (and WP 404 generation on the back-end).
1155 * FIX: Optimizing a table now runs correctly after automatic pre-optimize backup
1156 * TWEAK: Changed the default settings page from 'Settings' to 'Database'
1157 * TWEAK: Updated plugin links
1158
1159 = 2.3.1 - 16/Apr/2019 =
1160
1161 * FIX: Fix a code path that could cause a fatal error on PHP 5.2
1162 * TWEAK: Optimizing a table should then refresh the information in the UI shown for it
1163 * TWEAK: Use an image compression logfile path inside the uploads hierarchy, with unpredictable salted element
1164
1165 = 2.3.0 - 12/Apr/2019 =
1166
1167 * FEATURE: Compress images using lossy and lossless compression - both existing images, and newly uploaded
1168 * FIX: Wrong information about corrupted tables
1169 * TWEAK: Prevent PHP notices on calls from UpdraftCentral
1170 * TWEAK: Prevent notices about Premium showing in Premium, correct button text, update coupon
1171 * TWEAK: Prevent the overdue cron checker running twice instead of once
1172
1173 = 2.2.13 - 04/Mar/2019 =
1174
1175 * FIX: Fixed RTL layout
1176 * FIX: Detect more relationships between tables and plugins in orphaned database tables optimization
1177 * FIX: Fixed orphaned relationships optimization
1178 * TWEAK: The informational list of WP core tables missed some possible extra tables on multisite
1179
1180 = 2.2.12 - 07/Feb/2019 =
1181
1182 * TWEAK: Updated information on More plugins tab
1183 * TWEAK: Fix header layout when a system or third party notification are shown
1184 * TWEAK: (Premium) Fix layout in unused images list mode
1185 * TWEAK: Improve data reliability in javascript
1186 * TWEAK: Improve orphaned relationships data optimization
1187 * TWEAK: Wrong message for "remove spam and trashed comments" optimization
1188 * TWEAK: Output additional information if table was not deleted
1189 * FIX: Added escaping for table names in database queries
1190 * FIX: Fix another possible fatal error due to missing get_plugins() function
1191 * FIX: Improve identification of installed/active plugins
1192
1193 = 2.2.11 - 16/Jan/2019 =
1194
1195 * FIX: A regression in the "identify table by owner" feature caused optimizing to silently fail on some tables
1196 * TWEAK: Added ability to exclude lazy load images by class
1197
1198 = 2.2.10 - 11/Jan/2019 =
1199
1200 * FEATURE: Added the ability to download unused images list (Premium version) as a CSV file
1201 * FIX: Load scripts and styles only on WP-Optimize pages
1202 * FIX: Fix a possible fatal error due to missing get_plugins() function
1203 * TWEAK: Remember selected optimizations on Database page
1204 * TWEAK: Prevent PHP notices when saving settings or optimizing in some circumstances
1205
1206 = 2.2.9 - 03/Jan/2019 =
1207
1208 * FIX: Change a newly-introduced fragment that was not compatible with PHP 5.2
1209 * TWEAK: Tweak some other code that had PHP 5.2 compatibility issues
1210
1211 = 2.2.7 - 31/December/2018 =
1212
1213 * RE-FACTOR: Refactoring and reorganisation of the UI
1214 * TWEAK: Added feature to view unused images as list
1215 * TWEAK: Fix sorting sizes columns in Tables information to take into account textual modifiers
1216 * FIX: MetaSlider images detected as unused
1217 * FIX: Preview for Trashed posts optimization doesn't work
1218 * FIX: Unselected optimizations could be run on a scheduled run
1219
1220 = 2.2.6 - 30/October/2018 =
1221
1222 * FEATURE: Added Gzip compression support
1223 * FIX: Unexpected content in the footer after preview popup closed
1224 * TWEAK: Mark as supporting WordPress 5.0
1225 * TWEAK: Update seasonal notices
1226 * TWEAK: Removed redundant checkbox for Lazy Loading settings
1227 * FEATURE: Remove orphaned database tables, and identify (many) known tables by plugin.
1228
1229 = 2.2.5 - 24/August/2018 =
1230
1231 * FEATURE: Preview data before deleting. (Premium)
1232 * FEATURE: Lazy Loading for images, iframes and videos. (Premium)
1233 * FEATURE: Added custom capabilities wpo_prevent_run_optimizations and wpo_prevent_manage_options (Premium)
1234 * FIX: Correct tables order sorting
1235 * FIX: Wrong numbers in total cleaned field
1236 * FIX: Don't show incorrect overhead value if option innodb_file_per_table disabled
1237 * TWEAK: Added option to clean "all" transient options and network-wide transient options for multisite WordPress installation
1238 * TWEAK: Links to UpdraftPlus automatically Install/Activate UpdraftPlus plugin
1239 * TWEAK: FAQ links point to getwpo.com
1240 * TWEAK: Auto-draft, revision posts and pingback comments removing with their meta data
1241 * TWEAK: Scheduler is not using the WordPress timezone settings
1242 * TWEAK: Detecting corrupted tables in background.
1243 * TWEAK: Unused Images optimization correctly detects images in pages built with popular plugins - Page Builder by SiteOrigin, Visual Composer, Beaver Builder, Elementor.
1244 * TWEAK: Paginate unused images
1245 * TWEAK: Added checkbox for select all optimizations
1246 * TWEAK: Prevent deleting homepage images in image optimization
1247 * TWEAK: Override the default multisite site list fetch limit of 100 sites
1248
1249 = 2.2.4 - 07/May/2018 =
1250
1251 * TWEAK: Changed the term 'Automatic' to 'Scheduled'.
1252 * TWEAK: Show correct table type for views
1253 * TWEAK: Fixed string spelling and syntax errors
1254 * TWEAK: Disabled Simple History logging option if plugin is not installed.
1255 * TWEAK: Prevented PHP notices in repair tables functionality
1256
1257 = 2.2.3 - 04/Apr/2018 =
1258
1259 * FEATURE: Added the ability to repair corrupted database tables
1260 * FIX: Fixed dismiss notices functionality
1261 * FIX: When detecting potentially unused images, exclude those found mentioned in the options table(s)
1262 * TWEAK: Load WPO translations (logger classes info included) when template is pulled for UpdraftCentral-WPO module
1263 * TWEAK: Add get_js_translation command for the UpdraftCentral WPO module
1264 * TWEAK: Added logging for fatal errors
1265
1266 = 2.2.2 - 28/Feb/2018 =
1267
1268 * TWEAK: Prevent possible PHP notice when parsing logger options
1269
1270 = 2.2.1 - 28/Feb/2018 =
1271
1272 * FIX: Fix number counting in Table information tab
1273 * FIX: Fix InnoDB optimization UI
1274 * TWEAK: Removed orphaned attachment optimization from optimizations UI list
1275
1276 = 2.2.0 - 19/Feb/2018 =
1277
1278 * FEATURE: Added the ability to export/import WP-Optimize settings
1279 * FEATURE: Extended the logging class to include logging for Simple History Logger, Slack, Email, syslog and a simple 'ring' log
1280 * FEATURE: Added the ability to optimize ARCHIVE and Aria (MariaDB) database tables.
1281 * FEATURE: Added the ability to sort data in the "Table Information" tab
1282 * FEATURE: Added the ability to search tables in "Table Information" tab
1283 * FEATURE: Added the ability to optimize an individual table. (Premium)
1284 * FEATURE: Added the ability to optimize multisites. (Premium)
1285 * FEATURE: Allow the user to create arbitrarily complex automatic optimization schedules (Premium)
1286 * FEATURE: Added ability to use WP CLI interface for run optimizations. (Premium)
1287 * FIX: Auto clean-up settings not optimizing database tables
1288 * FIX: Comments count after related to comments optimization
1289 * FIX: Fix unapproved comments count
1290 * TWEAK: Add functions to pull WP-Optimize templates for UpdraftCentral
1291 * TWEAK: Allow user to tick the "Take a backup with UpdraftPlus before optimizing" option from UpdraftCentral
1292 * TWEAK: Show last automatic optimization time using site's configured timezone and locale
1293 * TWEAK: Extra MySQL and MariaDB checks for optimization, along with an over-ride functionality.
1294 * TWEAK: updated previous optimizations and added optimizations for trash posts, trash comments and orphaned attachments
1295 * TWEAK: Use higher-quality spinner image
1296 * TWEAK: Adjusted notices about other products
1297 * TWEAK: Added message for multisite users with proposal to upgrade to Premium.
1298 * TWEAK: Optimize the check for whether both free and Premium are installed
1299 * TWEAK: Added Premium / Plugin Family tab
1300 * TWEAK: Added seasonal dashboard notices
1301
1302 = 2.1.1 - 28/Feb/2017 =
1303
1304 * FEATURE: Added the ability to take a automatic backup with UpdraftPlus (https://updraftplus.com) before an optimization
1305 * FEATURE: When optimizing from the dashboard, tables are now optimized one by one, to reduce the scope for timeouts
1306 * FIX: Removal of sitemeta items from main site on multisite install was not proceeding
1307 * TWEAK: Adding premium bootstrapping to WP-Optimize for adding premium features in the future
1308 * TWEAK: A few wording tweaks, plus automatically refresh the page if the 'admin bar menu' option is changed
1309 * TWEAK: Introduce internal logging API
1310
1311 = 2.1.0 - 28/Dec/2016 =
1312
1313 * FOCUS: This release concentrates upon the user-interface, and in particular upon improving the clarity of each part, and making optimizations, saves and other actions possible without page reloads.
1314 * FEATURE: Any optimisation can now be run individually with a single button press
1315 * TWEAK: All optimisations run via the dashboard page are now run via AJAX (no page refresh)
1316 * TWEAK: Settings saving now takes place via AJAX (no page refresh)
1317 * TWEAK: Navigation between different tabs now takes place without a page refresh
1318 * TWEAK: The "trackback/comments" actions section now operates via AJAX (no page refresh needed)
1319 * TWEAK: "Refresh" button in the "Status" widget now refreshes via AJAX (no page refresh needed)
1320 * TWEAK: When saving settings or running an optimization, the "Status" widget now automatically refreshes
1321 * TWEAK: Make the admin bar menu into a drop-down, making it quicker to access individual tabs
1322 * TWEAK: Call set_time_limit to reduce the chances of PHP self-terminating via reaching max_execution_time
1323 * TWEAK: Introduce dashboard notice infrastructure
1324 * TWEAK: The lines showing information on how many spam/trashed posts and comments existed were incomplete
1325
1326 = 2.0.1 - 12/Dec/2016 =
1327
1328 * OWNERSHIP: WP-Optimize is now under the leadership of Team UpdraftPlus - https://updraftplus.com. A big thank you to Ruhani (who remains on-board) for his leadership of WP-Optimize until this point! Layout, branding and links have been altered to reflect this change.
1329 * RE-FACTOR: Internal code completely re-factored, laying the foundations for future improvements
1330 * TWEAK: Various filters introduced internally for easier customisation
1331 * TWEAK: Marked form element labels, so that they can be clicked
1332 * TWEAK: Various small UI improvements (more to come in future releases)
1333 * FIX: Previous versions could potentially run OPTIMIZE commands on tables in the same MySQL database (if it was shared) belonging to other sites
1334 * FIX: Previous versions were not deleting most delete-able transients. This is now fixed, with the modification that we now delete all *expired* transients.
1335 * LANGUAGES: Removed language packs and screenshots that are already carried by wordpress.org, reducing the plugin download / install size
1336
1337 = 1.9.1 =
1338 * Ability to clean up Unused Post Meta, Comment Meta and Broken Relationship Data
1339 * Warning prompts for RED marked items and optimize button
1340 * Better transient options cleaning.
1341 * Language files update
1342 * Various other fixes
1343
1344 = 1.9 =
1345 * 27 Weeks retention option equivalent to 6 month
1346 * Compatibility update.
1347 * Language files update
1348 * Removed email notifications, it doesn't work on many servers
1349 * Various other fixes
1350
1351 = 1.8.9.10 =
1352 * Security Patch provided by Dion at WordPress.org and Security report provided by http://planetzuda.com .
1353 * Language files update
1354
1355 = 1.8.9.8 =
1356 * Daily Schedule Option Added
1357 * Email notification on automatic optimization, default email is admin email address. You can change this in settings
1358
1359 = 1.8.9.7 =
1360 * BUGFIX for Settings screen
1361 * Enable/Disable trackbacks / comments buttons removal and use select box instead. Extra button caused the Auto Scheduler to get into reset mode.
1362
1363 = 1.8.9.6 =
1364 * There were few number formatting problem and detection of InnoDB table format. Charles Dee Rice solved the problems that I missed out. Thank you!
1365 * Duplicate msg fixed
1366 * Enable/Disable trackbacks for all published post
1367 * Enable/Disable comments for all published post
1368
1369 = 1.8.9 =
1370 * ONE MILLION+ Downloads. THANK YOU!!
1371 * Language updates platform - see readme file for details.
1372 * Mixed type tables optimization supported and in BETA
1373 * Removal of akismet metadata from comments
1374 * Removal of other stale metadata from comments
1375 * InnoDB tables won't be optimized.
1376 * Main screen user selection will be saved. Red items selection will not be saved
1377 * Scheduled time display will be shown according to WordPress blog local time
1378
1379 = 1.8.6 =
1380 * Language files update
1381 * Fix issues with total gain number problem
1382 * InnoDB tables detected and features disabled automatically, tables view will not show Overhead. Main view will not show space saved, or total gain.
1383
1384 = 1.8.5 =
1385 * Version bump + modified translator names
1386
1387 = 1.8.4 =
1388 * Problem with readme file changes
1389
1390 = 1.8.3 =
1391 * Minor fixes
1392
1393 = 1.8.1 =
1394 * A whole lot more code optimization
1395 * Slick new interface
1396 * Responsive mobile interface, supports running from iPhone/Android/Tablets
1397 * Tables moved to independent tab
1398 * Optimize faster
1399 * GitHub updater support
1400 * I do not monitor WP forums, support email at plugins(at)ruhanirabin.com
1401
1402 = 1.7.4 =
1403 * More Translation compatibility.
1404 * Added MYSQL and PHP versions beside the Optimizer tab.
1405
1406 = 1.7.3 =
1407 * Fixed Problems with wpMail.
1408 * Fixed Problems with wpAdmin menubar.
1409 * Fixed Permission issues on some site.
1410 * Language files update
1411
1412 = 1.7.2 =
1413 * All MySQL statements re-factored into native WP database calls - necessary for future versions of MySQL and WordPress.
1414 * Upgrade to match WordPress 3.9 changes.
1415 * Language files update
1416 * Now postmeta cleanup is disabled from code - it will be updated soon with native WordPress postmeta cleaning options.
1417
1418 = 1.6.2 =
1419 * Language files update
1420
1421 = 1.6.1 =
1422 * Fixed - trashed Comments was not clearing out.
1423 * Language files update
1424
1425 = 1.5.7 =
1426 * Language files update
1427
1428 = 1.5.6 =
1429 * "Unused Tags cleanup" option made a problem on some WordPress sites that it deletes empty categories. Since I am unable to replicate this problem. I am making this option disabled.
1430 * Language files update
1431 * Minor maintenance and fixes.
1432
1433 = 1.5.5 =
1434 * Safe clean up options are selected by default, defaults are not by user preference for now (Optimizer Page).
1435 * All the potentially dangerous clean up options are MARKED RED.
1436 * Language files update
1437 * New features explained - http://j.mp/HBIoVT (read the blog post).
1438
1439 = 1.5.4 =
1440 * More path related fixes for various warnings. Maintenance
1441
1442 = 1.5.2 =
1443 * Fatar error fix, if it disabled your wp admin, please remove the wp-optimize directory and reinstall again.
1444
1445 = 1.5.1 =
1446 * Option to add or remove link on wp admin bar (even enabled - it is visible to admin only).
1447 * New admin interface.
1448 * Settings to select items for automatic optimization.
1449 * Removal of WordPress transient options
1450 * Removal of orphaned post meta tags.
1451 * Removal of unused tags.
1452 * 3 different schedule times added (weekly, bi-weekly and monthly).
1453 * Language files update
1454 * Code optimization and translation strings updated.
1455 * Integrated development log from TRAC
1456
1457 = 1.1.2 =
1458 * removed persistent admin bar menu item
1459 * Language files update
1460
1461 = 1.1.1 =
1462 * Fix Fatal Error.
1463
1464 = 1.1.0 =
1465 * Added WP-Optimize to admin menu bar on top. Always accessible.
1466 * Added wp-optimize.pot file for translators (inside ./languages/ folder).
1467 * Last auto optimization timestamp / display
1468 * Fix possible scheduler bug as requested at support forum
1469 * Fix some other codes regarding SQL query parameters
1470 * Ability to keep last X weeks of data, any junk data before that period will be deleted - this option affects both Auto and Manual process. Appreciate time and help from Mikel King (http://mikelking.com/) about this matter.
1471
1472 = 1.0.1 =
1473 * Removed auto cleanup of trackbacks or pingbacks.. it's better for people to do it manually.
1474
1475 = 0.9.8-beta =
1476 * added beta tag
1477
1478 = 0.9.8 =
1479 * Remove all trackbacks and pingbacks (can significantly reduce db size)
1480 * Remove all Trash Comments and Posts
1481 * Enable/Disable weekly schedules of optimization. This is an EXPERIMENTAL feature. It may or may not work on all servers.
1482
1483 = 0.9.4 =
1484 * Non Initialized variables fixes as of https://wordpress.org/support/topic/plugin-wp-optimize-errors-in-debug-mode?replies=2
1485
1486 = 0.9.3 =
1487 * Removed security tools.
1488 * Full database size displayed
1489
1490 = 0.9.2 =
1491 * Now the plugin is visible to site administrators only. Authors, Contributors, Editors won't be able to see it.
1492
1493 = 0.9.1 =
1494 * Fixed problem with database names containing "-" .
1495 * NEW Main Level Menu Item added for WP-Optimize, You might need to scroll down to see it
1496 * Compatibility with WordPress 3.1
1497 * Language files update
1498 * Added auto draft post removal feature
1499
1500 = 0.8.0 =
1501 * Added Multilanguage capability
1502 * Language files update
1503
1504 = 0.7.1 =
1505 * POST META Table cleanup code removed cause it is making problems with many hosts
1506
1507 = 0.7 =
1508 * Added cleanup of POST META Table along with the revisions
1509 * Fixed some minor PHP tags which causes the total numbers to disappear
1510 * Now requires MySQL 5.1.x and PHP 5.1.x
1511
1512 = 0.6.5.1 =
1513 * Fix Interface
1514
1515 == Upgrade Notice ==
1516 * 3.3.1: Various fixes, and tweaks - a recommended update for all
1517