=== LWS Optimize - All-in-One Speed Booster & Cache Tools ===
Contributors: aurelienlws
Tags: cache plugin, performance optimization, speed booster, webp converter, lazy loading
Requires at least: 6.0
Tested up to: 6.8
Stable tag: 3.3.18
Requires PHP: 7.4
Author: LWS
Author URI: https://www.lws.fr/
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

All-in-one speed optimization: caching, WebP/AVIF, Critical CSS, lazy loading, CDN, and more. Instantly boost Core Web Vitals and site speed!

== License ==

Released under the terms of the GNU General Public License.

== Description ==

## Transform Your WordPress Site's Performance in Just One Click

A premium-quality, **100% FREE** performance optimization suite developed by top web host **LWS** – but works perfectly on **ANY** WordPress hosting!

**LWS Optimize** delivers lightning-fast load times with just one plugin: comprehensive caching, WebP/AVIF image conversion, Critical CSS generation, Lazy Loading, Cloudflare CDN integration, built-in PageSpeed testing – all with zero fees and no host restrictions.

### Why Your Site Needs LWS Optimize

* **Boost Core Web Vitals scores** - Improve your Google rankings
* **Reduce bounce rates** - Keep visitors engaged with faster loading times
* **Increase conversions** - Speed directly impacts your bottom line
* **Save money** - Get premium optimization features without paid subscriptions
* **Simple setup** - Pre-configured profiles make optimization effortless

### Key Features

* **Complete Caching System** – File-based page cache, browser cache, and server-side caching (Varnish) serve pages in milliseconds
* **Memory-Based Object Cache** – Memcached integration keeps database queries lightning-fast
* **Intelligent Media Handling** – Advanced Lazy Loading for images/iframes, automatic dimension attributes, GZIP compression, WebP/AVIF conversion with class/URL exclusions
* **Advanced CSS/JS Optimization** – Minify, combine, remove unused CSS, generate Critical CSS, preload essential resources, defer/delay JavaScript execution
* **HTML Optimization** – Minify HTML, strip query strings, disable emojis
* **One-Click CDN Setup** – Seamless Cloudflare integration with token activation and synchronized cache purging
* **Built-in Performance Testing** – Run Google PageSpeed Insights directly in WordPress and track improvement history
* **Database Optimization** – Scheduled cleanup of revisions, spam, transients and more
* **User-Friendly Interface** – Pre-configured optimization profiles, temporary disable options, and "AI Magic" presets

Through our 1-click **Auto-Installer**, LWS deploys WordPress in seconds with tailored packs like AI Site Generator, Divi Builder bundle, or WordPress + WooCommerce setup. Each pack includes essential LWS plugins—with **LWS Optimize** working even faster on our [WordPress hosting](https://www.lws.fr/hebergement_wordpress.php), [shared hosting](https://www.lws.fr/hebergement_web.php), and [cPanel hosting](https://www.lws.fr/hebergement-cpanel.php).

You can also install it manually via Plugins › Add New, regardless of where your site is hosted.

### Front-end Optimization
* Minify and combine CSS & JS
* Preload critical CSS and fonts
* Remove unused CSS & generate Critical CSS
* Defer or delay JavaScript execution
* Minify HTML
* Strip query strings, disable emojis

### Media Optimization
* Smart Lazy Loading for images, iframes & videos (with exclusion options)
* Automatic width/height attributes to prevent layout shifts
* GZIP compression for HTML, CSS, and JavaScript
* Advanced audio/video preload controls

### Image Optimization
* Automatic WebP/AVIF conversion and compression (using Imagick or API)
* 2000 free API credits monthly (additional credits available)
* One-click restoration of originals
* Auto-convert on upload option

### Caching System
* High-performance file-based page cache with smart purging and preloading
* Object cache with Memcached integration
* Server-side cache with Varnish/LWSCache (optimized for LWS hosting)
* Browser cache headers
* Configurable cache exclusions for mobile, logged-in users & dynamic content

### CDN Integration
* One-click Cloudflare setup
* DDoS protection with worldwide distribution
* Synchronized cache purging

### Database Optimization
* Weekly automatic cleanup of revisions, drafts, spam, and transients

### Performance Testing
* Integrated Google PageSpeed Insights testing
* Performance history tracking

Enjoy dramatically faster load times, improved Core Web Vitals scores, and higher search engine rankings – all with minimal configuration required!

== Frequently Asked Questions ==

= <strong>Why is website speed so critical for success?</strong> =
Site speed is no longer just a convenience—it's essential for SEO, user experience, and conversions. Google ranks faster sites higher, visitors abandon slow sites (53% leave if loading takes over 3 seconds), and conversion rates drop approximately 4.42% with each second of load time. LWS Optimize addresses all these issues with professional-grade optimization.

= <strong>Do I need special hosting to use this plugin?</strong> =
LWS Optimize works on any WordPress installation regardless of host. However, when paired with LWS hosting, you'll unlock additional server-level optimizations like enhanced Varnish cache. Beyond this plugin, LWS hosting includes many premium benefits: free domains, SSL certificates, professional email accounts based on your domain, competitive pricing, and access to premium WordPress themes and plugins.

For maximum performance, consider one of our optimized hosting options:

[WordPress-Specific Hosting](https://www.lws.fr/hebergement_wordpress.php)
[Professional Shared Hosting](https://www.lws.fr/hebergement_web.php)
[cPanel Hosting Solutions](https://www.lws.fr/hebergement-cpanel.php)

= <strong>Is there a discount available for your hosting services?</strong> =
Yes! Enter coupon code **WPEXT15** during checkout at [LWS](https://www.lws.fr/) to receive an additional 15% discount that combines with all current promotional offers!

= <strong>Where can I find support for LWS Optimize?</strong> =
Find detailed information by searching our [LWS online help center](https://aide.lws.fr/). LWS customers enjoy free 7-day support in France. We also regularly publish helpful tutorials on our [YouTube channel](https://www.youtube.com/c/LwsFrance).

= <strong>What other WordPress plugins do you recommend?</strong> =
We've developed several complementary WordPress plugins:

* <strong>[LWS Cleaner](https://wordpress.org/plugins/lws-cleaner/)</strong>: Rejuvenate your website by removing unnecessary bloat quickly and easily!
* <strong>[LWS Tools](https://wordpress.org/plugins/lws-tools/)</strong>: Access various tools to optimize your website, from disabling emojis to securing sensitive information and controlling REST API access.
* <strong>[LWS Hide Login](https://wordpress.org/plugins/lws-hide-login/)</strong>: Enhance security by customizing your admin login URL and redirecting unauthorized access attempts.
* <strong>[LWS Affiliation](https://wordpress.org/plugins/lws-affiliation/)</strong>: Easily add promotional banners, domain search widgets, or hosting comparison tables to your website.

= <strong>Essential LWS services to boost your online presence</strong> =
* [Domain Registration](https://www.lws.fr/nom-de-domaine.php)
* [WordPress-Optimized Hosting](https://www.lws.fr/hebergement_wordpress.php)
* [Professional Web Hosting](https://www.lws.fr/hebergement_web.php)
* [cPanel Hosting Solutions](https://www.lws.fr/hebergement-cpanel.php)
* [Reseller Hosting Options](https://www.lws.fr/hebergement_revendeur.php)
* [WooCommerce-Ready Hosting](https://www.lws.fr/hebergement-woocommerce.php)
* [VPS Servers](https://www.lws.fr/serveur_dedie_linux.php)
* [cPanel Servers](https://www.lws.fr/serveur-cpanel.php)
* [Cloud Servers](https://www.lws.fr/serveur_cloud.php)
* [Private Cloud Solutions](https://www.lws.fr/private_cloud.php)
* [Professional Email Services](https://www.lws.fr/adresses-email.php)
* [Website Builder Platform](https://www.lws.fr/creer-un-site-internet.php)
* [WordPress Site Creator](https://www.lws.fr/creer-un-site-wordpress.php)
* [Custom Website Development](https://www.lws.fr/creation-site-sur-mesure.php)
* [E-commerce Hosting](https://www.lws.fr/hebergement_e_commerce.php)
* [SEO Services](https://www.lws.fr/referencement.php)
* [Cloud Storage Solutions](https://www.lws.fr/stockage-en-ligne.php)
* [Online Backup Services](https://www.lws.fr/sauvegarde-en-ligne.php)
* [Business SMS Platform](https://www.lws.fr/envoyer-sms-par-internet.php)
* [Knowledge Base](https://aide.lws.fr/)
* [Tutorials Library](https://tutoriels.lws.fr/)
* [Company Blog](https://blog.lws-hosting.com/)
* [Video Tutorials](https://www.youtube.com/c/LwsFrance)

== Installation ==

Installing LWS Optimize is quick and easy with three installation methods available:

= Method 1: Install Directly from WordPress Dashboard (Recommended) =

1. In WordPress admin, navigate to "Plugins" → "Add New"
2. Search for "LWS Optimize"
3. Click "Install Now"
4. After installation completes, click "Activate"
5. Visit the new LWS Optimize settings page to configure optimization options

= Method 2: Upload via WordPress Dashboard =

1. [Download the latest version](https://wordpress.org/plugins/lws-optimize/)
2. In WordPress admin, go to "Plugins" → "Add New"
3. Click "Upload Plugin" at the top
4. Choose the downloaded zip file and click "Install Now"
5. After installation completes, click "Activate"
6. Configure settings through the LWS Optimize menu

= Method 3: Manual FTP Installation =

1. [Download the latest version](https://wordpress.org/plugins/lws-optimize/)
2. Unzip the downloaded file on your computer
3. Using FTP software, upload the entire "lws-optimize" folder to your website's "/wp-content/plugins/" directory
4. In WordPress admin, navigate to "Plugins" and click "Activate" under LWS Optimize
5. Configure optimization settings through the new menu item

After activation, we recommend starting with the pre-configured optimization profile that best matches your needs. For most sites, the "Balanced" profile offers excellent performance improvements with minimal risk of conflicts.

== Screenshots ==

1. User-friendly dashboard with performance statistics
2. Front-end optimization settings for CSS/JS/HTML
3. Comprehensive caching options (File, Memcached, Varnish)
4. Media optimization controls (Lazy Load, GZIP)
5. Advanced image conversion to WebP/AVIF formats
6. One-click Cloudflare CDN integration
7. Automatic database cleanup scheduling
8. Built-in PageSpeed testing with history tracking

== Changelog ==

= 3.3.18 =
* Fixed issue with Cloudflare on rare cases
* Fixed issue with the checksums of the plugin not matching with SVN (which causes issues with wp verify-checksums, notably)

= 3.3.17 =
* Only options in "Front-End" now clear cache when changed (instead of all options)
* Cache is emptied less often now (removed on update, on preload start and on temporary deactivation cleaning)
* Updated sitemap fetching to prevent issues when WordPress can't find the original sitemap (due to plugins) ; will now check sitemap_index.xml and wp-sitemap.xml more reliably
Fixed issue with the cache-cleaning cron that would be executed too soon and too often, preventing cache creation 

= 3.3.16 =
* Fixed issues where directories/files could not be created during page caching, resulting in CSS/JS not being loaded and white page appearing

= 3.3.15 =
* If an image cannot be converted, then it is now removed from the queue, fixing issues where cron would run forever

= 3.3.14 =
* Fixed "Warning : Deprecated" showing when WP_DEBUG is active
* Fixed incompatibilities when using JS Minifier/Combine
* Added FluentBooking "app.js" file to the exclusions
* CSS and JS Combine and Minify are now completely separate (Combining does not Minify by default unless selected)

= 3.3.13 =
* Updated logs to add a refresh button
* Fixed missing translations
* Added a Feedback button


= 3.3.12 =
* Fixed an issue with the preload, where the cron would go over and over without stopping, repeating the same urls indefinitely

= 3.3.10.5 =
* Very minor update to get rid of the "load_textdomain" warning

= 3.3.10 =
* Fixed Fatal Error on comment purge
* Fixed comment purge not actually purging anything
* Removed HTML Minification from default configuration due to too many issues
* HTML Minification now not recommended and with warning

= 3.3.9 =
* Clear cache after any changes have been made in the "Customize" page
* Added back a filter to clear all cache : lws_optimize_clear_all_filebased_cache
* In the same vein, the filter lws_optimize_clear_filebased_cache, taking an url as argument, clear the cache of said url
* Changed image conversion to prevent cron from failling to start, forcing users to start it multiple times
* Fixed bug where deactivating/activating plugin would fail with a 403 at the end
* Fixed issue where files already minified (i.e. : .min.js | .min.css) would get re-minified, causing potential issues
* Changed Min/Combine files from .css|.js to .min.css|.min.css
* Minor changes to the HTML Minification

= 3.3.8 =
* Dynamic Cache now removed when deactivating plugin
* Fixed issue where "Clear all" button would not empty dynamic cache
* Fixed typos
* Image warnings (if librairy is too old) now moved to the modale
* Autopurge will now purge related pages (like /blog, tags and categories pages)

= 3.3.7 =
* Fixed issue where Filecache could not be deactivated
* Fixed Memcached (and others) errors not being reported when updating in advanced mode
* Fixed Memcached getting checked even if in error

= 3.3.6 =
* CSS changes
* Added a -15% promotional code to the page
* Fixed issue where Image conversion (standard) never stopped
* Automatic purge modified to fix error where cache would be deleted entirely

= 3.3.5 =
* Now allows WebP to be converted using the API, resulting in either compressed WebP or AVIF
* Thumbnails should now correctly use their optimized format
* Some options were still updating instantly in the option page and should now be updated with the new button
* CSS ajustments
* Added a counter to know how many options will be changed

= 3.3.4 =
* Added more logs for images and htaccess in wp-content/uploads/lwsoptimize/debug.log
* Fixed an issue where sometimes the API would fail to get the correct site_url() (http instead of https) and fails to convert
* Updated .htaccess to add missing Brotli rules
* Updated the way the htaccess is managed to remove unecessary spaces and breaking
* WebP are now convertable with the API (either to compressed WebP or AVIF)
* Fixed "Purge all" button not working properly
* Fixed missing translations
* Fixed issue when reactivating plugin

= 3.3.3.1 =
* Fixed issue where new Cloudflare option would cause errors when trying to create/modify a page with the autopurge activated

= 3.3.3 =
* New page for easier access to the configurations and more simple interface
* Fixed a few issues
* Updated some error messages, especially Memcached
* Fixed CDN integration which did not work anymore
* CLI commands are available to manage most of the plugin

= 3.3.2.5 =
* Added possibility to use our API to convert images faster than with PHP
* Delayed preload reloading when updating plugin options to reduce lag
* Reduce to 2 pages per minute by default
* Few bugs fixes

= 3.3.2.1 =
* Removed combine JS/CSS from recommended settings to improve compatibility

= 3.3.2 =
* Optimized preloading settings: inactive by default, reduced to 5 pages/minutes initially
* Cache for logged-in users now active by default for better user experience
* Enhanced autopurge functionality to include home page
* Extended default cache duration for improved performance
* Removed potentially problematic functions for greater stability

= 3.3.1.1 =
* Fixed critical issue where log_file could not be accessed, preventing errors
* Resolved warning messages when activating the plugin via WP-CLI
* Various minor bug fixes for improved reliability

= 3.3.1 =
* Critical hotfix for autopurge function that occasionally purged entire cache instead of targeted pages

= 3.3 =
* Major feature update: Added Unused CSS removal and Critical CSS generation
* Implemented Deferred and Delayed JavaScript loading options
* Added automatic width/height attributes for images to prevent layout shifts
* Enhanced image conversion system for better performance

= 3.2.4.3 =
* Improved Edge-Cache-Platform header implementation
* Enhanced CSS combination to handle edge cases more effectively
* Optimized combination algorithm for better performance

= 3.2.4.2 =
* Fixed dynamic cache purging issue
* Resolved remaining autopurge problems
* Improved "cache dynamic url" functionality
* Fixed cache exclusion system with proper "*" wildcard support

= 3.2.4.1 =
* Fixed autopurge issue with Varnish Cache integration
* Resolved potential fatal error on update when LWSCache is activated

= 3.2.4 =
* Significant preloading improvements for better stability and performance
* Restructured autopurge trigger mechanism to prevent unwanted cache clearing
* Enhanced logging capabilities for better troubleshooting

= 3.2.3 =
* User interface improvements for cache deletion confirmation
* Fixed topbar-menu redirection issue
* Improved .htaccess handling when plugin is temporarily disabled
* Fixed dynamic page caching behavior
* Corrected URLs exclusion saving functionality

= 3.2.2.3 =
* Fixed warning when modifying inaccessible .htaccess files
* Resolved preloading issue with unavailable URLs (404, 500 errors)

= 3.2.2.2 =
* Added comprehensive documentation
* Various minor bug fixes

= 3.2.2.1 =
* Updated user interface elements
* Improved clarity in option descriptions
* Fixed potential preloading issues on certain website configurations


= 3.2.2 =
* Now using .htaccess for managing cache and redirections, resulting in better performances
* More strict caching, refusing to cache empty pages and pages with code != 200
* Bug fixes
* More options

= 3.2.1.5 =
* Fixed issue where cache would not get created if SSL plugins were on

= 3.2.1.4 =
* Better compatibility with Varnish/LiteSpeed for the dynamic cache
* Changed default state of the plugin to "OFF"
- Actions on (de)activation fixed
- Added expiration headers
- fix preload counter not being accurate
- fixed pre-load cron stopping
- added a way to manage dynamic pages (with parameters such as ?param=1)

= 3.2.1.3 =
* Fix minor issues with image convertion

= 3.2.1.2 =
* Fixed image conversion gained size
* Removed AVIF as it caused too many issues
* Minor changes to the Images tab
* Tab order rearranged
* Few bug fixes

= 3.2.1.1 =
* Updated the way images are changed on your website to make it less prone to bugs and easily deactivable by removing the plugin
* Fixed bugs
* Added mobile cache preloading

= 3.2.1 =
* New design for the "Images" page
* Bugfixes for the image conversion, especially the autoconvert and restoration
* Fixed mobile cache not getting created on cPanel with Varnish
* Better warnings when your website cannot use Image Conversion
* Updated for WordPress 6.7

= 3.2.0.6 =
* Few bug fixes
* Varnish can now be deleted
* Cache is now deleted more often when doing actions on the plugin

= 3.2.0.4 =
* Optimizations of the plugin to be more reactive
* Fix issue where CSS optimizations would not ignore fonts, deactivating them
* Fix issue with lazy-loading where images would not load up
* Some websites had an incorrect counter for preloaded pages that has now been fixed
* Caching stats should be more accurate

= 3.2.0.3 =
* Readded Memcached
* Fixed an issue with the database weekly maintenance where an SQL request could potentially remove all "pages" elements from the DB
* Minor CSS ameliorations

= 3.2 =
* Image convertion greatly improved and changed to BETA
* Lazy-loading changed : now an active solution greatly improving performances
* Some change to the mobile cache, now activated by default
- Fixed issue with the GZIP deactivating
- Improved notification popup to take less space and be less intruive
* Code optimization
* Bug fixes

= 3.1.7.6 =
* Show stats for image convertion
* Fix revert convertion that was not working
* Added button to refresh data (preload, convertion)

= 3.1.7.4 =
* Update to the image convertion system

= 3.1.7.2 =
* Fixed issue with ImageOptimization already declared
* Fixed issue with preloading not preloading every pages
* Fixed issue with warning showing up on the admin

= 3.1.7.1 =
* Fixed issue where converting images would do it 10 per 10 no matter what
* Fixed issue with undefined properties if auto-convert has never been activated
* Fixed issue where auto-convert would always be considered activated

= 3.1.7 =
* Cache stats fixed and should now consume less resources
* Added the possibility to convert images to the format of your choice between WebP, AVIF, PNG and JPEG
* Fixed some issues


= 3.1.6.4 =
* Autopurge has been fixed and now works as intended
* The cache stats has been temporarily deactivated as it caused issues with a high volume of filecache

= 3.1.6.2 =
* Fixed issue where Memcached file (object-cache) would be added even though Memcached is not on the server
* Tuned the optimization to get more performances

= 3.1.6.1 =
* Missing image added back
* CDN documentation updated
* Fixed CSS not loading properly on some website

= 3.1.6 =
* Design change for the parameters
* Fixed an issue where emptying cache from the adminbar on the site would not work

= 3.1.5 =
* Added documentations for most of the options of the plugin
* Fixed missing translations
* Fixed texts
* Fixed issue where configuration would get erased when changin to a different pre-configuration

= 3.1.4 =
* Changed preloading (CSS/fonts) ; only preload given URLs instead of everything
* Upgraded the emoji support deactivation
* Now alert you if you use Cloudflare but do not have the integration activated
* Fixed an issue with CDN Integration where cache wouldn't get cleared

= 3.1.3 =
* Fixed a visual bug with PageSpeed's Device Select
* Limited to 1 test/3 minutes for PageSpeed. Google keeps your last test result in cache for a few minutes,
retrying a test in this time window will only return the same values.
* Added disclaimer for PageSpeed tests
* Fixed an issue where modifying Database options would erase configuration
* Fixed an issue where auto-configuration the plugin would erase the PageSpeed history

= 3.1.2 =
* Can now pre-configurate the plugin directly
* Fixed issues with URLs containing queries other than ?ver and ?v
* Added a button to refresh the cache stats without reloading
- Cache stats now better calculated to fixed issue where amount of JS/CSS was overamplified
- Fixed issue with autopurge with WooCommerce where the cache would get deleted each page refresh

= 3.1.1 =
* Fixed issue where URLs with parameters (?XX=) different than ?ver or ?v would not be processed and cause bugs

= 3.1.0 =
* Fixed issues with the "Front-End" optimisations creating bugs
* Changed librairies and removed unused ones
* Fixed bad localizations

= 3.0 =
* New cache system
* CSS/JS minification/combination updated
* Cache stats now with CSS and JS

= 2.1.1 =
* Fixed "is_plugin_active not found" Fatal Error

= 2.1 =
* Cache updated
* Memcached can once again be activated
* New Cloudflare integration, to manage CF cache
* New way of checking your website performances with PageSpeed
* New weekly database optimisation

= 2.0 =
* New design for the plugin
* Front-End and Medias tabs have been entirely modified and fixed
* Lots of bugs have been fixed, performances gain while using our plugins have been increased

= 1.9.1 =
* Small fix with WPCLI

= 1.9 =
* Optimised the CSS/JS minifier ; now minify and combine at the same time with better performances gains
* Fixed bugs when minifying CSS, when remvoing Lazy Load globally and when using Memcached
* Memcached has been added back. Now the SALT used is generated automatically instead of manually
* Removed a few options that did no help with performances and caused issues (e.g. : JPG-ification)
* Updated the webp converter, it should now work more reliably

= 1.8.6 =
*Removed Memcached for now. Cause site to break.

= 1.8.5 =
* Fixed fatal error when minifying certain types of CSS
* Fixed issues with preloading CSS

= 1.8 =
* Compatibility check added
* Can now deactivate the plugin
* Some corrections to the actions

= 1.7 =
* Fixes to the CSS/JS concatenation, it should now works better
* Minor bugs fixes

= 1.6.5 =
* Can ask for reviews
* Minor bugs fixed

= 1.6 =
* Fixing a problem where non-authorized users could access the options page

= 1.5 =
* Fixing security issue
* Another change to the button to make it easier to understand => now slider
* Some bugs fixed
* More security measures added

= 1.2 =
* Important bug corrected concerning the lazy loading
* WordPress crash when trying to deactivate lazy loading corrected
* Clarified some button to better show their function

= 1.1 =
* Bug corrected for the HTML Minification, making it unusable
* Made it easier to apply modification in the first tab
* Clarifications added on some elements in the media tab

= 1.0 =
* Plugin created and published
