=== Solid Performance – Your No-Code Caching, Performance, & Page Speed Solution ===
Contributors: solidwp, tarecord, borkweb, defunctlife
Donate link: https://solidwp.com/performance
Tags: cache, caching, performance, page speed, core web vitals
Requires at least: 6.4
Tested up to: 6.8
Stable tag: 1.8.0
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Solid Performance is a no-code solution for increasing the page performance of your WordPress website.

== Description ==

Site speed and performance optimization don’t have to be a complex task. With Solid Performance, simply install and activate, and the plugin will incrementally create static versions of each URL of your website for an instant performance boost. 

= How Solid Performance Increases Your Site Performance and Page Speed ✅ = 

You’re busy, and you need to spend time building your website. In order to build well you need a solid foundation. Installing Solid Performance lets you optimize your site performance right away and start building sooner and faster without having to spend time configuring dozens of options. 

A solid caching solution should not cause breakage with your favorite plugins. Solid Performance comes out of the box with smart plugin exception rules for pages that have dynamic content created by these plugins:
* WooCommerce
* GiveWP

With these smart defaults and page caching in place automatically, you can focus your time and energy on building and enhancing your website instead of struggling through dozens of caching settings. 

= What is Caching and how does Solid Speed leverage it ❓ = 

There are several different types of caching

Solid Performance focuses exclusively on page caching, grabbing the HTML of your WordPress URLs and storing that in a secure directory. Then, when your visitors arrive at your site, the browser doesn’t need to run through PHP or hit your database again, it just serves up the static HTML, CSS, and JS files fast and simply.  

= How Page Caching Benefits Your Website Performance 🚀 =

As soon as you activate Solid Performance, your site will get an immediate boost. You’ll see benefits like these:
🚀 Improved site performance (content delivery speed) 
🚀 Reduced drag on server load
🚀 Measurable, quantifiable stats: lower bounce rates and higher conversion rates

When a site developer or manager is able to improve site performance for a client (for example), they are able to provide improved SEO results and meet a widely accepted expectation that well-run sites do not have slow download or content delivery times. 

== Frequently Asked Questions ==

= Will this help me pass all Core Web Vitals? =

Core Web Vitals is impacted mostly by your theme and the creative assets and scripts you use to build your website. But page caching (the kind Solid Performance leverages) helps specifically to improve your time to “Largest Contentful Paint”, which is one important Web Core Vital metric. 

= How does Solid Performance improve the performance of my website?  =

When Solid Performance is activated on a site, a specific advanced cache drop-in file will be added to the wp-content directory.

Using a drop-in will allow the plugin to handle serving cached responses to users before WordPress has had a chance to load fully since they load prior to MU and normal plugins.

When page caching is enabled, the buffer generated by WordPress will be saved to a static HTML file within the wp-content/cache directory. On subsequent requests to the same post, Solid Performance will respond with the cached page.

= Is Solid Performance compatible with popular plugins like WooCommerce and GiveWP? 

Solid Performance will detect active plugins that have known cache exclusions, like WooCommerce & GiveWP (and more!), and implement them automatically. 

== Screenshots ==

1. Animated GIF showing how to enable the cache
2. The Advanced Settings screen to add exclusions and rebuild the static page cache

== Installation ==

There are several ways to install and activate Solid Performance for your website. Here are two of them:

= Install Solid Performance via the “Add Plugins” screen = 

To install and activate Solid Performance via your WordPress admin area, navigate to “Plugins > Add New Plugin”. On that screen, go to the search field on the far right top of the screen and type in “Solid Performance” and hit Enter. The “Solid Performance” plugin should be your first result. 

In the “Solid Performance” plugin card, click on the “Install Now” button. You’ll see the button change to “Installing”, then it will switch to say “Activate”, click “Activate”. At that point, Solid Performance is active on your website. 

Lastly, navigate to the Dashboard, then navigate to “Settings > Solid Performance” and toggle the option to “Enable Page Cache”. Now your site is SOLID with Solid Performance. 

= Install Solid Performance via SFTP = 

1. Navigate to wordpress.org/plugins/solid-performance and near the top right of the screen, click on “Download.” That will download the solid-performance.zip file. 
2. Unzip the file locally on your computer. That should give you a folder called “solid-performance” with all the plugin files. If there is a sub-folder in that folder also called “solid-performance” then we’ll use the sub-folder. 
3. Upload the whole “solid-performance” sub-folder to the `/wp-content/plugins/` directory
4. Navigate to your WordPress admin area, and then to “Plugins”. You’ll see “Solid Performance” in your list of plugins, but it will not be activated. Click on the “Activate” link.
5. The page will refresh automatically. Navigate to “Settings > Solid Performance”. 
6. Toggle the “Enable Page Caching” option. 

Now your site is SOLID with Solid Performance!

== Changelog ==

= 1.8.0 =

#### Enhancements

* Added Nginx Cache Delivery method.

#### Bug fixes

* Fixed race condition to prevent fatal errors when the plugin is being activated, deactivated or uninstalled.

= 1.7.1 =

#### Security

* Added more safety checks to telemetry opt-ins/opt-outs.

= 1.7.0 =

#### Enhancements

* Added support for <a href="https://developers.cloudflare.com/images/transform-images/" target="_blank">Cloudflare Images Transform via URL</a>.
* Added plugin headers to advanced-cache.php which are visible in the Drop-in section of the plugins page.

#### Bug fixes

* Added a scheduled job to clean up expired cache files.
* Plugin updater improvements and fixes.

= 1.6.1 =

#### Bug fixes

* Fix htaccess rules for WordPress sites installed in a subdirectory.

= 1.6.0 =

#### Enhancements

* Added direct loading of static cache files through .htaccess, eliminating PHP processing for cached pages.
* Added `wp solid perf cache-method status` and `wp solid perf cache-method set (php|htaccess)` CLI commands.

= 1.5.0 =

#### Enhancements

* Added lazy loading for inline CSS background images. Toggle this feature from the Advanced tab.

= 1.4.2 =

#### Bug fixes

* Fix `Specified key was too long; max key length is 1000 bytes` when creating Solid Performance custom tables. 
* Fix Preloader failing when WordPress is installed in a subdirectory.

= 1.4.1 =

* Update dependencies to shrink vendor folder.

= 1.4.0 =

#### Enhancements

* Added the ability to preload your website based on the URLs in your sitemap.
* Added `wp solid perf preload status|start|cancel` commands.
* Purging a single URL from the Admin Bar will now automatically preload that URL.
* Headers set via PHP are now captured when creating cache files and served back with the response.
* Added verbose logging when WP_DEBUG is defined as true. This can be filtered with `solidwp/performance/log/level`, by passing one of: debug, info, notice, warning, error, critical, alert, emergency.

#### Bug fixes

* Do not load invalid configuration values, preventing the settings page from loading.

= 1.3.3 =

#### Bug fixes

* `advanced-cache.php` is no longer deleted when WordPress is updating.
* `Settings > Advanced > Cache Exclusions` now properly save.

= 1.3.2 =

#### Bug fixes

* Updated HTML comment timestamps on cached files to use 24 hour time.

= 1.3.1 =

#### Bug fixes

* Updated HTML comment timestamps on cached files to use the timezone configured in the WordPress dashboard. Timestamps now also include the timezone.
* Resolved an issue where Query Monitor output in the admin bar was missing when Solid Performance was active.
* Fixed an issue where `advanced-cache.php` would be automatically deleted when `WP_CONTENT_DIR` was dynamically changed.
* The `cache_dir` configuration path is now dynamically updated after reading the configuration from the database or `config.php`.

= 1.3.0 =

#### Enhancements

* Added a new HTML comment, "Cached page generated by Solid Performance on $date" to indicate caching is active when debug mode is disabled.
* Introduced the `X-Cached-By: Solid Performance` header to clearly identify cached responses in browser dev tools.
* Implemented intelligent cache purging that clears related pages when a post is changed, including home pages, taxonomy, author, and date archives, and their paginated counterparts.
* Improved overall code structure and performance for better efficiency and maintainability.

#### Bug fixes

* Fixed an issue where using the "Exclude from Page Cache" meta option would not immediately purge the post from the cache.

= 1.2.0 =

#### Enhancements

* We now automatically create and serve compressed cache files using gzip, deflate, brotli and zstd depending on the server config and the visitors browser config. This helps to create smaller cache files and improve response times.
* When debug mode is enabled, we now show the compression algorithm used to compress the file in the HTML comment.
* Added some additional code and performance improvements.

#### Bug fixes

* The advanced-cache.php file now automatically gets replaced when the plugin is updated to prevent site crashes.
* We now remove the advanced-cache.php file if the plugin isn't active to prevent the plugin from unknowingly running when it isn't activated.

= 1.1.0 =

#### Enhancements

* Using "Clear Current Page" from the WP admin bar now accommodates a wider variety of URIs. 
* An admin notice now displays if permalinks are disabled, as this plugin relies upon a custom permalink structure.
* WP notices will now show on the Solid Performance Settings Page.
* Code and performance improvements.

#### Bug fixes

* Caching is now prevented if permalinks are disabled. This avoids anomalies that could occur otherwise.
* An error message now displays if a user without required permissions attempts to purge a page from the cache.
* Redirect without query parameters if purging a page fails due to invalid data.

= 1.0.0 =

* Initial Release
