WordPress plugin
Install Numative Analytics for WordPress: snippet injection, the wp-admin dashboard, AI crawler capture and instant publish pings.
The Numative Analytics plugin connects a WordPress site to Numative with no theme edits. It requires WordPress 5.6+ and PHP 7.2+. One install covers four jobs:
- Analytics dashboard inside wp-admin. A top-level Numative menu shows visitors, visits, pageviews, bounce rate and visit duration, a traffic chart, and top pages and sources, switchable between today, 7, 30 and 90 days and 12 months. A compact widget on the WordPress Dashboard shows the last 7 days. Data comes from the Stats API using your API key, is server-rendered (no external scripts in your admin) and is cached for 5 minutes.
- Snippet injection. One checkbox adds the cookieless tracking script to every front-end page. Logged-in users who can edit posts (admins, editors, authors, contributors) are excluded automatically, so your own browsing never skews stats.
- AI crawler capture. AI crawlers (GPTBot, ClaudeBot, PerplexityBot and others) do not execute JavaScript, so a snippet never records them. The plugin detects crawler requests server-side by User-Agent and forwards them to
/api/v1/collectwith your ingest key. The call is non-blocking, so crawler responses are never delayed. - Instant ping. The moment a post is published, updated or unpublished, the plugin notifies
/api/v1/ping(also non-blocking) so the page is snapshotted within seconds and the change gets an exact-time chart marker. Revisions and autosaves are ignored; only public post types ping.
Install
- 1
Download the plugin
Download the zip: https://app.numative.com/numative-analytics.zip
- 2
Upload it in wp-admin
Go to Plugins > Add New > Upload Plugin, choose the zip, install and activate. Until it is configured, a notice in wp-admin links you to the settings screen.
- 3
Copy your keys from Numative
In Numative, open your site's Settings tab and copy the Site ID. For AI crawler capture, generate an ingest key there too. For the wp-admin dashboard and instant pings, create a write-scoped API key (or reuse the ingest key).
- 4
Configure the plugin
In WordPress, go to Numative > Settings, paste the values, tick the features you want and save. Your analytics appear under the Numative menu and on the WordPress Dashboard.
Settings reference
| Field | What it does |
|---|---|
| Site ID | Required. Your site's public id from Numative site Settings. Links everything the plugin sends to the right site. |
| Analytics snippet | Checkbox. Prints the tracking script on every front-end page (skipped on feeds, embeds and for logged-in users who can edit posts). |
| Ingest key | Enables server-side AI crawler capture. Generated in Numative site Settings. |
| API key | Optional. A write-scoped key that powers the wp-admin dashboard and instant pings. Leave empty to reuse the ingest key. |
| Instant recrawl ping | Checkbox. Pings Numative on publish, update and unpublish so changes are detected within seconds. |
| API base | Advanced. Defaults to https://app.numative.com; only change it if you self-host or proxy the API. |
Page caches and crawler accuracy
On a cache hit, PHP does not run, which would hide crawler visits. The plugin fixes this by excluding AI-bot user-agents from caching, so PHP always runs for crawlers:
- Handled automatically: WP Rocket and LiteSpeed Cache. The plugin also sets the standard
DONOTCACHEPAGEconstants that most cache plugins honor. - One-time manual step: for W3 Total Cache, WP Super Cache or WP Fastest Cache, paste the user-agent list shown on the plugin's settings screen into that plugin's "Never cache the following user agents" (or "Rejected User Agents") setting.
A spoofed user-agent is harmless: Numative verifies each crawler from its source IP, so the Bots report separates verified from claimed visits.
Performance
The snippet is a small deferred script (about 1 KB). The crawler capture only makes a network call on detected bot requests, and both it and the publish ping are fire-and-forget with short timeouts, so human page loads and post saving are unaffected. The injected tag looks like this:
<script defer src="https://app.numative.com/numative.js" data-site="YOUR_SITE_ID"></script>