Title: Zluck AI Traffic Insights
Author: Maulik Vora
Published: <strong>October 16, 2026</strong>
Last modified: October 16, 2026

---

Search plugins

![](https://ps.w.org/zluck-ai-traffic-insights/assets/banner-772x250.png?rev=3750445)

![](https://ps.w.org/zluck-ai-traffic-insights/assets/icon-256x256.png?rev=3750445)

# Zluck AI Traffic Insights

 By [Maulik Vora](https://profiles.wordpress.org/zluck/)

[Download](https://downloads.wordpress.org/plugin/zluck-ai-traffic-insights.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/zluck-ai-traffic-insights/#description)
 * [Reviews](https://wordpress.org/plugins/zluck-ai-traffic-insights/#reviews)
 *  [Installation](https://wordpress.org/plugins/zluck-ai-traffic-insights/#installation)
 * [Development](https://wordpress.org/plugins/zluck-ai-traffic-insights/#developers)

 [Support](https://wordpress.org/support/plugin/zluck-ai-traffic-insights/)

## Description

AI assistants now send people to websites. Some of those visits arrive with a referrer
that names the assistant. Many arrive with no referrer at all and look like direct
traffic. This plugin records your visits in your own database, works out which ones
came from an AI assistant, and puts them next to everyone else on the same metrics.
A small AI Traffic box on your WordPress Dashboard shows this week’s numbers at 
a glance. It is built to be light: under 1 ms added to a page render, one script
under 3 KB, nothing about your site or your visitors sent anywhere, and nothing 
extra at all on pages served from a cache. The only outside downloads are the public
crawler lists described under Privacy.

**What you get**

 * **Overview.** How much of your traffic comes from AI assistants, day by day, 
   and which assistants.
 * **Comparison.** One table: Confirmed AI, Likely AI and everyone else, side by
   side on sessions, bounce rate, pages per session, engaged time, scroll depth 
   and, on WooCommerce, adds to cart, orders and revenue. This table is the point
   of the plugin.
 * **Pages.** Which pages and products AI assistants send people to.
 * **Crawlers.** Which AI crawlers read your site, checked against the operator’s
   published addresses. Crawler hits are shown on their own screen and are never
   counted as visitors.
 * **AI lookups.** How often ChatGPT, Claude or Perplexity read a page on your site
   to answer someone’s question, and which pages they read. Shown on the Dashboard,
   the Overview screen and the Crawlers screen, verified requests only.
 * **WooCommerce.** Each order shows the assistant, if any, that sent the buyer,
   in the orders list and on the order screen.
 * **CSV export** on every screen, producing exactly what is on the screen for the
   chosen dates.
 * **Dashboard box.** This week’s Confirmed and Likely AI visits against the week
   before, the top assistants and pages, and on WooCommerce the orders they brought,
   right on the WordPress Dashboard.

**Confirmed and Likely are two different numbers**

A visit is _Confirmed AI_ when its referrer or a UTM tag names an assistant. A visit
is _Likely AI_ when it arrived with no referrer, on a first visit, landing straight
on an inner page that a verified AI crawler had read within the past 7 days. It 
is an estimate, so it is always kept apart from Confirmed AI; when in doubt a visit
is counted as not AI. Every Likely visit shows its reason in plain words. The two
are never added into one number without saying so, and a small sample is marked “
Too few sessions” instead of showing a percentage. When in doubt, the plugin classifies
down.

**Assistants recognised**

ChatGPT, Perplexity, Gemini, Claude, Microsoft Copilot, DeepSeek, Grok, Meta AI,
Mistral, You.com and Poe. The list is a data file inside the plugin; see “Source
list” below.

**What Google Analytics already shows**

If you use GA4, visits that arrive with an assistant referrer already appear in 
your referral reports with the assistant’s domain as the source. What this plugin
adds is the Likely layer for visits that arrive with no referrer, the reason for
each one, the crawler report, the WooCommerce order link, and the fact that everything
stays on your own server.

**Limitations, stated plainly**

 * Visits are recorded by a small script in the page, so a visitor with JavaScript
   off is not counted. The same is true of every JavaScript-based analytics tool.
 * Crawler hits are recorded by PHP when a page is built. A crawler that reads a
   page served from a full page cache is not seen. This applies to AI lookups too:
   a page served from a full page cache can be read by an assistant without the 
   plugin seeing it.
 * Likely AI is an estimate. That is why it is kept as a separate number.
 * In cookieless mode, visits are grouped by a code that changes every day at midnight
   UTC. A visit that crosses midnight counts as two, visitors who share one address
   and the same kind of browser can be merged for that day, and a WooCommerce order
   is linked only to a visit on the same day.

**Performance**

If page speed is why you hesitate to add another plugin, here is what this one costs
on a visit, measured with the plugin’s own benchmark script on WordPress 7.1, PHP
8.4, with WooCommerce active, over four runs of 50 to 200 page renders each:

 * **Under 1 ms added to an uncached page render** at the median (0.2 to 1.7 ms 
   across the runs, on a 190 ms render). At the 95th percentile the difference was
   inside the test machine’s own run-to-run noise.
 * **No extra server work on cached pages.** The script is part of the cached page,
   so a full page cache serves it with the plugin doing nothing.
 * **One script under 3 KB, nothing else.** The script is printed inline, loads 
   no other file, makes no request to any outside service and does not block the
   page from drawing. It sends one small request to your own site when the visitor
   leaves the page.
 * **No database write while the page is built.** The visit is recorded by that 
   one request afterwards, and the work of deciding which visits came from an AI
   assistant runs later in a scheduled job, never while a visitor waits.
 * **The crawler check is the only code on every request.** It lets an ordinary 
   browser through in less than a thousandth of a millisecond, before any database
   or file access.
 * **Nothing runs for logged-in administrators**, and admin assets load only on 
   the plugin’s own screens.

**Source list**

The addresses of the assistants and crawlers live in a data file shipped inside 
the plugin and are refreshed by plugin updates. The Settings screen shows the version
in use and what it covers.

Built by Zluck Solutions. Support is on this plugin’s wordpress.org forum.

### Privacy

Everything this plugin records stays in your own WordPress database. It sends nothing
to Zluck or to anyone else. The one optional exception, off by default, is downloading
the crawlers’ public IP lists; see External services.

What it stores about a visit: the page, the time, the referring website, UTM tags
if present, coarse device type (phone, tablet or desktop), time on page and scroll
depth, and the plugin’s own verdict on whether the visit came from an AI assistant.

What it never stores: IP addresses, names, email addresses, WordPress user accounts,
or the browser’s full identification string. It does not fingerprint visitors and
cannot recognise a visitor from one day to the next without the cookie.

The cookie: by default the plugin sets one first-party cookie, `aitraf_s`, holding
a random value, so that page views can be grouped into a visit and a WooCommerce
order can be matched to the visit that led to it. It is set by your own site, never
by a third party. Cookieless mode in the settings turns it off; visits are then 
grouped by a code that changes every day and cannot be traced back to anyone.

Opting out: the plugin honours the Global Privacy Control signal. A visitor whose
browser sends it is not recorded and gets no cookie.

WooCommerce: when a visitor places an order, the plugin keeps the order number together
with the AI verdict for that visit. This is the only value that can be linked to
a person, because the order itself has the buyer’s details. The plugin registers
with WordPress’s personal-data export and erase tools, so a request under Tools  
Export Personal Data or Erase Personal Data includes and removes this link. Removing
personal data from an order in WooCommerce removes the link too.

Crawlers: requests from known AI crawlers are counted by the crawler name and the
page. The crawler’s address is checked against the operator’s published list in 
memory and only the result is kept. AI lookups are counted from the same crawler
records: the crawler name and the page, nothing else.

Outbound requests: the plugin downloads the public IP-address lists that crawler
operators publish, once a week, only for crawlers that actually visit, for verification.
Each request is a plain download of a public file and carries nothing about your
site or your visitors. Nothing else is fetched. The lists are: https://openai.com/
gptbot.json, https://openai.com/searchbot.json, https://openai.com/chatgpt-user.
json, https://claude.com/crawling/bots.json, https://www.perplexity.com/perplexitybot.
json, https://www.perplexity.com/perplexity-user.json, https://developers.google.
com/static/crawling/ipranges/common-crawlers.json, https://www.bing.com/toolbox/
bingbot.json, https://index.commoncrawl.org/ccbot.json and https://search.developer.
apple.com/applebot.json.

Deleting the plugin: turn on “Delete all data on uninstall” in the settings before
deleting, and every table and setting the plugin created is removed.

### External services

**Opt-in, off by default.** Nothing is downloaded unless an administrator ticks “
Verify AI crawlers” on the plugin’s Settings screen. While it is off, the plugin
makes no outside request at all, and crawler visits are shown as “Unverified (not
checked)” instead of “Verified”.

When the setting is on, this plugin connects to outside services only to check that
a visit from an AI or search crawler really came from the company it claims. Each
company publishes a public file listing the IP addresses its crawlers use. The plugin
downloads that file and compares it with the crawler’s address. Without it, a visit
could only be shown as “claimed”, never “verified”.

What is sent: a plain request for a public file. It carries no data about your site,
your visitors or your account: no site address, no cookies, no query string, no 
IP address of a visitor. The company that hosts the file sees the IP address of 
your web server, as with any download, and the plugin’s name and version in the 
user agent (for example `zluck-ai-traffic-insights/1.0`).

When: at most once a week per file, and only for a crawler that has actually visited
your site. A crawler that never visits is never looked up. Nothing is downloaded
when you view a screen, and no visitor can cause a download from the page itself.

The files, by company:

 * OpenAI (GPTBot, OAI-SearchBot, ChatGPT-User). Files: https://openai.com/gptbot.
   json, https://openai.com/searchbot.json, https://openai.com/chatgpt-user.json.
   [Terms of use](https://openai.com/policies/terms-of-use/), [privacy policy](https://openai.com/policies/privacy-policy/).
 * Anthropic (ClaudeBot, Claude-User, Claude-SearchBot). File: https://claude.com/
   crawling/bots.json. [Terms](https://www.anthropic.com/legal/consumer-terms), 
   [privacy policy](https://www.anthropic.com/legal/privacy).
 * Perplexity (PerplexityBot, Perplexity-User). Files: https://www.perplexity.com/
   perplexitybot.json, https://www.perplexity.com/perplexity-user.json. [Terms of service](https://www.perplexity.ai/hub/legal/terms-of-service),
   [privacy policy](https://www.perplexity.ai/hub/legal/privacy-policy).
 * Google (Googlebot). File: https://developers.google.com/static/crawling/ipranges/
   common-crawlers.json. [Terms of service](https://policies.google.com/terms), 
   [privacy policy](https://policies.google.com/privacy).
 * Microsoft (Bingbot). File: https://www.bing.com/toolbox/bingbot.json. [Services agreement](https://www.microsoft.com/en-us/servicesagreement),
   [privacy statement](https://www.microsoft.com/en-us/privacy/privacystatement).
 * Common Crawl (CCBot). File: https://index.commoncrawl.org/ccbot.json. [Terms of use](https://commoncrawl.org/terms-of-use),
   [privacy policy](https://commoncrawl.org/privacy-policy).
 * Apple (Applebot). File: https://search.developer.apple.com/applebot.json. [Terms of use](https://www.apple.com/legal/internet-services/terms/site.html),
   [privacy policy](https://www.apple.com/legal/privacy/en-ww/).

The plugin does not use any other outside service. Visitor statistics are never 
sent anywhere; they stay in your own database.

### External resources

The report screens draw their charts with Chart.js version 4.5.1, released under
the MIT License. The plugin ships the official build file `vendor/chartjs/chart.
umd.min.js`, unchanged, with its license. Source code: https://github.com/chartjs/
Chart.js/tree/v4.5.1. It is loaded only on the plugin’s own admin screens, never
on your site’s front end.

The plugin makes no other use of external code or services. The public IP-address
lists it downloads for crawler verification are listed under External services.

## Screenshots

[⌊Overview: AI share of traffic over time, with Confirmed and Likely shown separately.⌉⌊
Overview: AI share of traffic over time, with Confirmed and Likely shown separately
.⌉[

Overview: AI share of traffic over time, with Confirmed and Likely shown separately.

[⌊Comparison: Confirmed AI, Likely AI and everyone else on the same metrics.⌉⌊Comparison:
Confirmed AI, Likely AI and everyone else on the same metrics.⌉[

Comparison: Confirmed AI, Likely AI and everyone else on the same metrics.

[⌊Pages: the pages and products AI assistants send people to.⌉⌊Pages: the pages 
and products AI assistants send people to.⌉[

Pages: the pages and products AI assistants send people to.

[⌊Crawlers: verified AI crawler hits, on their own screen, never counted as visitors.⌉⌊
Crawlers: verified AI crawler hits, on their own screen, never counted as visitors
.⌉[

Crawlers: verified AI crawler hits, on their own screen, never counted as visitors.

[⌊A WooCommerce order showing which assistant sent the buyer.⌉⌊A WooCommerce order
showing which assistant sent the buyer.⌉[

A WooCommerce order showing which assistant sent the buyer.

[⌊Settings: cookieless mode, retention, roles, the source list version and the beacon
self-check.⌉⌊Settings: cookieless mode, retention, roles, the source list version
and the beacon self-check.⌉[

Settings: cookieless mode, retention, roles, the source list version and the beacon
self-check.

## Installation

 1. Install and activate the plugin. Nothing needs configuring; recording starts at
    once.
 2. Open **AI Traffic** in the admin menu. Visits are classified by a scheduled job,
    so allow about an hour before the first numbers appear.
 3. After a day, check **AI Traffic  Settings**. The self-check row tells you whether
    page views are arriving.
 4. On WooCommerce, order attribution works as soon as the plugin is active. There 
    is nothing to set up.

## FAQ

### Why do I see no AI traffic?

Three common reasons. The site has had few visitors from assistants yet, which the
empty state on each screen says plainly. The scheduled jobs have not run yet; they
run about once an hour when the site has visitors, so on a quiet site the first 
numbers take two to three hours to appear after the first visit, and the Settings
screen has a “Process now” button if you do not want to wait. Or the tracking script
is not reaching the plugin; see the next question.

### What does Likely AI mean?

A visit is Likely AI when two things are true together: a first-time visitor arrived
with no referrer and landed straight on an inner page, and a verified AI crawler
had read that same page within the past 7 days (a filter can change the window).
Either one alone is not enough: a bookmarked inner page, or a direct visit to a 
home page that crawlers read all the time, stays “everyone else”.

It is an estimate, so the plugin classifies down when unsure and never adds Likely
into the Confirmed number. Where a total appears it is a range, for example “12 
to 19 sessions”. The working target is that fewer than 2 in 100 visits that really
came from a search engine would be called Likely.

To see why a particular visit was called Likely, export the sessions file from the
Overview screen; its “Reason” column reads, for example, “Landed deep on a page 
ChatGPT-User read 2 days earlier, with no referrer”. On WooCommerce the “AI traffic”
panel on an order shows the same reason. Every report screen also has a small help
icon beside “Likely AI” and a “Help” tab at the top right with this explanation.

### The settings screen says no page views have arrived. What stops them?

Something between the visitor’s browser and the plugin. The usual causes: a caching
or optimisation plugin that delays or strips inline scripts; a security plugin that
blocks the REST API for visitors who are not logged in; a theme that does not call`
wp_footer()`; Cloudflare bot protection challenging POST requests; or a consent 
tool set to block unknown inline scripts. The plugin cannot fix any of these from
its side, but the settings screen tells you the last time a page view arrived so
you can tell whether a change helped.

### A notice says a job is not running or the scheduler is not running. What do I do?

The plugin relies on the WordPress scheduler (WP-Cron) for three small jobs: turning
page views into sessions, writing the daily totals the screens read, and deleting
old rows. The built-in scheduler only runs when someone visits the site, and some
hosts and security plugins block it. The notice names the job and what it means.
To fix it, ask your host to call `wp-cron.php` every 15 minutes (most hosts have
a setting for this), or install a plugin such as WP Crontrol to see the plugin’s`
aitraf_` events and run one by hand. The “Process now” button on the Settings screen
runs the session and daily-totals jobs immediately, which is the quickest way to
confirm the fix worked.

### Will this slow my site down?

No. On the server it adds under 1 ms to building a page, and nothing at all when
a page cache serves the page. In the browser it adds one script under 3 KB that 
loads nothing else and sends one small request to your own site when the visitor
leaves. There is no database write while the page is built, and nothing about your
site or your visitors is sent anywhere. The only outside downloads are the public
crawler lists described under Privacy, fetched in the background, never while a 
page is built. The full numbers, and how they were measured, are under Performance
in the description.

### I use a caching plugin. Do I need to change anything?

Usually not. The script is part of the cached page and already carries the attributes
that WP Rocket, LiteSpeed Cache, Autoptimize and Cloudflare Rocket Loader use to
leave a script alone. Two things to know: if a “delay JavaScript until interaction”
feature is on and the numbers look low, add `aitraf-beacon` to its exclusion list;
and after switching cookieless mode on or off, clear the page cache so cached pages
pick up the change.

### Why does my own test order say “No visit recorded”?

Administrators are never tracked, so that a site owner previewing the site does 
not pollute the numbers. To test order attribution, place the order in a private
browser window where you are not logged in.

### The Crawlers screen says “claimed” for every hit. Why?

A hit is “verified” when the visitor’s address is on the list the crawler’s operator
publishes. If your site sits behind a proxy or CDN that does not pass the real visitor
address through, every hit is checked against the proxy’s own address and shows 
as claimed only. Your host can usually pass the real address through; a developer
can also supply it with the `aitraf_client_ip` filter.

### What is an AI lookup? Is it a citation?

An AI lookup is one verified request from an assistant’s live answer bot: ChatGPT-
User, Claude-User or Perplexity-User. These bots fetch a page while the assistant
is answering a person’s question, so a lookup means the assistant read your page
to help with an answer. It is not a citation. The plugin can see that the page was
read; it cannot see the question, the answer, or whether the answer mentioned or
linked to your site. Search-index bots such as OAI-SearchBot and training bots such
as GPTBot are not lookups; they appear in the crawler table instead. Requests that
could not be verified against the operator’s published addresses are never counted
as lookups.

### Who can see the reports?

Administrators always. On the settings screen you can tick other roles; a ticked
role can open the report screens and export CSV files, but not change settings.

### What does cookieless mode change?

With the cookie on, page views are grouped into a visit by a random value stored
in the visitor’s browser, which also lets a WooCommerce order be linked to a visit
that happened days earlier. Cookieless mode stores nothing in the browser; visits
are grouped by a code that changes every day. That means a visit crossing midnight
UTC counts as two, several people behind one address using the same kind of browser
can be merged for that day, and an order is linked only to a visit on the same day.

### Do refunds change the numbers?

Order totals are recorded when the order is paid and the daily totals are rebuilt
for the last 32 days each time the rollup job runs, so a refund within that window
is picked up. A refund on an older order does not change the daily totals.

### My store sells in more than one currency.

Revenue is added up as stored on each order, whatever its currency. A store selling
in several currencies gets a mixed sum. This is a known limitation of this version.

### Do I need a cookie banner for this plugin?

We cannot give legal advice, so here are the facts. The plugin stores no personal
data about visitors and, with the cookie on, sets one first-party cookie that is
used only for statistics on your own site. Some countries exempt exactly this kind
of first-party statistics from consent when the visitor is told about it and can
object, and the plugin honours the Global Privacy Control signal that browsers send
for visitors who have opted out; France and the United Kingdom are examples. Others,
including Germany, expect consent for any cookie that is not strictly necessary.
Cookieless mode stores no cookie at all. Add the suggested text from Settings  Privacy
Policy Guide to your privacy policy, and decide with your own adviser whether your
consent tool should cover this plugin.

### What happens to my data when someone asks me to erase it?

The only record that can be tied to a person is the link between a WooCommerce order
number and the visit that led to it. WordPress’s Erase Personal Data tool removes
it, and so does removing personal data from the order in WooCommerce. Page views
and visits hold no name, email, account or address, so there is nothing else to 
erase.

### Does the plugin send anything to Zluck?

No. There is no account, no key and no phone-home. The only outbound requests the
plugin makes are for the public IP-address lists that crawler operators publish,
described under Privacy.

### How long is data kept?

Raw page views and visits are kept for the number of days set in Settings (90 by
default) and then removed. Daily totals are kept for as long as the plugin is installed,
so trends stay available. Export a CSV before the retention window ends if you need
the detail.

### What is removed when I delete the plugin?

Turn on “Delete all data on uninstall” in Settings first, then delete the plugin
from the Plugins screen. Every table, setting and scheduled job the plugin created
is removed. With the setting off, the data stays in place for a reinstall.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Zluck AI Traffic Insights” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Maulik Vora ](https://profiles.wordpress.org/zluck/)
 *   [ Divyesh kakrecha ](https://profiles.wordpress.org/divyeshk71/)

[Translate “Zluck AI Traffic Insights” into your language.](https://translate.wordpress.org/projects/wp-plugins/zluck-ai-traffic-insights)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/zluck-ai-traffic-insights/),
check out the [SVN repository](https://plugins.svn.wordpress.org/zluck-ai-traffic-insights/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/zluck-ai-traffic-insights/)
by [RSS](https://plugins.trac.wordpress.org/log/zluck-ai-traffic-insights/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * First release.

## Meta

 *  Version **1.0.0**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [AI](https://wordpress.org/plugins/tags/ai/)[analytics](https://wordpress.org/plugins/tags/analytics/)
   [statistics](https://wordpress.org/plugins/tags/statistics/)[visitors](https://wordpress.org/plugins/tags/visitors/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/zluck-ai-traffic-insights/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/zluck-ai-traffic-insights/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/zluck-ai-traffic-insights/reviews/)

## Contributors

 *   [ Maulik Vora ](https://profiles.wordpress.org/zluck/)
 *   [ Divyesh kakrecha ](https://profiles.wordpress.org/divyeshk71/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/zluck-ai-traffic-insights/)