Title: BrenWP Cache
Author: Brendigo
Published: <strong>Desanm 28, 2025</strong>
Last modified: Janvye 2, 2026

---

Search plugins

![](https://ps.w.org/brenwp-cache/assets/banner-772x250.png?rev=3428609)

![](https://ps.w.org/brenwp-cache/assets/icon-256x256.png?rev=3428609)

# BrenWP Cache

 By [Brendigo](https://profiles.wordpress.org/brendigo/)

[Download](https://downloads.wordpress.org/plugin/brenwp-cache.1.0.1.zip)

 * [Details](https://hat.wordpress.org/plugins/brenwp-cache/#description)
 * [Reviews](https://hat.wordpress.org/plugins/brenwp-cache/#reviews)
 *  [Installation](https://hat.wordpress.org/plugins/brenwp-cache/#installation)
 * [Development](https://hat.wordpress.org/plugins/brenwp-cache/#developers)

 [Support](https://wordpress.org/support/plugin/brenwp-cache/)

## Description

**BrenWP Cache** speeds up WordPress by serving cached HTML pages to anonymous visitors.
On a cache miss, WordPress renders the page normally; BrenWP Cache captures the 
final HTML output and stores it as a file. On subsequent requests, the cached HTML
is served early, reducing server load and improving response times.

This plugin is intentionally minimal, transparent, and WordPress.org-friendly:
 *
No telemetry, no tracking, no “phone home” * No external services or dependencies*
Admin UI assets are strictly scoped to this plugin’s pages

### Key features

**Full-page file cache for anonymous visitors**
 * Caches full HTML documents for**
GET** requests only. * Designed for the common “public pages” scenario where most
traffic is anonymous. * Avoids caching in common non-cacheable contexts such as 
admin, AJAX, REST, feeds, previews, searches, and similar endpoints.

**Rules to prevent caching personalized or dynamic content**
 * **Exclude logged-
in users** (recommended; enabled by default). * **Exclude URLs** (one per line):–
Prefix rules (e.g. `/checkout`) – Wildcards (e.g. `/cart*`) * **Exclude by cookies**(
useful for ecommerce/session cookies). * **Exclude by user agent** (bots, scanners,
special clients). * **Bypass query parameter**: when present (e.g. `?nocache=1`)
caching is bypassed for that request. * Optional 404 caching (disabled by default;
enable only if your 404 output is safe and static).

**Tools and automation**
 * One-click **Purge cache** tool in WP Admin. * Optional
auto-purge when posts are updated (useful for content sites that publish/edit frequently).

**Security and WordPress.org compliance**
 BrenWP Cache is built to meet WordPress.
org review expectations: * Capability checks + nonces for state-changing admin actions*
Strict sanitization/validation of input and late escaping for output * Cache directory
is constrained under `wp-content/cache/brenwp-cache` with path safety guards * Cached
HTML is served as a full document (not escaped) and is integrity-verified with an
HMAC signature; unsigned/invalid cache is treated as a miss * No obfuscation, no
remote calls, no dangerous execution patterns

### Recommended usage (important)

A full-page cache should never store private/personalized output. For best results:
*
Keep “Exclude logged-in users” enabled. * Add exclusions for dynamic endpoints such
as: – `/checkout`, `/cart`, `/my-account` (WooCommerce) – Any pages that show user-
specific data, pricing, currency switching, or session-based content * If a page
sets cookies or sends `Cache-Control: private/no-store/no-cache`, it will not be
cached.

Developed by **Brendigo LTD**.

### Privacy

BrenWP Cache does not collect personal data and does not send telemetry. Optional
Preload requests only your own site URLs.
 Caching is file-based on your server,
stored under your WordPress content directory, and controlled by your configuration.

## Screenshots

 * [[
 * Dashboard overview: hit rate, cache size and one-click purge.
 * [[
 * Settings overview: enable cache, TTL and early serving (no drop-ins).
 * [[
 * Quick actions: one-click purge and health shortcut.

## Installation

 1. Upload the `brenwp-cache` folder to `/wp-content/plugins/`.
 2. Activate the plugin via the **Plugins** menu in WordPress.
 3. Open **BrenWP Cache** in WP Admin to configure settings:
 4.  * Enable caching
     * Set TTL (cache lifetime)
     * Add Rules (URL/cookie/user-agent exclusions)
     * Use Tools to purge cache after major changes
 5. Early serving is enabled by default when caching is enabled. You can disable it
    in **BrenWP Cache  Settings** if needed.

## FAQ

### Does this plugin collect data or send telemetry?

No. BrenWP Cache does not collect personal data and does not send telemetry, analytics,
or tracking. If you enable Preload, WordPress will issue requests to your own site
URLs to warm the cache.

### Does it cache pages for logged-in users?

By default, **no**. The recommended setup is to exclude logged-in users to avoid
caching personalized content.

### What should I exclude?

Exclude any endpoints that can be personalized or session-dependent. Common examples
include ecommerce areas (cart/checkout/account), membership pages, pages that display
user-specific content, and any endpoints that vary by cookies or authentication.

### Does it cache pages that set cookies or declare “no-cache”?

No. If a response sets cookies or includes caching prevention directives such as`
Cache-Control: no-cache/no-store/private` (or `Pragma: no-cache`), BrenWP Cache 
will not store it.

### What is the bypass parameter?

If the configured bypass query parameter is present (for example `?nocache=1`), 
the request bypasses caching. This is useful for debugging or forcing a fresh render.

### Can I use regex rules?

Regular expressions are intentionally not supported. Use prefix or wildcard rules
instead.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“BrenWP Cache” is open source software. The following people have contributed to
this plugin.

Contributors

 *   [ Brendigo ](https://profiles.wordpress.org/brendigo/)

“BrenWP Cache” has been translated into 2 locales. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/brenwp-cache/contributors)
for their contributions.

[Translate “BrenWP Cache” into your language.](https://translate.wordpress.org/projects/wp-plugins/brenwp-cache)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/brenwp-cache/), check
out the [SVN repository](https://plugins.svn.wordpress.org/brenwp-cache/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/brenwp-cache/) by
[RSS](https://plugins.trac.wordpress.org/log/brenwp-cache/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.1

 * Added early serving support within the plugin (no drop-ins required).
 * Added Health tab with runtime checks (cache directory permissions, cache size,
   last purge, and counters).
 * Added Preload (WP-Cron) and Garbage Collection (WP-Cron) automation.
 * Added marketing query-string stripping and allowlist query parameters.
 * Added mobile cache variant option (separate cache key for mobile vs desktop).
 * Improved purge behavior and safety guards.
 * Admin UX: one-click global purge button and WP Admin Bar shortcut.
 * Privacy-safe analytics: top cached paths (path-only; no query strings) and daily
   cache size trend sampling (admin-only).
 * Security: do not cache requests with Authorization headers.
 * Security: Preload/Warm-cache accepts only local (same-host) URLs and uses hardened
   HTTP options (reject unsafe URLs; no redirects).
 * Cache correctness: explicitly bypass cache for core endpoints (wp-login.php, 
   wp-json, xmlrpc.php, wp-cron.php).
 * Compatibility: recursive cache directory creation (wp_mkdir_p) to prevent missing
   cache/config on fresh installs.
 * Performance: cache size calculations are transient-cached to avoid frequent full
   disk scans.
 * Code quality: removed deprecated add_option() parameter usage and hardened error
   accounting.

#### 1.0.0

 * Initial WordPress.org-ready release.
 * Full-page, file-based caching for anonymous visitors (GET requests).
 * Modern, strictly scoped WP Admin UI (hero + navigation + cards; no global admin
   overrides).
 * Rules engine for cache bypass/exclusion:
    - Exclude logged-in users
    - Exclude URLs (prefix, wildcard)
    - Exclude by cookies and user agents
    - Optional bypass query parameter
    - Optional 404 caching (disabled by default)
 * Safety hardening:
    - Capability checks + nonces for state-changing admin actions
    - Input sanitization/validation and late output escaping
    - Cache directory constrained to `wp-content/cache/brenwp-cache` with path safety
      guards
    - Cached HTML integrity verification (HMAC signature); unsigned/invalid cache
      treated as miss
    - Avoid caching responses that set cookies or specify no-cache/no-store/private
      directives
 * Tools:
    - One-click purge
    - Optional auto-purge on post updates
 * Uninstall cleanup removes plugin options, stats, HMAC key, and cache directory(
   best-effort).

## Meta

 *  Version **1.0.1**
 *  Last updated **3 months ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [Croatian](https://hr.wordpress.org/plugins/brenwp-cache/), [Dutch](https://nl.wordpress.org/plugins/brenwp-cache/),
   and [English (US)](https://wordpress.org/plugins/brenwp-cache/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/brenwp-cache)
 * Tags
 * [cache](https://hat.wordpress.org/plugins/tags/cache/)[optimization](https://hat.wordpress.org/plugins/tags/optimization/)
   [page cache](https://hat.wordpress.org/plugins/tags/page-cache/)[performance](https://hat.wordpress.org/plugins/tags/performance/)
   [speed](https://hat.wordpress.org/plugins/tags/speed/)
 *  [Advanced View](https://hat.wordpress.org/plugins/brenwp-cache/advanced/)

## Ratings

No reviews have been submitted yet.

[Add my review](https://wordpress.org/support/plugin/brenwp-cache/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/brenwp-cache/reviews/)

## Contributors

 *   [ Brendigo ](https://profiles.wordpress.org/brendigo/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/brenwp-cache/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://brendigo.com/)