Home / RankReady / AI crawler analytics
AI crawler analytics for WordPress

Stop guessing
which AI bots read you.

Every AI crawler hit, by post, with a timestamp, plus real referrals from chatgpt.com, perplexity.ai and claude.ai. It runs on your own server, which is why it sees what an external scanner never can. About five minutes to set up.

v1.3.1 · 300 active installs · Tested to WordPress 7.1 · Runs alongside Yoast, Rank Math, AIOSEO and SEOPress

The layer nobody outside can check

A scan from outside
cannot see who arrived.

There are around fourteen free AI readiness checkers. Every one can test whether your site is reachable and parseable. Not one can tell you who actually came, because that needs code running on your server when the request lands.

The AI Training Activity card in RankReady, counting 105 training hits and 71 pages read in the last 30 days from 3 of 8 tracked training bots, with a per-bot breakdown showing ClaudeBot on 87 hits, GPTBot on 17 and Google-Extended on 1.

Training bots, logged

GPTBot, ClaudeBot, Google-Extended, Bytespider, CCBot and the rest of the training intent crawlers, timestamped and sorted by post.

Citation bots, separately

ChatGPT-User, OAI-SearchBot, PerplexityBot, Claude-Web and DuckAssistBot. Each hit is a live retrieval, which is a different event from a training crawl.

Real referrals, separately again

A human arriving from chatgpt.com or perplexity.ai is a real visit with a real referrer. That is stronger evidence than a fetch, so it is counted on its own.

What you see

Counts start at zero
on a fresh install.

No backfill, no estimate, no modelled number. The screen says so on the day you turn it on, which is the honest version of an empty state.

The Training Bot Logging card in RankReady, with a toggle counting AI training crawlers that fetch the llms.txt and Markdown endpoints, and a note that the data stays on your own site.

Bot activity by crawler and by post

Over time, so you can see which posts the crawlers keep coming back to.

Intent classification

Every hit tagged by why it came: training, search indexing, or a live retrieval. The logs tell you intent rather than only volume.

Citation candidates

The posts being fetched most often, which is where to concentrate the writing effort.

Freshness overlap

Whether the posts being fetched are the ones that are still current, or the ones that have quietly gone out of date.

Logged at request level

Before any script runs, which is why the numbers differ from a JavaScript analytics tool. Crawlers do not execute JavaScript.

Data stays on your site

Written into your own tables. Nothing is sent anywhere, and there is no account to create.

Honest scope

A crawler hit
is not a citation.

This is where most tools in the category quietly oversell, so here it is plainly.

A fetch proves a fetch

It tells you the page was retrieved. It does not tell you that you were quoted. Those are different events and only one is observable from your server.

Anything showing a citation count is inferring

Without access to the model output, a citation number is a guess. RankReady reports the observable event and labels it.

Your host can hide the data from you

On one of our own sites the server returned 429 to GPTBot while robots.txt said allow. Nothing reaches WordPress to log, and that contradiction is worth checking first.

It is not a replacement for analytics

Google Analytics, Plausible, Matomo and Fathom all keep doing their job. This counts the traffic they are designed not to see.

Questions people actually ask

The honest answers,
before you have to ask.

Q. Can you tell me if ChatGPT cited my article?

No, and neither can anyone else without querying the model. The log proves ChatGPT's crawler fetched the page, and separately whether a human arrived from ChatGPT afterwards.

Q. Why do the numbers differ from my analytics?

Most analytics run JavaScript and crawlers do not execute it. Bot traffic is largely invisible to Google Analytics by design. This logs at the request level, before any script runs.

Q. Does logging slow my site down?

No measurable effect. It writes a lightweight record on bot requests only, never on human page views.

Q. What if my host blocks AI crawlers before WordPress runs?

Then you will see nothing, and that is worth knowing. Our free check tests for exactly that contradiction between robots.txt and the server response.

Q. Is any of this sent to a third party?

No. The data is written into your own database and stays there. There is no account and no external service.

Q. How long does setup take?

About five minutes. Turn tracking on under Insights, then wait, because there is nothing to configure and nothing to backfill.

Free on WordPress.org

Make your site readable
to the things reading it.

RankReady is a WordPress AI SEO plugin. It runs alongside Yoast, Rank Math, AIOSEO and SEOPress rather than replacing any of them, and setup takes about five minutes from your dashboard.

Free, no account, no credit card · GPL-2.0 · About five minutes from your dashboard