WP Manifestindependent plugin directory
manifest / performance / wordpress-plugin

smoxy self-updates

Connects WordPress to the smoxy cache service — purges and invalidates cached pages on the edge when content changes.

by smoxy · github.com/smoxy-eu/wordpress-plugin · website

1stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/smoxy-eu/wordpress-plugin/archive/refs/heads/main.zip

Ships its own WordPress updater (Plugin Update Checker), so new versions show up under Dashboard → Updates.

smoxy for WordPress & WooCommerce

Turn your WooCommerce shop into a speed machine — without rebuilding it. smoxy makes WordPress and WooCommerce shops load 50–800% faster at the edge, serves smaller images automatically, and shields your origin from malicious traffic. This plugin is the glue that keeps your shop and the smoxy edge in lock-step — so prices, stock, product images and content updates always show up the moment you save them.

smoxy.eu · Docs · Hub / Dashboard · Open a free account · Plugin issues


Why WooCommerce shops choose smoxy

Most caching plugins force you to choose: cache everything and break the cart, or cache nothing and stay slow. smoxy doesn't. It runs in front of your shop at the edge, caches what's safe to cache, and lets the cart, checkout, my-account and admin areas fall straight through to the origin. The plugin in this repo wires WooCommerce's own save events into smoxy so cached pages refresh the instant a product, variation, stock level or category changes.

The result, in numbers shop owners have reported back:

  • 3 second page loads down to 0.4 seconds.
  • Product images shrunk from 132 KB to 19 KB with no visible quality loss.
  • Up to 800% faster page rendering — felt in faster Core Web Vitals, higher SEO rankings, and measurably better conversion.

Brands running smoxy in production include trigema, ETERNA, Stadt-Parfümerie Pieper, WM24, babyone, Topperz Store, Jeans-Fritz and foun10.


What you get

Edge caching that actually fits a shop

Full-page HTML caching at the edge, with the WooCommerce flows that must be live carved out by default — no manual configuration to get safe behaviour on day one:

  • Logged-in users, cart, checkout, my-account, add-to-cart links, Woo REST endpoints, wp-admin — bypassed automatically via four Conditional Rules the plugin installs and keeps in sync on your zone.
  • Tag-based invalidation — when a product changes, only the affected pages are refreshed (the product, every category/tag/attribute archive it appears on, the shop page). A bulk edit of ten products is one cache refresh, not ten.
  • Variant-price edits — a classic gotcha with other cache plugins, where saving a variation skips the standard WordPress hook and leaves the parent product page stale. smoxy listens for WooCommerce's own update events, so variant changes always invalidate the parent product.
  • Stock & stock-status changes flowing through Woo's data store (admin fields, REST writes, order-driven decrement) refresh the product and its archives immediately.

Image optimization on autopilot

smoxy optimises every image served through your shop — automatically, without you re-uploading anything:

  • Modern formats per visitor. JPEG and PNG are converted to WebP (≈25–35% smaller) and AVIF (smaller still) for browsers that support them; older browsers receive the optimised original. The URL never changes — format negotiation happens via the Accept header.
  • Lossless-looking compression. smoxy uses the SSIM (Structural Similarity Index) method, defaulting to an SSIM target of 0.9997 — nearly indistinguishable from the original.
  • Thumbnail-aware invalidation. When you upload, replace, regenerate or delete a media item, this plugin BANs every known size at the edge in parallel — the full image, the pre--scaled original (WP 5.3+), and every thumbnail under metadata['sizes'].
  • URI-only cache key for images. The plugin installs a top-priority conditional rule that narrows the image cache key to URI only, so every visitor reuses the same cached file and your image cache hit rate stays near 100%.

Full reference: Image Optimization in the docs.

Security & WAF at the edge

The same edge that serves your pages also protects them:

  • Web Application Firewall that blocks known malicious patterns automatically — safe to switch on for any site, no per-rule tuning required, ruleset maintained by smoxy.
  • Access Rules for IP, country, user-agent, header or path-based allow/block/challenge decisions, evaluated before WAF.
  • Basic Auth for staging environments or restricted areas, with per-path overrides.
  • Under Attack Mode — an emergency dial that adds stricter verification across the board during a live DDoS or abuse spike.

All of this lives at the edge, in front of your origin, so attack traffic never reaches WordPress. Full reference: Security & WAF in the docs.


What this plugin specifically does

  1. One-shot setup wizard. Paste a smoxy hub API token, pick (or create) a zone and origin, and the plugin registers your hostname, fetches the BAN secret, and installs the four managed conditional rules — no manual copy-paste between WordPress and the hub.
  2. Keeps the edge cache fresh automatically. Posts, pages, comments, terms, menus, widgets, theme switches, customizer saves, plugin (de)activation, site-option changes — all of it tagged and invalidated in the background. See the WordPress integration guide for the full event matrix.
  3. WooCommerce-aware out of the box. Listeners stay inert when WooCommerce isn't installed; activate it and product saves, variation saves, stock changes and stock-status changes all flow into the edge cache invalidation pipeline.
  4. Attachment-driven image invalidation. Every thumbnail size for a changed image is purged in one parallel batch.
  5. Manual controls.
    • Purge smoxy cache button in the WordPress admin bar.
    • smoxy → Settings with Purge all, Purge by URL (works for any cacheable asset — pages, images, JS, CSS, fonts), and Purge by tag (e.g. p-42, t-7, home).
  6. Audit & one-click repair of the four managed rules. If a rule drifts (expression, action, stop flag, or the images-rule's position), the settings page surfaces it and the Fix button restores the default.
  7. Extensibility hooks. Re-broadcasts core WP events as smoxy_* actions (smoxy_post_updated, smoxy_post_deleted, smoxy_comment_changed, smoxy_term_changed, smoxy_author_changed, smoxy_flush_all) and a smoxy_pre_purge_urls filter so other plugins can join the invalidation pipeline without touching core hooks.

Requirements

  • WordPress 6.0 or newer (tested up to 7.0)
  • PHP 8.0 or newer
  • A smoxy account — free to create — with a Zone configured for your domain

Installation

From a GitHub release (recommended)

  1. Download the latest smoxy-X.Y.Z.zip from the Releases page.
  2. In WordPress, go to Plugins → Add New → Upload Plugin and upload the zip.
  3. Activate smoxy.
  4. Open smoxy → Settings (cloud icon in the sidebar) and paste an API token from the smoxy hub.
  5. Pick (or create) a zone — the wizard takes care of origin creation, hostname registration, the BAN secret, and the four conditional rules.

From this point on, the plugin keeps your edge cache in sync. No further setup required.

From source (for development)

git clone git@github.com:smoxy-eu/wordpress-plugin.git smoxy
mv smoxy /path/to/wp-content/plugins/
cd /path/to/wp-content/plugins/smoxy
make install   # composer install — runs inside Docker

Then activate smoxy from the WordPress admin.

Updates

Once installed, the plugin checks the GitHub Releases page for new versions on WordPress's normal update schedule (roughly every 12 hours). New releases show up under Plugins → Installed Plugins with the standard one-click update — exactly like a plugin from wordpress.org.


Using the plugin

Purge everything

  • Admin bar: click Purge smoxy cache at the top of any admin or front-end page.
  • Settings page: open smoxy → Settings and click Purge all cache.

Purge a single URL

In smoxy → Settings, enter a URL in the Purge by URL box. Works for any cacheable asset — a product page, a category, a product image, a CSS file, a font — anything served through smoxy.

Purge by tag

The plugin emits cache tags on every cacheable response (p-{post_id}, t-{term_id}, a-{author_id}, home, feed). Enter one or more tags (comma-separated) to refresh every page carrying them — useful for third-party integrations that emit their own tags.

Let it run automatically

You don't need to click anything for normal editing. The plugin watches for changes in WordPress and clears the right pages from smoxy for you — including posts, comments, categories, menus, widgets, theme changes, site settings, product/variation saves, stock movements, and image uploads.


Documentation

Full product documentation lives at docs.smoxy.eu:


Support


Contributing

Contributions are welcome. Read CONTRIBUTING.md and CODE_OF_CONDUCT.md before opening a pull request.

Changelog

See CHANGELOG.md for the full release history.

License

Released under the MIT License. © smoxy.