Skip to main content
Manager Last updated 2026-11-14

Connect the WordPress plugin

// Required access

Manager or Admin · WordPress integration (Free and paid) · Within your plan’s site cap

Apogee Watcher for WordPress connects one WordPress install to one Watcher site. After pairing you see the latest lab scores, page results, and open alerts in wp-admin. Schedules, PageSpeed Insights quota, budgets, and history stay in Watcher. The plugin does not store a Google API key and does not change how your theme loads.

Product overview: /tools/wordpress. Source and releases: apogee-wp-watcher on GitHub.

// Note

This is a monitoring plugin, not an optimiser. Keep Jetpack Boost, LiteSpeed Cache, WP Rocket, or your host cache for speed work. Use Watcher for evidence, history, and alerts.

Before you start

You need:

  • WordPress 5.8+ and PHP 7.4+
  • Outbound HTTPS from the WordPress host to apogeewatcher.com
  • A Watcher account (or willingness to create a Free account during pairing)
  • Admin or Manager on the organisation that will own the site (see What each role can do)

If you do not have a site yet, create one first: First organisation and site.

Install the plugin

A WordPress.org listing is not live yet. Install from GitHub:

  1. Download a release ZIP from apogee-wp-watcher releases, or clone the repository into wp-content/plugins/apogee-wp-watcher.
  2. In WordPress, open Plugins.
  3. Activate Apogee Watcher for WordPress.

The plugin does not call Watcher until an administrator starts Connect.

Pair WordPress with Watcher

  1. In WordPress, open Watcher → Connection.
  2. Click Connect to Watcher.
  3. The plugin starts device authorisation and shows a user code. Keep that screen open.
  4. Watcher opens (or go to /oauth/device). Sign in or create an account if needed. Pairing may suggest the WordPress admin email.
  5. On Watcher, confirm the user code, choose the organisation, and bind a matching site (or create a site when your plan still has capacity).
  6. Return to WordPress. The plugin finishes pairing and stores site-scoped tokens in WordPress options.
// Note

Tokens are site-scoped. Approving a connection binds one WordPress install to one Watcher site under that organisation. Free plan site caps still apply during approval—pairing cannot create a second site when Free capacity is full.

Open device pairing|/oauth/device

What you see in wp-admin after connect

  • Dashboard widget — latest score context plus LCP, INP, and CLS for the bound site.
  • Watcher → Test results — pages Watcher already monitors for that site (titles, timestamps, mobile and desktop scores). Names and URLs come from Watcher’s page list, not a fresh sitemap crawl inside WordPress.
  • Alert notices — admin notices when Watcher reports open alerts for the bound site. Closing or tuning alerts still happens in Watcher.

None of these screens enqueue a new PageSpeed Insights run in Phase 1. If scores look stale, check the site schedule and remaining tests in Watcher (Site API usage and quotas).

Disconnect

  1. In WordPress, open Watcher → Connection.
  2. Choose Disconnect (or the equivalent revoke control).

Disconnect revokes the refresh token on Watcher. Inactive installs stay quiet until someone clicks Connect again.

Troubleshooting

Symptom What to check
Connect never finishes Confirm outbound HTTPS to apogeewatcher.com; complete approval on Watcher before the user code expires
Approve is unavailable on Free You may already be at the Free site cap — upgrade or bind an existing site
Empty test results in WordPress The bound Watcher site needs pages and completed tests — discover pages and run tests in Watcher first
Scores look old Check schedule and quota in Watcher; the plugin only reads stored results
Wrong site data Disconnect, then pair again and bind the correct organisation site

What is not included yet

  • WordPress.org directory listing (install from GitHub for now)
  • Running tests or syncing URLs from wp-admin (Phase 2)
  • Front-end optimisation (cache, minify, CDN) — use your existing performance stack
⁂⁂⁂⁂

Further reading

← Back to Documentation