# VitalLens: Installation & setup

> Core Web Vitals monitoring for WordPress that keeps its own history, tells real-visitor data from lab tests, and names the element and cause behind a failing metric.

Page: https://developers.zactonz.com/wordpress/plugins/vitallens/installation/

Complete documentation for this product: https://developers.zactonz.com/wordpress/plugins/vitallens.md

## Install the plugin

VitalLens was submitted to the WordPress plugin directory on 3 November 2026 and is awaiting review. The directory steps below are the route once it is listed; until then, install it from the plugin zip by uploading the folder to `/wp-content/plugins/vitallens/` and activating it from the **Plugins** menu.

From the dashboard, go to **Plugins › Add New**, search for **VitalLens** and click **Install Now**, then **Activate**.

With WP-CLI:

```bash
wp plugin install vitallens --activate
```

## Get a 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. Create one in the [Google Cloud console](https://console.cloud.google.com/) with the PageSpeed Insights API enabled, then paste it into **VitalLens › Settings**. The **Test key** button tells you immediately whether it works. The key is stored in your database, used only to call Google, and never written to a backup snapshot.

![The VitalLens settings screen: the API key field with a Test key button, the schedule, pages per run, history retention, device choice, the cost of the current selection, and the choice between WP-Cron and the host's cron](https://developers.zactonz.com/assets/images/wordpress/vitallens-4.webp)

*Settings: the key, the schedule, how many pages each run checks, and the cron command filled in for your install.*

## Choose what to track

Go to **VitalLens › Tracked pages** and tick the pages to watch. The screen shows exactly how many API calls your selection will cost per run, and follows the selection as you tick. Choose mobile, desktop or both in Settings; each device counts as its own check.

## Make sure the schedule runs

A sweep runs every 15 minutes and takes the pages that are due, so **Pages per run** in Settings sets how fast a backlog clears. WP-Cron only fires when somebody visits your site, so on a quiet site it drifts or stalls. VitalLens flags an overdue run on the dashboard rather than letting the gap pass unnoticed, and Settings gives you a real cron command with the paths already filled in for your install, which is the recommended way to run it.

The first check runs within the hour. **Run checks now** on the dashboard starts a run immediately, and **Check now** on a page's report re-measures that page alone.

## Where the results appear

- **VitalLens › Dashboard**: the situation in a sentence, counts of tracked, passing, failing and lab-only pages, and the pages that need attention.
- **Posts and Pages lists**: the two-dot column, with a hover card for the latest readings.
- **A page's report**: real-user data where Google has it, the lab test, what is causing each failing metric, and the history chart.
- **Dashboard › Home**: a Core Web Vitals widget, listed in Screen Options alongside At a Glance and Activity.

## Remove the plugin

Deactivating stops the schedule and writes a backup of every tracked page, check and setting to your uploads folder. Deleting keeps your tracked pages and every stored check, so re-installing picks up where you left off. To remove the tables as well, tick the box under **Your data** on the Settings screen before you delete. It is off by default, because deleting a plugin is often just a step in updating it.
