WordPress plugin intelligence profile

Beplus Performance Booster

Lightweight WordPress optimizer with JS/CSS minification, lazy loading, asset cleanup, and browser cache headers. Zero dependencies.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.1
Current version1.1.14
WordPress coverageTested up to WordPress 7.1
Minimum stackWP 5.0 · PHP 8.2
Directory statusactive
Last directory update28 Oct 20265d ago
Active installationsNewAdoption metric — not a quality score
WordPress.org ratingNo WordPress.org ratings yet
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Beplus Performance Booster version 1.1.14 as active, updated 5d ago and tested up to WordPress 7.1.

Overview

About this plugin

Beplus Performance Booster is a no-bloat performance plugin that gives you fine-grained

control over your site’s front-end assets. All features can be toggled independently

from a single settings page (Settings > Beplus Performance Booster).

All front-end optimisations are bypassed for logged-in administrators so you never

accidentally break the admin panel or your own editing experience.

Feature summary:

  • JavaScript delay (Simple / Advanced mode) and defer with per-script exclude list
  • JS Release Delay: image-load fallback timer for releasing delayed scripts
  • CSS file and inline minification with cache
  • Remove Unused CSS: per-URL cached stripping of unused CSS rules
  • Non-render-blocking stylesheet loading
  • WordPress Core-managed image loading policy with targeted exclusions
  • Remove emoji, wp-embed, Gutenberg CSS, WooCommerce assets on non-shop pages
  • HTML minification and comment stripping
  • Browser cache and gzip/brotli rules via.htaccess
  • Per-page option to disable the cache for specific posts/pages
  • Custom CDN (pull-zone) URL rewriting for static assets
  • Automatic WebP/AVIF image serving when a matching file already exists
  • Cloudflare integration: one-click cache purge, zone auto-detection via API

Token, and Development Mode toggle from wp-admin

Settings Reference

Navigate to Settings > Beplus Performance Booster to configure the plugin.

⚡ JavaScript Optimization

Delay JS Execution

Default: off

Delays all non-excluded front-end scripts until the first user interaction (click,

scroll, keydown, or touchstart), or until the JS Release Delay timer fires —

whichever comes first.

Delay Mode — choose how scripts are intercepted:

  • Simple — converts WordPress-enqueued external scripts to text/plain

placeholders and replays them on first interaction. Low risk, no event-queue replay.

  • Advanced — output-buffer approach that intercepts every <script> tag on the

page (including hardcoded theme scripts and dynamically injected ones) via

MutationObserver. load event queues in

correct order. Test thoroughly before enabling on production.

JS Release Delay (ms) — fallback timer (ms) that releases delayed scripts after

above-fold images and fonts finish loading, without requiring user interaction.

0 = disabled — only user interaction releases delayed scripts.

Defer Non-Critical JS

Default: off

Adds the defer attribute to every non-excluded <script> tag so scripts are

fetched in parallel and executed after the HTML is parsed. jQuery and

jquery-migrate are always protected from deferral.

Exclude JS Files

Default: empty

One URL keyword per line. Any script whose src attribute contains a listed

keyword is excluded from both Delay and Defer. Use this to protect scripts that

g. analytics that need to capture the first page view).

Examples: jquery, woocommerce, my-critical-script

🎨 CSS Optimization

Minify Inline CSS

Default: off

Strips block comments ( /* … */ ), collapses redundant whitespace, and removes

trailing semicolons from every inline <style> block in <head>. License

comments ( /*! … */ ) are preserved. Spaces around + are intentionally kept

so calc(100% + 20px) expressions are never broken.

Minify CSS Files

Default: off

Requires: wp-content/uploads/bepluspb-cache/ directory to be writable

Minifies every enqueued external CSS file and serves the cached version from

wp-content/uploads/bepluspb-cache/. css files and

external CDN stylesheets are skipped automatically. Cache files are named using a

12-character content MD5 hash so they self-invalidate whenever the source changes.

Non-Render-Blocking CSS

Default: off

Converts <link rel="stylesheet"> tags to the preload + onload swap pattern:

></noscript>

This prevents stylesheets from blocking the initial render. A <noscript> fallback

ensures CSS loads correctly even when JavaScript is disabled.

Tip: if you see a flash of unstyled content (FOUC), add your theme’s main stylesheet

URL keyword to the Exclude CSS Files list.

Exclude CSS Files

Default: empty

One URL keyword per line. Stylesheets whose href contains a listed keyword are

left completely untouched by the Non-Blocking, Inline All CSS, Minify CSS Files,

and Remove Unused CSS features.

Remove Unused CSS

Default: off

Requires: wp-content/uploads/bepluspb-cache/ directory to be writable

Scans the fully rendered page and strips CSS rules whose selectors never appear

in that page’s HTML, caching the trimmed stylesheet per URL. This is a static

text match (not a real browser render): the first visit to a URL generates the

trimmed file in the background while still serving the original CSS; later

visits to the same URL load the trimmed version. Classes added dynamically by

JavaScript after page load will not be detected as “used” — add them to the

Unused CSS Selector Safelist below.

Unused CSS Selector Safelist

Default: empty

One selector or keyword per line (trailing * wildcard supported). Rules

matching these are always kept regardless of whether they were detected as

used. Use this for JS-toggled classes (menus, modals, tabs, accordions) and

plugin/page-builder dynamic states.

woocommerce-*

Unused CSS URL Excludes

Default: empty

One URL keyword per line. Matching pages never have unused CSS removed.

Recommended for checkout/cart and other heavily dynamic pages.

🖼️ Lazy Load Images

Enable Lazy Loading

Default: off

Uses WordPress Core’s native media loading policy without rewriting HTML or adding

a JavaScript fallback. 4 or newer, the threshold and exclusion

settings below adjust Core-generated loading attributes. 3

retains its native behavior because Core does not expose that attribute filter.

Skip First N Images

Default: 1

4 or newer, controls Core’s media omission threshold (0–20). The

default 3 leaves Core’s own threshold unchanged. The plugin does not identify or

promise an LCP image.

Exclude by CSS Class

Default: empty

Comma-separated CSS class names. Any <img> that has one of these classes loads

eagerly (not lazily).

Example: hero-image, no-lazy, skip-lazy

Exclude by Element ID

Default: empty

Comma-separated element IDs. Any <img> with a matching id attribute loads

eagerly.

Example: hero-banner, site-logo

Exclude by Filename

Default: empty

Comma-separated partial filename strings. Any <img> whose src URL contains one

of these strings loads eagerly.

Example: logo, hero, banner

🗑️ Remove Unused Assets

Remove Emoji Scripts

Default: off

Removes the WordPress emoji detection script, its inline stylesheet, and the

org DNS prefetch hint. Safe to enable if you use real Unicode emoji in your

content — browsers display them natively without the WordPress helper.

Remove oEmbed / wp-embed

Default: off

js script and the oEmbed discovery links added to <head>.

Also unregisters the oEmbed REST API endpoint. Disable only if you rely on

embedding your WordPress posts inside other websites.

Remove Block / Gutenberg CSS

Default: off

Dequeues wp-block-library, wp-block-library-theme, and global-styles

stylesheets on the front-end. Disable if your theme or content depends on

Gutenberg block styles. Automatically skipped on block (full-site-editing)

themes, whose design is delivered through those stylesheets.

Disable WooCommerce Assets on Non-Shop Pages

Default: off

Requires: WooCommerce active

Dequeues WooCommerce scripts and styles on pages that are unrelated to the shop,

cart, checkout, or account. WooCommerce assets are always kept on those pages.

📄 HTML Optimization

Minify HTML Output

Default: off

Collapses redundant whitespace between HTML tags in the full page output. Content

inside <pre>, <textarea>, <script>, and <style> tags is always preserved

exactly as-is.

Remove HTML Comments

Default: off

g. theme generator tags, plugin banners) from the page

output. Conditional IE comments are also removed.

Remove Inline JS Comments

Default: off

Removes // single-line and /* … */ block comments from inline <script>

blocks in the HTML output. String literals and template literals are never

modified. License comments ( /*! … */ ) are preserved.

Remove Inline CSS Comments

Default: off

Removes /* … */ block comments from inline <style> blocks in the HTML output.

🚀 Browser Cache Headers (.htaccess)

Enable Browser Caching

Default: off

htaccess writable.

htaccess file inside a clearly

labelled block that is never duplicated:

  • Gzip compression (mod_deflate) for HTML, CSS, JS, JSON, SVG, and fonts.
  • Brotli compression (mod_brotli, Apache 2.4.26+) for the same types.
  • Expires headers (mod_expires): 1-year cache for images and fonts, 1 month

for CSS/JS; no-cache for HTML, feeds, plain text and API responses.

  • Cache-Control headers (mod_headers): max-age=31536000, public, immutable

for images and fonts, and for CSS/JS requested with a version query string

version= ); unversioned CSS/JS get 30 days. PHP/HTML get

no-cache, must-revalidate only when the application set no Cache-Control

of its own.

  • Rules are written when you save settings, so re-save the Advanced tab after

updating to refresh an existing block.

Disabling this option or deactivating the plugin removes the injected block cleanly.

📦 JS File Minification & Cache

Minify JS Files

Default: off

Requires: wp-content/uploads/bepluspb-cache/ directory to be writable

Minifies every enqueued JavaScript file using a safe character-by-character comment

stripper that correctly handles string literals, template literals, and URL protocol

slashes ( https:// ). js files and external CDN scripts are

skipped. Cache files use a 12-character content MD5 hash for automatic cache busting.

Lines are never joined to avoid breaking JavaScript’s Automatic Semicolon Insertion

(ASI) rules.

Cache Status

Shows how many CSS and JS files are currently stored in the cache directory

( wp-content/uploads/bepluspb-cache/ ). Use the “Clear CSS/JS Cache” button to delete

all cached files; they are regenerated on the next page load.

The “Beplus Performance Booster” item in the WordPress admin bar (visible to administrators on

both the front-end and back-end) shows cache size and file count in a dropdown panel

and provides a one-click button to clear the cache.

☁️ CDN

Enable CDN

Default: off

Rewrites matching static-asset URLs on this site to the CDN domain configured

below — enqueued CSS/JS, media library images (including responsive srcset ),

matching URLs inside post content and widgets, and any other matching URL in

the rendered page (including root-relative paths written directly into theme

or page-builder markup). External URLs and already-CDN URLs are left untouched.

Like other front-end optimisations, this is skipped for logged-in administrators.

CDN URL

Default: empty

Your CDN pull-zone domain — for example, the hostname assigned when you add

cloud

g. cloud ), BunnyCDN, or KeyCDN, or a custom domain

CNAME’d to one. This is a generic pull-zone rewriter and works with any CDN

provider — it is not an official integration with any of them.

File Types

Default: css,js,jpg,jpeg,png,gif,webp,avif,svg,ico,woff,woff2,ttf,otf,eot,mp4,webm,pdf

Comma-separated file extensions. Only URLs ending in one of these are rewritten to

the CDN; everything else (PHP endpoints, REST/AJAX requests, admin URLs) is

untouched by design since the matching is extension-based.

Exclude from CDN

Default: empty

One URL keyword per line. URLs containing any of these strings stay on your own

domain instead of being rewritten to the CDN.

Serve WebP/AVIF Images

Default: off

avif or

webp file when one already exists next to it and the visitor’s browser

declares support for that format (via the Accept header). Prefers AVIF over

WebP when both are supported and both files exist. This plugin does not

generate or convert any images itself — it only rewrites the URL when a

g. created by WordPress core,

a theme build step, or another optimization/conversion tool).

🔶 Cloudflare

Keep Cloudflare’s edge cache in sync with this plugin’s own cache, and

control Cloudflare Development Mode, without leaving wp-admin. This does

not set up Cloudflare as a CDN/DNS proxy for you — it only talks to a

Cloudflare zone you have already added your domain to. All Cloudflare API

calls are admin-triggered only (nonce + capability checked, and rate

limited); nothing is called automatically on a regular front-end page load.

Enable Cloudflare Integration

Default: off

When on, the existing “Clear Cache” button also purges Cloudflare’s cache

for the configured zone, in addition to this plugin’s own CSS/JS cache.

API Token

Default: empty

Your Cloudflare API Token (not a Global API Key — legacy Global API Keys

are not supported). Create one at

com/profile/api-tokens

scoped to Zone > Cache Purge and Zone > Zone Settings. Click Test

Connection to validate the token and auto-detect the matching zone for

this site’s domain — the zone ID/name are never typed in by hand, only

ever written by a successful Test Connection.

Matched Zone

Read-only, auto-populated by Test Connection.

Shows the Cloudflare zone name and ID that was matched to this site’s

domain. Displays “Not configured” until Test Connection succeeds.

Purge Cloudflare Now

Button in the “Cloudflare Cache” card — immediately purges everything on

the configured zone via the Cloudflare API, independent of the main

Clear Cache button.

Development Mode (Turn ON / Turn OFF / Check Status)

Buttons in the “Development Mode” card — temporarily bypasses Cloudflare’s

cache so origin changes show up immediately, useful while actively editing

a live site. Cloudflare automatically turns Development Mode off after 3

hours; “Check Status” always re-queries the live value from Cloudflare

rather than trusting a locally cached state.

Per-Page Cache Disable (Meta Box)

Every post and page edit screen includes a “Beplus Performance Booster” meta box in the sidebar.

Checking Disable CSS/JS cache optimizations for this page/post stores the

_bepluspb_disable_cache flag in post meta. When set, the Minify CSS Files and Minify

JS Files features are bypassed for that specific URL and the original (unminified)

files are served instead. Useful for debugging or resolving conflicts on a specific

page without disabling minification site-wide.

About BePlus

This plugin is developed and maintained by BePlus,

a WordPress and Shopify development studio with 10+

years of experience building themes and plugins for

nonprofits and eCommerce brands.

com.

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • lazy load
  • cache
  • minify
  • optimization
  • performance
Compatibility & maintenance

Compatibility & maintenance

Tested with WP 7.1

Marked as tested with the current WordPress 7.1 release.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.1
Minimum requirementsWordPress 5.0 · PHP 8.2
Update activity28 Oct 20265d ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

Version1.1.131.1.14
WordPress compatibility7.1.37.1.4
Version1.1.121.1.13
WordPress compatibility7.1.27.1.3
Version1.0.101.1.12
Version1.0.91.0.10
WordPress compatibility7.0.47.1.2
PHP requirement8.18.2
Version1.0.71.0.9
PHP requirement7.48.1
Version1.0.51.0.7
Version1.0.41.0.5
Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.