Do I need to configure anything after activation?
No. OptiCache is preconfigured with safe, effective defaults that work with virtually any WordPress site. Simply activate and the site will immediately load faster.
What is Cache Warmup (Preload)?
Cache warmup automatically visits pages in the background to pre-generate cached versions. This ensures that first-time visitors receive fast, cached pages rather than waiting for the cache to be built. It can be started manually or configured to run automatically after clearing the cache.
Will this plugin work with my theme?
Yes. OptiCache is designed to work with any properly coded WordPress theme. The default settings are conservative to ensure maximum compatibility.
Can certain pages be excluded from caching?
Yes. URLs can be excluded using wildcard patterns in the Page Cache settings. WooCommerce cart, checkout, and account pages are excluded by default.
Does it work with WooCommerce?
Yes. OptiCache is fully compatible with WooCommerce. Dynamic pages (cart, checkout, my-account) are automatically excluded from caching, and WooCommerce cookies are respected.
How is the cache cleared?
The cache can be cleared from: – The OptiCache settings page – The admin toolbar (if enabled) – WP-CLI commands – Automatically when content is published or updated
What do the colored indicators mean in the admin bar?
The admin bar menu displays colored status beads next to each cache type:
- Page Cache: Green (≤10 cached pages), Yellow (11-50 pages), Red (51+ pages)
- Asset Cache: Green (≤20 files), Yellow (21-100 files), Red (101+ files)
- PHP OPcache: Green (≤45% memory used), Yellow (46-95%), Red (96%+)
- Settings: Always gray (no status)
Green indicates nearly empty, yellow indicates moderately full, and red indicates the cache should be cleared. These provide a quick visual indication of cache status without opening the settings page. However, PHP OPcache is typically full by design, as it repopulates immediately after each PHP execution, so the OPcache indicator will likely remain yellow or red during normal operation.
Should HTTPS redirect be enabled?
Only enable this if an SSL certificate is installed and working. Enabling it without SSL will make the site inaccessible.
Why is XML-RPC blocking disabled by default?
XML-RPC blocking breaks Jetpack and the official WordPress mobile app. Only enable it if these services are not in use.
Why is Bot Blocking disabled by default?
Bot blocking prevents SEO tool crawlers, such as Ahrefs and SEMrush, from accessing the site. If these services are used to monitor backlinks or rankings, blocking their bots would be a waste of the subscription.
What does Disable Emoji do?
WordPress loads emoji scripts and styles on every page by default. Modern browsers have native emoji support, making these extra files unnecessary. Disabling them saves 2 HTTP requests and approximately 10KB per page load.
What is PHP OPcache and why use it?
PHP OPcache is a bytecode caching system built into PHP that dramatically speeds up PHP execution by storing precompiled script bytecode in memory. Instead of parsing and compiling PHP files on every request, the server uses the cached compiled version. OptiCache provides a dashboard to monitor OPcache memory usage, hit rates, and cached files, plus one-click flushing when needed (such as after plugin updates).
Why does OPcache show full immediately after clearing?
This is expected behavior. When OPcache is cleared, it is completely emptied. However, when WordPress loads the next page (including the “cache cleared” confirmation), PHP recompiles and re-caches all the files needed to display that page: WordPress core, the active theme, and all active plugins. OPcache refills within milliseconds because any PHP execution repopulates it. The clear operation did work, but the empty state cannot be observed because checking it requires running PHP. Clearing remains useful after plugin or theme updates to force recompilation of changed files.
Why isn’t Object Cache connecting even though the PHP extension is installed?
Object caching requires two components: a PHP extension (client) and a running cache server (daemon). Many hosting environments have the PHP extension installed, but no actual cache server running.
For Memcached: The php-memcached (PECL) extension allows PHP to communicate with a Memcached server, but a Memcached daemon must be installed and running on the server (typically listening on port 11211). On shared hosting, this service may not be available. On VPS or dedicated servers, the memcached service may need to be installed and started manually.
For Redis: The PhpRedis (PECL) extension allows PHP to communicate with a Redis server, but a Redis server must be installed and running (typically listening on port 6379). Similarly, the service may need to be installed and started separately from the PHP extension.
Support for server configuration is outside the scope of this plugin. Contact the hosting provider to confirm whether the cache server (not just the PHP extension) is available, and what host/port settings to use.
What is GZIP compression?
GZIP compression reduces the size of website files during transfer from the server to visitors’ browsers. The browser automatically decompresses the files on arrival. This typically reduces file sizes by 70-80%, making pages load much faster, especially on slower connections.
What is browser caching?
Browser caching instructs browsers to store files such as images, CSS, and JavaScript for a specified period. On return visits, the browser uses the saved files instead of downloading them again, making repeat visits dramatically faster.
What does “defer JavaScript” mean?
Normally, when a browser encounters JavaScript while loading a page, it stops rendering until the script is downloaded and executed. Deferring instructs the browser to continue displaying page content while downloading scripts in the background, then executes them after the page is visible. This makes sites feel faster because visitors see content sooner.
What are DNS prefetch and preconnect?
When a site loads resources from external servers (like Google Fonts), browsers need time to look up those servers’ addresses (DNS) and establish secure connections. DNS prefetch and preconnect instruct browsers to perform this work early, in the background, so resources load faster when actually needed.
What is the difference between minify and combine?
Minify removes unnecessary characters (spaces, comments, line breaks) from CSS and JavaScript files to reduce their size. Combine merges multiple files into one. Minify is safe and recommended. Combine can occasionally break sites if scripts depend on loading in a specific order, which is why it is disabled by default.
What is the difference between JavaScript and Native lazy loading?
JavaScript lazy loading uses Intersection Observer to detect when images approach the viewport, then loads them with a smooth fade-in animation. Four animation speeds are available (0.4s to 1.0s). Native browser lazy loading uses the built-in loading=”lazy” attribute. It is simpler, but images appear instantly without animation. If the active theme already provides JavaScript lazy loading with effects, choose Native to avoid conflicts.
The website looks broken after enabling an option. What should be done?
Clear the cache and disable the option that caused the problem. The most common culprits are “Combine CSS” and “Combine JS” because some themes and plugins require their scripts to load in a specific order. Minification and defer are usually safe.
The Avada theme is causing conflicts with OptiCache. How can this be resolved?
Navigate to Avada > Options > Performance and disable any features that duplicate OptiCache functionality (JS Compiler, CSS Compiling, Lazy Loading, GZIP, etc.). After disabling, click the “Reset Avada Caches” button and save changes. This clears Avada’s cached files, allowing OptiCache to perform optimizations without conflicts.
Object Cache was enabled, and the site is now inaccessible or redirecting incorrectly.
This can occur if multiple sites share the same Redis or Memcached server without unique prefixes. To fix:
- 01Use FTP or the hosting file manager to delete: /wp-content/object-cache.php
- 02This immediately disables object caching and restores access
- 03Update to the latest version of OptiCache (which includes unique prefixes per site)
- 04Re-enable Object Cache from the settings
The object-cache.php file is a WordPress “drop-in” that loads before plugins. Deleting it is always safe and serves as the emergency fix for any object cache issues.
Why isn’t there a WP-CLI panel in the admin interface?
WP-CLI runs at the server level via SSH, outside the web environment. This allows unlimited execution time for large operations and avoids security risks of web-based command execution. Everything WP-CLI offers is already available through the admin panel buttons; CLI simply provides an alternative for developers who need scripting, automation, or command-line access across multiple sites.
How can OptiCache be completely reset if something goes wrong?
Delete /wp-content/object-cache.php (if object cache was enabled) Use FTP to delete the /wp-content/cache/opticache/ folder Deactivate and reactivate the plugin, or use “Reset to Defaults” in General settings
Is the code stable and secure?
Follows WordPress coding standards with proper sanitization, escaping, nonce verification, and capability checks. Check stability at: https://plugintests.com/plugins/opticache/latest