VitalLens
VitalLens

VitalLens

0/5 (0 ratings) — active installs Updated Nov 12, 2026
The dashboard — what the last run found, including when it found nothing.

The dashboard — what the last run found, including when it found nothing.

VitalLens checks the pages you pick against Google PageSpeed Insights on a schedule, stores every result, and shows you what changed over time.

Real-user data where Google has it, a lab test where it doesn’t — and it always says which.

Google publishes real-user measurements (CrUX) only for URLs with enough traffic, which most individual pages never have. For everything else the only figure available is a lab test: one simulated load, which is useful for finding causes but is not what any visitor experienced. VitalLens labels every number as real visitors, origin only or lab only, so you always know which of the two you are reading.

What you get

  • A two-dot column on your Posts and Pages lists — a filled disc for real visitors, a ring for the lab test. Hover either for the latest LCP, INP and CLS.
  • A dashboard that states the situation in a sentence, including when the situation is “nothing has run”.
  • The cause, not just the symptom — which element moved, what moved it, and how much of the score it accounts for. “CLS 0.16” names the metric; “a 0.162 shift on div.np-maker-layout, caused by an image with no explicit size and two web fonts” is something you can go and fix.
  • History for every tracked page, built from your own stored checks, with the failing threshold drawn on the chart and a readout on hover or arrow keys.
  • Email alerts that fire before a page crosses a threshold, not only after.
  • Check now on any page’s report, so a page you have just fixed is re-measured immediately instead of waiting for the next scheduled run.
  • A dashboard widget, switched on and off from Screen Options like any other.
  • Export — a branded, printable report you can save as a PDF, and CSV of either every tracked page or one page’s whole history.
  • Backups written automatically to your uploads folder whenever the plugin is deactivated, with one-click restore.

Alerts that earn their send

A percentage change is a poor trigger for Core Web Vitals: CrUX reports CLS on a 0.01 grid, so the smallest move a healthy page can make is already a double-digit percentage. VitalLens judges a change by how much of the remaining margin it consumed instead. A metric that spends a third of its headroom gets an email while it is still passing; a metric that ticks by one grid step does not.

Four alerts, each switched on or off separately:

  • A page starts failing for real visitors
  • A page is running out of headroom
  • A page starts passing again (off by default — good news should be opt-in)
  • Checks stop running

You need a free Google API key

VitalLens talks to Google directly using your own PageSpeed Insights API key. It is free, needs no billing account, and allows 25,000 calls a day — far more than any normal site will use. Nothing is sent to our servers; the key is stored in your database and used only to call Google.

External services

This plugin connects to the Google PageSpeed Insights API to measure Core Web Vitals for the pages you choose to track. That measurement is what the plugin does, so the service is required rather than optional.

What is sent, and when. Every scheduled check sends one request per tracked page per device strategy. Each request carries the public URL of that page and the Google API key you entered in Settings. The same request is sent when you press Test key in Settings, when you press Run checks now on the dashboard, and when you press Check now on a page’s report. Nothing else leaves your site: no post content, no visitor data, no personal information, and nothing is sent to Zactonz or to any server of ours.

Where it goes. https://www.googleapis.com/pagespeedonline/v5/runPagespeed

Your API key is stored in your own database, is never written to a backup snapshot, and is used only to sign these requests.

Google’s terms of service: https://developers.google.com/terms
Google’s privacy policy: https://policies.google.com/privacy
PageSpeed Insights API documentation: https://developers.google.com/speed/docs/insights/v5/get-started