BACK TO DIRECTORY

Nivoli Edge

by calimonk

0.0
(0 ratings)

Nivoli Edge is a security layer that lives one step above WordPress. Attacks, floods, scanners and code changes are refused at Cloudflare’s edge before a request reaches PHP, and the settings that refuse them live there too, behind an email confirmation, so a hacked WordPress cannot switch them off or install anything. The same edge serves whole HTML pages and right-sized images from the node nearest each visitor, and every number shows up inside WP admin.

Free and managed, in one sentence: the plugin is free and GPL and everything that runs on your own server works without an account; the shields, the locks, the edge cache and the numbers need the managed edge, from 15 euro a month with a 14-day trial.

The Edge Security layer

Wordfence and Sucuri run inside the site they protect. This runs one layer up, at the edge, and the site cannot reach it.

Ten shields, refused before PHP. Your server never boots PHP to turn a request away.

  • Login flood limit (10 attempts per 10 minutes per address)
  • Comment flood limit (5 posts per 5 minutes per address)
  • Search flood limit (30 searches per 5 minutes per address)
  • XML-RPC block (a cached 410)
  • Login country lock (wp-login answers only the countries you list)
  • wp-admin IP lock (your own addresses, with a self-lockout guard and an email rescue)
  • AI-crawler block (GPTBot, ClaudeBot, CCBot and friends; search engines never affected)
  • Stray-PHP lock (every .php request except the real WordPress entry points gets a 404)
  • WordPress surface lock (the REST users list, ?author=N, readme.html, license.txt, the installer, debug.log)
  • Security-headers pack (HSTS, nosniff, frame and referrer policies; your own values win)

Eight of them come with every managed plan; the AI-crawler block and the wp-admin IP lock from the Growth plan up. The stray-PHP and surface locks have a monitor mode that lists what blocking would have stopped before it blocks anything.

Three locks, nothing inside the site can turn off. A takeover of your WordPress admin owns every plugin’s settings page. Ours refuses to act on WordPress’s say-so.

  • Change lock: any change that weakens protection waits for a click on a link mailed to the license holder; the link applies exactly that change, once.
  • Install lock: plugin and theme installs, uploads, updates, deletes and the file editors are refused site-wide until a 15-minute window is opened the same way. Automatic updates and WP-CLI run on the server and are never affected.
  • Origin lock: the edge stamps a per-site secret on every request it forwards and the plugin refuses code changes that arrive without it, so knowing the server’s address is no longer a way around the locks. A self-test reports whether the server enforces it.

Evidence: who did what, from where.

  • Refused installs named by plugin, and every refused attempt in your inbox as it happens.
  • A lock activity log with time and address for every unlock request, clicked link, confirmation and lock change.
  • An attack-surface strip per fortnight, a monthly report by email, and for agencies a posture matrix across every site.

Underneath all of it, Cloudflare’s managed WAF rulesets, including the WordPress rule set, run in front of every managed site.

Pages served from the edge

Full-page HTML caching with surgical purge: only the pages featuring a changed post refresh, never the whole cache.

  • Surrogate-Key / Cache-Tag headers on every cacheable page; purges go to Nivoli, Fastly, Cloudflare Enterprise or your own webhook.
  • Logged-in visitors, carts and checkout always bypass.
  • Stylesheets, scripts and fonts from the edge too, on versioned addresses, so no browser or CDN node holds a stale file after a purge.
  • Origin shield: if your server goes down, the edge keeps serving the last good copy of every cached page for up to 7 days and emails you when it engages and when the origin recovers.

Images served from the edge

URLs rewrite through Cloudflare Image Resizing into right-sized WebP/AVIF variants on the fly. No uploads, no duplicate copies, no migration, no theme changes.

  • Per-size presets, one-click Size mapping from your theme’s registered sizes, a catch-all for everything else.
  • Broken, heavy and fake images found from real traffic, with where each is used and one-click fixes; heavy originals shrink through Tinify.

The numbers, inside WP admin

  • What the edge answered and what it refused, by window, with the most-requested and most-missed URLs.
  • Dead URLs on a Recent 404s page with one-click redirect or block; a Search Console 404 export imported, matched to your own pages and turned into redirect and block rules family by family; All rules: one ordered list of every edge rule with per-rule counts and reordering.
  • Audience without a tracking script: humans versus bots, countries, referrers, devices, served-from-cache speed.
  • Static assets: edge hit rate per file type and which files still travel on plain addresses.
  • A monthly report by email, white-label copies for clients on Business and up.

Free versus managed

Free, on your own infrastructure, no account: image URL rewriting through your own Cloudflare zone (native WP filters, srcset, Gutenberg, WooCommerce, the_content and full-page scan), image rules and size mapping, page-cache tag headers with surgical purge to Fastly, Cloudflare Enterprise or your webhook, prewarm on save, coverage audit with a weekly regression email, fake-image detection and repair, purge-failure alerts, a weekly header self-test, a printable client report, the debug overlay, and WP-CLI.

Managed, with a Nivoli API key: everything in The Edge Security layer above, the managed page cache and image CDN (no Cloudflare account, plan or DNS work), origin shield, URL rules and the 404 inbox, per-path cache duration, the query-param manager, cache protection, dynamic-content safety for WooCommerce, edge insights and the monthly report, custom image hostname and watermarking, and for agencies a fleet console with one key across sites.

Requirements

  • Free: a Cloudflare zone with Image Resizing enabled for the image half (Pro+ plan or per-1000 pricing); a tag-aware edge (Fastly / CF Enterprise / your webhook) for the page-cache half. If Image Resizing isn’t enabled the rewritten URLs 404; the Tools tab has a one-click probe to verify.
  • Managed: none of the above; the managed edge provides both. Just an API key from your Nivoli account.

External services

The free tier’s core image rewriting sends no data to any external service; it only rewrites <img> URLs in your site’s HTML so browsers fetch through your own Cloudflare zone. Beyond that, the plugin contacts external services only for the specific, opt-in features listed below.

Nivoli managed edge (api at html-caching-admin.nivoli.workers.dev, dashboard at console.nivoli.com): used only if you enter an API key. On activation and on a daily background re-check it sends your API key, this site’s URL, the plugin version, and the list of broken-image file paths you have marked handled (so the monthly report can exclude them; these are addresses the CDN already sees in its own traffic) to validate the key and provision your managed CDN/page-cache tenant; it then reads back the aggregate usage statistics shown on the dashboard. If you configure monthly reports or alerts, the recipient email address and optional report branding (a name and logo URL) are stored with your account. No visitor data is ever sent. Terms: https://nivoli.com/terms · Privacy: https://nivoli.com/privacy

Cloudflare (api.cloudflare.com): used only if you configure the Cloudflare Enterprise page-cache backend with your own API token, to dispatch tag-based cache purges when your content changes. Terms: https://www.cloudflare.com/terms/ · Privacy: https://www.cloudflare.com/privacypolicy/

Fastly (api.fastly.com): used only if you configure the Fastly page-cache backend with your own API token, to dispatch surrogate-key purges on content change. Terms: https://www.fastly.com/terms/ · Privacy: https://www.fastly.com/privacy/

TinyPNG / Tinify (api.tinify.com): used only if you add your own Tinify API key and click “Shrink original” on an image, to compress that source file. Only the image you choose is sent. Terms & Privacy: https://tinify.com/terms

Screenshots

Dashboard: what the edge did for you in the last 30 days. Delivered, Protected and your plan at work, with 30-day trends.

Dashboard: what the edge did for you in the last 30 days. Delivered, Protected and your plan at work, with 30-day trends.

Edge shields: the attack surface strip (XML-RPC, logins, AI crawlers, comment and search floods) and every shield with its switch, enforced before your server.

Edge shields: the attack surface strip (XML-RPC, logins, AI crawlers, comment and search floods) and every shield with its switch, enforced before your server.

Locks: change lock and install lock, what they refused (by plugin), the wp-admin IP lock and login country lock, and the lock activity log with time and address.

Locks: change lock and install lock, what they refused (by plugin), the wp-admin IP lock and login country lock, and the lock activity log with time and address.

Lock activity: what the locks refused in the last 14 days, the exact plugin someone tried to install or update, and the log of who unlocked what, when, from which address.

Lock activity: what the locks refused in the last 14 days, the exact plugin someone tried to install or update, and the log of who unlocked what, when, from which address.

PHP &amp; surface shields: stray PHP and enumeration or leftover requests refused, with off, monitor and block for each.

PHP & surface shields: stray PHP and enumeration or leftover requests refused, with off, monitor and block for each.

Stats and overview: hour-by-hour traffic, origin offload, hit rates by window, surgical purges.

Stats and overview: hour-by-hour traffic, origin offload, hit rates by window, surgical purges.

Heaviest images: the files costing the most bandwidth, one-click Tinify shrinking, and what the shrinking has saved so far.

Heaviest images: the files costing the most bandwidth, one-click Tinify shrinking, and what the shrinking has saved so far.

Redirects: legacy URLs answered at the edge, patterns and exact rules with usage, unused rules folded away.

Redirects: legacy URLs answered at the edge, patterns and exact rules with usage, unused rules folded away.

Recent 404s: paths your server keeps answering with a 404, with bot share and one-click redirect or block.

Recent 404s: paths your server keeps answering with a 404, with bot share and one-click redirect or block.

Your audience: humans versus bots, served-from-cache speed, referrers, devices and countries, no tracking script.

Your audience: humans versus bots, served-from-cache speed, referrers, devices and countries, no tracking script.

Static assets: edge hit rate for stylesheets, scripts and fonts, versioned addresses, bandwidth offloaded.

Static assets: edge hit rate for stylesheets, scripts and fonts, versioned addresses, bandwidth offloaded.

Query params: which parameters split the cache, which are guarded, with one-click collapse.

Query params: which parameters split the cache, which are guarded, with one-click collapse.

Plugin Details

Active Installs
0
Total Downloads
493
Version
1.73.1
Requires WP
6.2
Requires PHP
7.4
Tested Up To
7.1
Added
2026-09-03
Last Updated
2026-09-15 10:25am GMT

Ratings

5
0
4
0
3
0
2
0
1
0