Directory / plugin

Softminal Cache

v1.1.3 · by Softminal

Page cache, minify, lazy load, WebP, local fonts, database cleanup and a built-in speed audit. 100% free – no Pro version, no upsells, no ads.

About this plugin

Features | Blog | Get Support

Softminal Cache makes your site fast and keeps it safe while doing so. 🛡️ Risky changes are checked on your own site right after you save them, and every change can be undone.

🎁 100% free, forever. There is no Pro version, no upsell, no ads and no account. Every feature is in this plugin, and nothing leaves your server.

🧩 More from Softminal

  • ImageCraft – image optimizer: compression, WebP & AVIF, AI alt text and titles, SEO file names and an image SEO audit. Works side by side with Softminal Cache.
  • B2B Suite for WooCommerce – wholesale prices, customer-group pricing, trade registration, quantity rules and a bulk order form.

⚡ Page cache

  • Pages are stored the first time they are built and served to the next visitors before WordPress loads, through a standard advanced-cache.php drop-in. If the drop-in cannot be installed, pages are still served from inside WordPress.
  • Clears itself when you publish or update content, approve a comment, change the theme, menus or widgets, or install updates. Purge everything or one page from the plugin screen or the admin bar.
  • Separate copy for phones, serve the old copy while rebuilding (stale-while-revalidate), and optional caching of 404 pages, feeds and logged-in users (private per-session copies, never for editors or administrators).
  • Keep pages from 1 hour to 7 days; exclude URLs with wildcards or regular expressions; add your own never-cache cookies; tracking parameters such as utm_*, fbclid and gclid share one cached copy.
  • Cache rules: keep some pages for a different time (from 15 minutes to 7 days, by address pattern), never cache for chosen browsers or apps (user agent), clear extra pages whenever a post is updated, and tick Don’t cache this page on any single post or page.
  • Widget and fragment cache: reuse the output of classic widgets, and of any slow part of a page with the softminal_cache_fragment() helper, even on pages that can’t be cached as a whole (logged-in users, carts). Emptied with the page cache.
  • Multilingual sites (WPML, Polylang): a homepage that redirects by browser language is never cached, translations are cleared together, and preload covers every language.
  • Preload rebuilds pages in the background from your sitemap (or your homepage links), at a speed set from your host’s limits.
  • Browser cache and compression rules for Apache and LiteSpeed, and a snippet to copy for Nginx.
  • Redis object cache: one switch after a connection test (address or socket, database, password stored encrypted, key prefix, TLS). Never replaces another object cache, only clears this site’s keys, and pages keep working if Redis goes down.

✨ Optimize

  • JavaScript: minify, load scripts after the page is visible (defer, WordPress 6.3+), wait for the visitor before running scripts (delay, cookie banners kept working), remove jQuery Migrate, combine neighbouring files, with an exclusion list.
  • Speed hints: connect early to other sites (preconnect, DNS prefetch, suggested from the speed audit), load chosen files first (preload), and open the next page before the click (WordPress 6.8+ speculative loading, configured; a tiny hover-prefetch script on older versions).
  • CSS: minify stylesheets and inline styles, combine neighbouring files, with an exclusion list. Critical CSS and remove unused CSS, generated in your own browser from sample pages of your site (no cloud service): the first screen’s styles go into the page, and each stylesheet can be replaced by just the rules your pages use, with the full file loading on the visitor’s first scroll or tap.
  • Cloudflare and Varnish: clear them whenever this cache is cleared (API token stored encrypted).
  • CDN: serve images, styles, scripts, fonts and media from one or more pull-zone CDN addresses, with a Test button and an exclusion list.
  • HTML: minify the page itself (spaces and comments), leaving code blocks, text boxes, scripts and styles as they are.
  • Fonts: host Google Fonts on your own site, show text while fonts load (font-display: swap), preload the main fonts.
  • Images: lazy-load images, videos and embeds (the first pictures always load at once), add missing width and height, WebP and AVIF copies of new uploads served through <picture> (when your server supports them; the screen shows it), convert existing images in the background, a media audit for huge images and missing alt text, a YouTube preview that loads the player only on click, lazy background images, the main image loaded first (preload), and lazy render for far-down sections.
  • Compress and resize new and existing JPEG and PNG uploads on your own server (GD or Imagick, no cloud), with the original kept so you can restore it, and a Resize button for huge images in the media audit. Gravatar pictures can be kept on your own site.
  • Script Manager: turn any script or stylesheet off everywhere, only on certain pages, or for logged-in users only. Files other files need are never removed.
  • Bloat: remove the emoji script, embeds, Dashicons for visitors, XML-RPC, head clutter, self-pingbacks and version numbers; slow down Heartbeat; limit revisions; turn off RSS feeds, Google Fonts added through WordPress and block styles on pages without blocks; close the WordPress REST API to logged-out visitors; load WooCommerce’s cart fragments, styles and scripts only on shop pages; set the editor’s autosave interval.

🧹 Database

  • Clean post revisions (keeping the newest ones; autosaves are always kept), auto-drafts, trashed posts and comments, spam, expired transients, pingbacks, and data left behind by deleted posts, comments, users and categories, with a confirmation step and a scheduled clean-up (daily, weekly or monthly).
  • Optimise tables and convert old MyISAM tables to InnoDB, each with a dry run first.
  • See where your database space goes, which options are loaded on every page, and which scheduled tasks are stuck.

📊 Dashboard, profiles and safety

  • Speed audit with a score out of 100, measured on your own site in your browser: page load, server response, page weight, requests and the largest image, each with its change since the first audit, a Fix button on each finding and Fix all safe ones in one click.
  • Quick actions on the Dashboard: purge the cache, start a preload, test the cache, and jump to the settings you use most.
  • Profiles: Safe (the default), Balanced and Aggressive, with a table of what each one turns on.
  • Self-check: after a change that could break pages, the plugin loads your homepage and a post, watches for errors, and switches the change back by itself if the site got worse.
  • Undo the latest change for 24 hours, a full settings history to restore any earlier one, and Safe Mode to pause every optimisation while you check something (the page cache keeps working).
  • Detects other caching plugins and host caches (Kinsta, WP Engine, Flywheel, Pressable) and stays out of their way; detects other optimisation plugins and leaves their area to them.

🧰 Tools

  • Import settings from WP Rocket, and (beta) from LiteSpeed Cache, W3 Total Cache, WP Fastest Cache, WP-Optimize, Autoptimize and Perfmatters. You see what came over and can undo it.
  • Factory reset (undoable), and a Purge menu in the admin bar for the roles you choose (editors, shop managers…).
  • Export and import settings as a JSON file; a debug log of what the cache did; a config file (wp-content/softminal-cache.json) for sites managed from code; WP-CLI commands (wp softminal-cache purge|preload|status|db clean|settings export|import).

🌍 Languages

The plugin screen is translated into Spanish, French, German, Italian, Portuguese (Brazil), Japanese and Dutch. Help translate it into your language on translate.wordpress.org.

🔒 Never cached, automatically

So carts, logins and private pages always stay correct:

  • Logged-in users (unless you turn on their private copies) and recent commenters.
  • Cart, checkout, account and receipt pages of WooCommerce, FluentCart and Easy Digital Downloads, and shoppers who have a cart.
  • Search results, previews, password-protected and private pages, page-builder editors.
  • Form submissions and any request that isn’t a normal page view; pages that set a cookie.
  • Any page where another plugin asks for no caching with the standard DONOTCACHEPAGE constant.

🤝 Contribute

Softminal Cache is developed and maintained by Softminal. Contributions are welcome: report a bug, suggest a feature or send a pull request on GitHub.

If another caching plugin is active, deactivate it first; two page caches fight each other.

Third-party services

Softminal Cache does not connect to any external service and collects no data. These things make requests, all started by you:

  • Test cache, Preload, the speed audit and the self-check request pages of your own site (home_url()) to measure or rebuild them. Nothing is sent anywhere else.
  • CDN (Cache CDN, off by default): the Test button asks the CDN address you entered for one WordPress core file (wp-includes/js/jquery/jquery.min.js) and compares it with your copy. When the CDN is on, your visitors’ browsers load your files from that CDN, under your CDN provider’s terms and privacy policy. The plugin itself sends nothing else to it.
  • Cloudflare (Cache Cloudflare and Varnish, off until you connect): with the API token you enter, the plugin calls api.cloudflare.com to find your site’s zone and to clear Cloudflare’s cache when this plugin clears its own (the addresses of changed pages, or everything). Nothing else is sent. See Cloudflare’s terms and privacy policy.
  • Keep Gravatar pictures on your site (Optimize Images, off by default): when a page shows a commenter’s or author’s Gravatar that is not stored yet, your server downloads that picture once from secure.gravatar.com (the address WordPress already uses, built from the email hash) and serves it from your site from then on, refreshing it after a week. Nothing else is sent. See Gravatar’s terms and privacy policy.
  • Host Google Fonts on your site (Optimize Fonts, off by default): when you turn it on, your server downloads the stylesheet and font files your theme already loads from fonts.googleapis.com and fonts.gstatic.com once, in the background, and serves them from your site from then on. See Google’s Fonts terms and privacy policy. Your visitors stop connecting to Google.

Plugin tags