=== Rythzen Cache ===
Contributors: rythzen
Tags: cache, performance, speed, minify, preload
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Free lightweight page caching and delivery optimization for WordPress by Rythzen.

== Description ==

Rythzen Cache is an original, fully free WordPress performance plugin focused on page caching and front-end delivery optimization.

Core features:

* File-based public page cache
* Automatic cache purge on content changes
* Configurable cache lifespan
* Optional separate mobile cache
* URL/path cache exclusions
* Safe WooCommerce cart/checkout/account bypass when WooCommerce is active
* Cached HTML minification
* Optional JavaScript defer with handle exclusions
* DNS-prefetch hints
* Preconnect hints
* Critical asset preload links
* Manual cache preload/warming for the homepage and recent content
* Admin-bar cache purge action
* Cache size/file statistics
* Optional Apache browser-cache rules
* Optional Apache compression rules
* Complete uninstall cleanup

Rythzen Cache has no telemetry, ads, license keys, subscriptions, remote dashboard dependency, or paid feature locks.

Important: This plugin uses a WordPress-level file page cache. It serves cached HTML before theme rendering, but WordPress/PHP still boots for the request. Server-level full-page caching (Nginx FastCGI cache, LiteSpeed Cache, Varnish, CDN edge caching, etc.) can be faster when available.

== Installation ==

1. Upload the `rythzen-cache` folder to `/wp-content/plugins/`, or install the ZIP through Plugins > Add New > Upload Plugin.
2. Activate Rythzen Cache.
3. Open Settings > Rythzen Cache.
4. Keep the safe defaults first, then test optional JavaScript/server features before production use.

== Frequently Asked Questions ==

= Is everything free? =
Yes. Version 1.0.0 has no paid tier or locked features.

= Does it collect telemetry? =
No.

= Does it replace server caching? =
No. It provides a portable WordPress-level cache. If your host provides a tested server-level cache, use the host's system as the primary full-page cache and avoid stacking conflicting page-cache layers.

= Is JavaScript defer enabled automatically? =
No. It is off by default because themes and plugins can depend on execution order.

= What happens on uninstall? =
The settings option, cached HTML files, and Rythzen Cache .htaccess marker rules are removed.

== Changelog ==

= 1.1.0 =
Added: self-hosted automatic updates through the new Rythzen update service.
Added: an Updates tab showing the installed and latest version, release channel and last check.
Fixed: the .htaccess written into the cache directory contained literal backslashes before its
quotes, so Apache never applied the deny rule that keeps cached HTML from being served directly.
Fixed: browser-cache and compression rules were never written on a fresh install, because only
the update hook was listened for and a new install creates the option rather than updating it.
Fixed: Preload ran up to 21 blocking requests inside the admin page load and could time out.
It now runs in the background and reports back when it finishes.
Improved: tracking parameters such as utm_source and fbclid no longer create a separate cache
entry for every campaign link.

= 1.0.0 =
* Initial public release.
