BaseCloud Boost

外掛說明

BaseCloud Boost is a professional-grade WordPress performance plugin that dramatically speeds up your website through intelligent full-page caching, asset optimization, and smart cache management.

Core Features

Page Cache

  • Full-page HTML caching that bypasses WordPress and PHP entirely for maximum throughput
  • GZIP and Brotli compression variants stored alongside each cached page
  • Smart cache invalidation on post updates, comment submissions, and taxonomy changes
  • Configurable cache lifetime (default: 24 hours)
  • Separate mobile device cache for responsive-aware caching
  • Cache exclusion by URL pattern or cookie name

Asset Optimization

  • HTML, CSS, and JavaScript minification
  • CSS and JS file combining to reduce HTTP requests
  • JavaScript deferral for faster first paint
  • Critical CSS extraction and inline injection
  • Remove query strings from static asset URLs for better CDN hit rates
  • Async-load non-critical Google Fonts with font-display=swap

Media Optimization

  • Reliable native lazy loading for images, iframes, and videos — defers off-screen media without ever hiding it, so images always appear
  • On-the-fly image compression — generates high-quality WebP copies of your images on upload, plus a one-click Bulk Compress tool for your existing media library
  • Quality-preserving compression — originals are never altered; WebP copies are created alongside them at a tunable visually-lossless quality
  • WebP and AVIF serving — automatically serves the next-gen format when available
  • Video facade for YouTube and Vimeo — replaces iframes with click-to-play thumbnails
  • preload=”none” applied to video tags for faster page loads

Cache Preloader

  • Automatic sitemap-based URL discovery
  • Background batch processing to keep the cache warm
  • Real-time progress tracking in the admin dashboard

CDN Integration

  • Generic CDN hostname rewriting for any CDN provider
  • Cloudflare API cache purging — automatically clears Cloudflare edge cache on purge
  • BunnyCDN API cache purging — mirrors local purge events to your Pull Zone

Database Optimization

  • Post revision cleanup
  • Auto-draft and trashed post/comment removal
  • Expired transient removal
  • Orphaned postmeta cleanup
  • Table optimization (OPTIMIZE TABLE)

Security Headers

  • X-Content-Type-Options, X-Frame-Options, Referrer-Policy
  • Permissions-Policy (FLoC/Topics API opt-out)
  • Strict-Transport-Security (HSTS) for HTTPS sites

Developer-Friendly

  • Full hook API: filter cache behaviour, modify HTML before write, extend CDN purge logic
  • WP-CLI commands for cache management
  • PSR-4 autoloaded class architecture

External Services

BaseCloud Boost connects to the following external services only when you explicitly configure them in the plugin settings. No data is sent to any third-party service by default.

Cloudflare Cache Purge API (Optional)

If you enable Cloudflare CDN integration and provide a Zone ID and API Token, the plugin calls the Cloudflare API to purge cached content whenever your local cache is cleared.

  • Service: Cloudflare, Inc.
  • What it is used for: Purging edge-cached pages so visitors see fresh content after a cache clear.
  • When data is sent: Only when you trigger a cache purge (manually, on post save, or via plugin action).
  • Data sent: List of URLs to purge and your Cloudflare Zone ID (via your API token).
  • API endpoint: https://api.cloudflare.com/client/v4/zones/{zone_id}/purge_cache
  • Terms of Service: https://www.cloudflare.com/terms/
  • Privacy Policy: https://www.cloudflare.com/privacypolicy/

BunnyCDN Cache Purge API (Optional)

If you enable BunnyCDN integration and provide an API Key and Pull Zone ID, the plugin calls the BunnyCDN API to purge cached content whenever your local cache is cleared.

  • Service: BunnyWay d.o.o. (BunnyCDN)
  • What it is used for: Purging Pull Zone edge cache so visitors receive fresh content.
  • When data is sent: Only when you trigger a cache purge.
  • Data sent: URLs to purge and your API key.
  • API endpoints: https://api.bunny.net/purge and https://api.bunny.net/pullzone/{id}/purgeCache
  • Terms of Service: https://bunny.net/tos/
  • Privacy Policy: https://bunny.net/privacy/

Performance Metrics Webhook (Optional)

If you configure a webhook URL in the plugin settings, BaseCloud Boost will POST a JSON payload containing anonymous performance metrics to that URL on a daily cron schedule.

  • Service: Custom endpoint configured by you.
  • What it is used for: Sending performance data to an external monitoring or reporting system.
  • When data is sent: Once per day via a scheduled cron event, and when you manually send a test from the admin panel.
  • Data sent: Cache hit rate, cache size, bytes saved (HTML/CSS/JS), last purge time, plugin version, site URL, and site name. No user data or passwords are included.
  • Endpoint: Your custom URL — you are responsible for its security and privacy compliance.

Google PageSpeed Insights API (Optional)

If you enter a PageSpeed Insights API key in the Lighthouse settings, the plugin calls Google’s PageSpeed Insights API to run automated Lighthouse audits for your site.

  • Service: Google LLC (PageSpeed Insights)
  • What it is used for: Running automated Lighthouse performance audits (Performance, Accessibility, Best Practices, SEO scores).
  • When data is sent: When you manually trigger an audit from the Lighthouse settings page, or on the scheduled Lighthouse cron (if enabled).
  • Data sent: Your site URL and your API key.
  • API endpoint: https://www.googleapis.com/pagespeedonline/v5/runPagespeed
  • Terms of Service: https://developers.google.com/terms
  • Privacy Policy: https://policies.google.com/privacy

Vimeo oEmbed API (Conditional)

If a page contains a Vimeo video facade, the plugin’s frontend JavaScript fetches the video thumbnail from the Vimeo public oEmbed API. This happens in the visitor’s browser, not on the server.

  • Service: Vimeo, Inc.
  • What it is used for: Retrieving the video thumbnail image to display in the click-to-play facade.
  • When data is sent: When a page containing a Vimeo video facade is viewed by a visitor.
  • Data sent: The Vimeo video ID (no user data or authentication is required).
  • API endpoint: https://vimeo.com/api/v2/video/{id}.json
  • Terms of Service: https://vimeo.com/terms
  • Privacy Policy: https://vimeo.com/privacy

Google Tag Manager / Google Fonts Preconnect Hints (Conditional)

When the Resource Hints module is enabled, the plugin outputs <link rel="preconnect"> and <link rel="dns-prefetch"> hints for common third-party origins (Google Tag Manager, Google Analytics, Google Fonts, jsDelivr/cdnjs). These are passive hints that tell the browser to pre-establish connections — no data is sent by the plugin itself.

  • Service: Various (Google LLC, Cloudflare, Inc.)
  • What it is used for: Reducing connection latency for third-party resources already loaded by your theme or other plugins.
  • When data is sent: The browser (not the plugin) initiates the connection. No plugin data is transmitted.
  • Terms of Service / Privacy: Governed by the respective third-party services.

All remote requests originating from the plugin server-side use WordPress’s built-in wp_remote_post() / wp_remote_get() functions and respect your server’s SSL configuration.

安裝方式

  1. Upload the basecloud-boost folder to the /wp-content/plugins/ directory.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. Navigate to BaseCloud Boost > Dashboard to configure.
  4. Enable Page Cache and click Boost Cache to start caching immediately.

常見問題集

Does BaseCloud Boost work with WooCommerce?

Yes. Cart, checkout, and My Account pages are automatically excluded from caching. Active WooCommerce cart session cookies bypass the cache transparently.

Is it compatible with WordPress Multisite?

Yes. BaseCloud Boost supports WordPress Multisite with per-site cache directories.

Can I use it with Cloudflare or BunnyCDN?

Yes. BaseCloud Boost includes Cloudflare and BunnyCDN API integrations. When you purge the local page cache, the plugin automatically purges the corresponding edge cache too.

Will it conflict with other caching plugins?

Running multiple full-page caching plugins simultaneously is not recommended and can produce unexpected results. BaseCloud Boost detects and warns you about other active caching plugins on the Dashboard.

What if my site breaks after activating the plugin?

Deactivate the plugin from the Plugins screen. This automatically removes the advanced-cache.php drop-in and disables WP_CACHE, restoring your site to its previous state.

Does BaseCloud Boost modify wp-config.php?

Yes. On activation it sets define( 'WP_CACHE', true ) in wp-config.php so WordPress loads the advanced-cache.php drop-in. On deactivation this line is removed. The change is minimal and clearly labelled so it is easy to identify.

使用者評論

這個外掛目前沒有任何使用者評論。

參與者及開發者

以下人員參與了開源軟體〈BaseCloud Boost〉的開發相關工作。

參與者

將〈BaseCloud Boost〉外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

變更記錄

1.0.7

Two features that silently didn’t work now do

  • Cache preloading now actually runs. The preloader queued URLs and showed progress, but its background worker was never registered, so the crawl never started and progress sat at 0%. The batch-processing cron and its schedule are now booted on every request (including WP-Cron), so “Preload Cache” properly warms the site in the background.
  • Multisite: deleting a network site now clears its cache. Cache is stored by URL, but deletion looked for a non-existent per-blog-ID folder, so a removed site’s cached pages were left behind. Deletion now purges the cached pages for the site’s actual domain and path.

1.0.6

Critical CSS fix + automatic database cleanup

  • Critical CSS toggle now works. Pasting CSS into the Critical CSS box had no effect unless you also knew it was applied regardless of the on/off switch, while a second (per-URL) code path read a store that was never populated and did nothing. Now the Enable Critical CSS toggle properly controls whether your above-the-fold CSS is inlined, and the dead per-URL path has been removed.
  • Scheduled database cleanup (new). Database Automatic Cleanup can now run a safe, unattended cleanup on a daily or weekly schedule — post revisions, auto-drafts, spam comments, expired transients and orphaned post meta. Destructive/heavy operations (emptying trash, OPTIMIZE TABLE) are deliberately left to the manual buttons. Off by default.

1.0.5

PageSpeed / Core Web Vitals improvements

  • Self-host Google Fonts (new). Boost can now download the Google Fonts stylesheet and its woff2 files to your server once and inline the localised @font-face CSS directly in the page. This removes the render-blocking request to fonts.googleapis.com and the extra DNS/TLS handshake to fonts.gstatic.com — both common PageSpeed Insights flags — and serves fonts from your own origin with font-display: swap. The download happens on a single cache-priming request and is reused for every visitor; the now-redundant Google Fonts preconnect hints are dropped automatically. Enable under Media Google Fonts Self-Host Google Fonts.
  • LCP image control (new). A new “Never Lazy-Load These Images” list (Media LCP / Above-the-Fold Images) lets you protect your hero/banner from lazy loading by URL fragment or CSS class, for the cases the automatic detection can’t infer.
  • Safer Delay JavaScript. Delayed scripts now honour the data-no-delay attribute and the widely-used data-cfasync="false" opt-out, so scripts that must run immediately keep working.

1.0.4

Geolocation / currency pricing now survives caching, plus WooCommerce and stability fixes

  • Per-country & per-cookie cache variants. The page cache used to store one frozen HTML file per URL, so a geolocation/currency switcher would “stick” on whichever currency the first visitor saw — e.g. a South African visitor being shown USD. Boost now stores a separate cached copy per visitor country and per currency cookie, so geo pricing keeps working while pages are still served from cache. Enable Page Cache Geolocation & Currency Separate Cache per Country; common currency-switcher cookies (Aelia, WOOCS, WPML, etc.) are handled automatically, and a new BCBOOST_resolve_country filter lets a theme supply the country when there’s no GeoIP header. Variant responses are marked private so a CDN can’t collapse them back into one.
  • WooCommerce cache exclusions now actually apply. The BCBOOST_cache_reject_uri / BCBOOST_cache_reject_cookies / BCBOOST_do_generate_cache developer filters were documented but never executed, so WooCommerce’s own cart/checkout/account exclusions silently did nothing. They are now enforced on the cache-write path.
  • WooCommerce mini-cart fix. Cart-fragments and add-to-cart scripts are no longer deferred/delayed, so the mini-cart and cart count keep updating on cached pages.
  • Mobile cache actually works now. The separate-mobile-cache option served mobile visitors but never wrote a mobile cache file, so mobile pages were re-rendered on every request. Mobile variants are now written and served correctly. Because most themes are responsive (identical HTML for both), separate mobile cache now defaults to off on new installs for a higher cache hit rate — turn it on only if you run a separate mobile theme or AMP. Existing sites keep their current setting.
  • Targeted purges now clear every variant. Purging a URL removes all of its cached variants (desktop/mobile/country/cookie, plus their GZIP/Brotli copies) instead of a fixed handful of filenames.
  • HTML minifier can no longer blank a page. On very large pages a single regex hitting PHP’s pcre.backtrack_limit could return null and wipe the whole document. Every step now falls back to the original HTML, so a failed optimisation simply skips itself instead of breaking the page.
  • LCP fix — stop lazy-loading the hero image. The lazy loader treated the first <img> in the DOM (usually the header logo) as the LCP, gave it fetchpriority="high", and then lazy-loaded the real hero image even when the theme had already marked it fetchpriority="high" and preloaded it. It now respects an existing priority/eager image as the LCP, never lazy-loads it, doesn’t steal priority for the logo, and won’t emit a duplicate preload. Also fixed malformed <img … / fetchpriority> output from appending attributes after a self-closing slash.
  • Google Fonts hints no longer corrupted. The optimizer was appending ?display=swap to preconnect/dns-prefetch hints (e.g. href="https://fonts.googleapis.com?display=swap"). It now only rewrites the actual font stylesheet link.
  • Corrected nginx serving rules. The recommended nginx snippet omitted the scheme directory (so it never matched the real cache files) and mishandled pre-compressed files (raw Brotli/GZIP served without Content-Encoding). The new snippet is variant-aware (mobile, currency/geo cookies, per-country), skips the cache safely for logged-in/cart/query-string requests, and uses gzip_static/brotli_static for correct compressed serving.

Server cache & object cache compatibility (no clashes)

  • Varnish / reverse-proxy support. When enabled (Advanced Server Cache & Compatibility), every BaseCloud Boost purge now also clears Varnish over HTTP — a PURGE for single URLs and a BAN for site-wide clears — so the proxy never serves stale HTML. Supports separate Varnish server addresses (preserving the site host in the Host header) and ships a ready-to-paste, ACL-restricted VCL snippet.
  • Object Cache Pro / Redis / Memcached: guaranteed coexistence. BaseCloud Boost is a page cache and runs alongside a persistent object cache. It never installs a competing object-cache.php drop-in and never calls wp_cache_flush() (which would wipe the object cache on every page purge), and it registers its own group as non-persistent. The Advanced screen now detects and reports the active object cache backend.
  • Hosting auto-detection now actually runs. The host detector (WP Engine, Kinsta, SiteGround, LiteSpeed, Cloudways, Pantheon, and more) was defined but never booted, so its host-specific tweaks did nothing. It now runs: on hosts that provide their own full-page cache (WP Engine, Kinsta, Pagely, Pantheon, WP.com VIP) BaseCloud Boost’s file cache disables itself to avoid double-caching, and host/LiteSpeed/SiteGround caches are purged alongside ours.

1.0.3

Combine CSS is now safe — big win for Elementor and other builder sites

  • Combining CSS now rewrites relative url() and @import paths to absolute URLs. Previously, combining stylesheets into a single bundle could break web fonts (e.g. Font Awesome icons turning into boxes) and CSS background images, because their relative paths resolved against the bundle’s location. This made Combine CSS unsafe on page-builder sites with many stylesheets — exactly where it helps most. It now works correctly, letting heavy Elementor/ElementsKit pages collapse dozens of render-blocking CSS requests into a handful.
  • Per-file CSS minification also rewrites relative paths now, so individually minified stylesheets never lose their fonts or images either.
  • Combining no longer folds media="print" (or other non-screen) stylesheets into the main bundle, so print styles can’t leak onto the screen.

1.0.2

Critical Bug Fix

  • Fixed a JavaScript minification bug that could break a site’s scripts — most visibly leaving a theme “preloader”/loading screen spinning forever so the page never appeared. The minifier preserved quoted strings before stripping comments, so an apostrophe inside a code comment (e.g. “don’t”, “we’re”) was mistaken for the start of a string and swallowed real code, producing invalid JavaScript. The minifier is now a proper single-pass lexer that correctly understands strings, template literals, regular expressions, and comments, and never breaks Automatic Semicolon Insertion. Minify JavaScript is safe to leave enabled again.

1.0.1

Performance

  • Major front-end speed improvements: cached the modern-image (WebP/AVIF) format lookups so pages no longer hit the disk for every image on every request.
  • Removed a redundant full-page processing pass in the lazy loader — less PHP work per uncached request and faster Time to First Byte.

Bug Fixes

  • Fixed “I cleared the cache but still see the old page.” HTML pages were being sent to browsers with a long cache lifetime, so browsers (and shared caches) kept serving their own copy for hours and a server-side purge could not reach them. HTML is now always revalidated by the browser (a cheap 304 when unchanged), while static assets keep their long-term caching — so content edits appear immediately after a purge. Logged-in admins/editors now always see live, uncached content.
  • The drop-in and .htaccess rules now self-heal on update: updating the plugin no longer leaves a stale advanced-cache.php behind, so fixes take effect without a manual deactivate/reactivate.
  • Fixed lazy loading hiding images, iframes, and videos. The previous JavaScript placeholder approach could leave media permanently invisible if a script failed to run. Lazy loading now uses the browser’s reliable native loading="lazy" and never hides content.
  • The “Boost Cache” button in the admin toolbar no longer reloads you back to the dashboard. It now clears the cache instantly via AJAX with a rocket animation and keeps you on the current page.

New Features

  • Image compression: BaseCloud Boost now generates high-quality WebP copies of JPEG/PNG uploads automatically. A new Bulk Compress tool on the Media screen compresses your entire existing media library in the background, with live progress. Originals are kept untouched, so quality and your media library are never broken.

Security

  • API keys and secrets (Cloudflare API token, BunnyCDN API key, webhook secrets, PageSpeed Insights API key) are now encrypted at rest in the database using authenticated encryption.
  • Secret fields are now masked in the admin UI and are never printed into page source.
  • PageSpeed Insights audits now run through a secure server-side proxy, so your API key is no longer exposed to the browser.

1.0.0

  • Initial public release.
  • Full-page HTML caching with GZIP and Brotli compression variants.
  • HTML, CSS, and JavaScript minification and combining.
  • JavaScript defer and delay strategies.
  • Critical CSS extraction and inline injection.
  • Native lazy loading for images, iframes, and videos.
  • WebP and AVIF next-gen image serving.
  • YouTube and Vimeo video facade (click-to-play thumbnails).
  • Sitemap-based cache preloader with real-time progress tracking.
  • Cloudflare API cache purge integration.
  • BunnyCDN API cache purge integration and URL rewriting.
  • Generic CDN hostname rewriting.
  • Database optimizer (revisions, transients, orphaned postmeta).
  • Security headers module (HSTS, X-Frame-Options, Referrer-Policy, Permissions-Policy).
  • Heartbeat API throttle to reduce admin-area server load.
  • Performance metrics webhook for external monitoring.
  • WP-CLI commands for cache management.
  • WordPress Multisite support.
  • WooCommerce cart and checkout cache exclusion.
  • Google Fonts optimization with font-display=swap.