WordPress 6.0+ PHP 7.4+ Free · GPL v1.21.1 WordPress.org: in review

Your site, served from the edge. Fast, up, and defended.

Nivoli Edge is the edge platform for WordPress: whole pages and every image served from the Cloudflare node nearest each visitor, so pages load faster everywhere instead of round-tripping to your one server. Your site stays online when the origin goes down, attack junk is stopped before PHP runs, and you get audience analytics without a tracking script. One plugin, one dashboard: let us run the edge for you, or bring your own Cloudflare.

Nivoli Edge dashboard: 59% of 4.05M requests answered at the edge in 30 days
A real month on the managed edge: 2.37M of 4.05M requests answered before they reached the server, 178 GB of bandwidth the origin never carried. One dashboard for images and pages.
Fast
Pages load from next door
Whole HTML pages and images served from the Cloudflare node nearest each visitor, not a round-trip to your one server. 59% of traffic never touched the origin on the site below, last 30 days.
Stays up
Outages become non-events
Origin Shield serves the cached site for up to 7 days while your server is down, and emails you.
Defended
Attacks die before PHP runs
Login floods, XML-RPC abuse, AI crawlers and junk URLs stopped at the edge: 55k+ in a fortnight on the same site.
Measured
Analytics without cookies
Pageviews, countries, referrers and devices from the edge. No script, no consent banner.

Traffic numbers are live measurements from one real production site on the managed edge (the screenshots on this page), not averages or projections. Your numbers depend on traffic shape and cache fit.

The plugin is free. The managed edge is the product.

Every feature that runs on your own server is free, forever. A Nivoli subscription runs the CDN and page cache for you (no Cloudflare account, plan, or DNS work) and lights the plugin up with live edge analytics, URL rules, and security shields. Paste a key, done in under a minute.

See managed plans

Stays up · managed

Your server can go down. Your site doesn't.

Outages become non-events

When your server errors or stops responding, the edge switches to serving the cached copy of your site, for up to 7 days, automatically. Visitors keep browsing; Google keeps crawling. You get an email the moment the shield engages and another when your server recovers. No monitoring service to configure, no status page scramble.

Honest incident history

Every outage is logged with real durations, and single-request blips are kept apart from actual incidents, so the history reads like what happened, not like noise. It's the difference between "the site was down for 40 minutes last night" and never knowing.

Included on every managed plan, on by default, nothing to configure.

Defended · managed

Junk dies at the edge. Your server never sees it.

410 blocks for dead routes

Old CMS ghosts, probe paths, scanner favorites: one regex rule answers them with a cached 410 Gone at the edge, with per-rule fired counts so you can see each rule paying its rent.

301/302 redirect manager

Map moved and legacy URLs to their new homes, served straight from the edge with hit tracking. Your origin never renders a redirect again.

One-click block from the error log

The Recent Errors panel shows exactly which junk URLs hammer your origin. Blocking one is a single click; it becomes an edge rule on the spot.

Security shields before PHP

XML-RPC shut off, wp-login locked to your countries, and on Growth plans: login rate-limiting, a wp-admin IP lock with email self-rescue, and one-switch AI-crawler blocking (GPTBot, ClaudeBot, CCBot and friends get a 403; verified search engines stay welcome). All enforced at the edge before a request ever reaches your server.

Query-param junk absorbed

?utm_*, ?fbclid, ?author=1 probes: tracking noise collapses into the cached page instead of splitting your cache, while real functional params keep working.

What-was-blocked visibility

A live log of everything the rules caught, by path and rule, windowed from 6 hours to 7 days. You see the junk you no longer pay to serve. Cache-purge triggers can be locked to your own IPs, too.

Edge security pane: attack-surface tiles, XML-RPC blocked, login country lock with 55.6K logins stopped in 14 days
Edge shields on a live site: 55.6K login attempts and 1.8K XML-RPC hits stopped in 14 days, AI-crawler blocking, wp-admin IP lock, login rate-limiting, and a one-switch security headers pack. All enforced before PHP ever runs.

Measured · managed

Know your traffic. Without the tracking script.

Human pageviews, countries, referrers and devices, measured at the edge from requests you're already serving. No JavaScript snippet, no cookies, no consent banner needed, and bots are counted separately instead of inflating your numbers. A monthly digest lands in your inbox; the full panel lives in WP admin.

Countries come from Cloudflare's own geolocation, aggregated per country: no visitor-level data is ever stored.

Stats and audience pane: hour-by-hour traffic, human pageviews vs bots, top referrers and visitor countries
A live fortnight: 829k pageviews split into 383k humans and 446k bots, hour-by-hour cache traffic, top referrers, and where visitors actually are.

See what the edge does for your site.

Fourteen days, full features, a card at checkout but nothing billed until the trial ends. The dashboard shows your own offload, shield and security numbers within the first hour of traffic.

Start the 14-day trial

Fast · images

Every image fully optimized. Never a byte bigger than needed.

Right-sized, every time

Each image is served at the exact dimensions its slot needs, per device and pixel density, generated on the fly from your one original. No 2000-pixel photo squeezed into a 300-pixel column ever again.

The lightest format the browser supports

WebP or AVIF automatically per visitor, falling back gracefully for old browsers. Typically 60–90% smaller than the original file, with no visible quality loss.

Nothing escapes

Thumbnails, srcset, Gutenberg blocks, WooCommerce, inline content, CSS backgrounds, lazy-load attributes: rewritten at the WordPress filter boundary, so theme quirks are covered too.

No migration, no storage bill

Your originals stay exactly where they are. Variants render at the edge and are cached on the Cloudflare node nearest each visitor, so images arrive fast worldwide; nothing is duplicated, re-uploaded, or held hostage.

Safe by default

If a transform ever fails, or you hit your plan's cap, the original image serves straight from your site. Visitors never see a broken image; worst case is an unoptimized one.

The library itself gets healthier

Tinify compression shrinks oversized originals in place (backup kept), and the fake-image scanner finds and repairs corrupt files pretending to be images.

Fast · pages

The whole page, from the node nearest your visitor.

Not just less server load, faster pages

Most caching plugins still render on, or fetch from, your one server in one location. Nivoli caches the full HTML across Cloudflare's global network, so a reader in Sydney gets the page from Sydney and a reader in Berlin from Berlin, no round-trip to your origin. Lower time-to-first-byte for every visitor, not just a lighter load on you.

Surgical, not scorched-earth

Every cacheable page carries Surrogate-Key tags describing what it's built from. A save purges only the pages featuring that post; the rest of the cache stays hot, and stale-while-revalidate means visitors never wait on your server for a cached page. Per-path cache lifetimes included. Works with Fastly, Cloudflare Enterprise, a custom webhook, or the managed Nivoli edge.

What it actually does

Plain HTTP, nothing magic.

# Images: rewritten at render time, transformed at the edge
<img src="/wp-content/uploads/2026/hero.jpg">
  → <img src="https://img.yoursite.com/cdn-cgi/image/w=800,f=auto/wp-content/uploads/2026/hero.jpg">

# Pages: every response carries the tags it was built from
Surrogate-Key: post-42 category-7 author-3 home

# One post save → one surgical purge of just those tags
POST /purge  { "keys": ["post-42", "category-7", "home"] }

Setup

Running in three steps.

1 · INSTALL

Install the plugin

From WordPress.org (listing in review) or the managed welcome email. Activate; image host and path prefix auto-detect.

2 · CONNECT

Pick your edge

Managed: paste the license key and the CDN provisions itself. Self-hosted: point at your own Cloudflare zone + your Fastly/CF-Enterprise/webhook purger.

3 · VERIFY

Probe it

One click on the Dashboard fetches a real image through the pipeline and confirms end-to-end delivery. The dashboard then shows exactly what the edge carries for you.

Built for production sites

Operational from day one. All free.

Coverage audit

Weekly re-run, email when optimization regresses.

Fake-image scan & repair

Finds error pages saved as .jpg, fixes them in place.

Runtime misses log

Unoptimized stragglers grouped into one-click rules.

Prewarming, alerts & self-test

Re-warms after saves; failures email you; weekly self-check.

Rules, presets & size mapping

One-click mapping from your theme's sizes, catch-all included.

Client report, WP-CLI & debug overlay

Printable white-label report, full CLI, on-page debug badges.

The managed edge adds

What a plugin alone can't do.

Managed image CDN + page cache

Zero Cloudflare setup: we run the zone and the full-page cache. Custom hostname (img.yoursite.com) and CDN-level watermarking included on higher plans.

Origin Shield + audience analytics

Stale-serving through outages with incident emails, and cookieless visitor analytics, both measured from real edge traffic no plugin can see.

Live edge analytics

Usage & quota, cache-hit and bandwidth stats, per-URL top lists, broken-image alerts from real traffic, heaviest-images reports, and a 404-suggestions inbox that turns dead traffic into rules.

Fleet view for agencies

Every site's images, pages, health and failures in one table, on Business and Agency plans.

Fleet view: all sites with hit-rate bars, bandwidth and failure counts
The fleet view on Business and Agency plans: health, hit rates and failures for every site on the license, in one place.

All of it connects with one license key. Plans from €15/mo, 14-day trial.

Get it

Two ways to start. Both take minutes.

Self-hosted: free forever

GPL-2.0-or-later, any number of sites, no account, nothing phones home. Every locally-running feature included: audits, prewarming, alerts, repair tools, reports, Tinify with your own key. Bring your own Cloudflare zone for images and your own Fastly / CF Enterprise / webhook for pages.

Read the setup docs →

WordPress.org listing in review; until it's live, any trial or plan email delivers the plugin zip.

Managed: the edge, run for you

The same plugin plus everything on this page: Origin Shield, edge security, audience analytics, the CDN and page cache, zero Cloudflare setup. Paste the license key from the welcome email; provisioning is automatic. From €15/mo, 14-day free trial, cancel anytime.

Start the 14-day trial Compare plans

Questions? support@nivoli.com