Title: Clearway Forge – AI Traffic Analytics &amp; llms.txt for WooCommerce
Author: avakodeforge
Published: <strong>September 18, 2026</strong>
Last modified: October 30, 2026

---

Search plugins

![](https://ps.w.org/clearwayforge/assets/banner-772x250.png?rev=3748969)

![](https://ps.w.org/clearwayforge/assets/icon-256x256.png?rev=3748969)

# Clearway Forge – AI Traffic Analytics & llms.txt for WooCommerce

 By [avakodeforge](https://profiles.wordpress.org/avakodeforge/)

[Download](https://downloads.wordpress.org/plugin/clearwayforge.1.0.2.zip)

 * [Details](https://xho.wordpress.org/plugins/clearwayforge/#description)
 * [Reviews](https://xho.wordpress.org/plugins/clearwayforge/#reviews)
 *  [Installation](https://xho.wordpress.org/plugins/clearwayforge/#installation)
 * [Development](https://xho.wordpress.org/plugins/clearwayforge/#developers)

 [Support](https://wordpress.org/support/plugin/clearwayforge/)

## Description

**Clearway Forge** shows how much AI assistants such as ChatGPT, Perplexity and 
Claude send to your WooCommerce store, and what that traffic is worth in orders.
It measures the channel from your own server and joins it to your WooCommerce orders,
so the numbers match the money in your own database. No third-party script and no
pixel on your storefront.

**It counts.** Every AI visit and every order it leads to, attributed with first-
party data. You choose the attribution model on the Settings screen: last touch,
first touch, linear or time decay. The reporting window goes back up to 400 days.

**It shows its work.** Next to every number you see how it was identified: a referrer,
a campaign tag, or an assistant that fetched the same page moments earlier. Estimates
are labelled as estimates and reported separately from proven revenue.

**It makes your store readable to machines.** An `llms.txt` and `llms-full.txt` 
map of your catalogue and policies, generated from your live products and kept in
sync as they change.

**It logs the bots.** You see which crawlers read your store, how often and for 
what purpose. A request claiming to be GPTBot from an address outside OpenAI’s published
ranges is shown as what it is: someone pretending. That check needs the address 
lists the vendors publish, so it works once you turn on crawler address verification
on the Settings screen.

#### Your data stays on your server

The plugin stores no IP addresses and no email addresses. Visitor sessions are keyed
by a first-party cookie, set only for visits that actually came from an AI assistant.
When a consent plugin that supports the WP Consent API is active, the cookie is 
set only after the visitor has agreed to anonymous statistics. WordPress privacy
exporter and eraser hooks are supported. The plugin is compatible with High-Performance
Order Storage and the block-based cart and checkout.

#### What it does not do

It does not survey language models about your brand, it does not generate content,
and it does not run its own MCP server. It measures the channel. If you already 
run an MCP connector, the two work side by side: a connector opens your store to
agents, and this plugin records what they did.

The only request the plugin can make is the download of the public crawler address
lists, and only after you turn crawler address verification on. See External services.

Documentation: https://clearwayforge.com/docs/

### External services

This plugin can make one kind of outbound request. It is off until you turn it on,
and it is disclosed here in full.

**Crawler address lists published by OpenAI and Perplexity.**

_What it is for._ A user agent string costs nothing to forge. To tell a real GPTBot
visit from a scraper wearing its name, the plugin compares the requesting address
against the ranges each vendor publishes. Without this, every claimed crawler would
have to be taken at its word, and the crawler log would be worth very little.

_What is sent._ Nothing. These are plain unauthenticated GET requests for public
JSON files. No personal data, no store data, no site identifier and no licence key
are transmitted. The plugin does not send your visitors’ addresses anywhere; it 
downloads the vendors’ lists and does the comparison locally.

_What is received._ A list of IP ranges.

_When._ Only after you turn on **Crawler address verification** on the plugin’s 
Settings screen. From then on, once a day from a background task, never during a
customer’s page view. Activating the plugin does not contact any server.

_Which endpoints._

 * `https://openai.com/gptbot.json`
 * `https://openai.com/searchbot.json`
 * `https://openai.com/chatgpt-user.json`
 * `https://www.perplexity.ai/perplexitybot.json`

_Terms of the providers._ OpenAI: [terms](https://openai.com/policies/terms-of-use/),
[privacy](https://openai.com/policies/privacy-policy/). Perplexity: [terms](https://www.perplexity.ai/hub/legal/terms-of-service),
[privacy](https://www.perplexity.ai/hub/legal/privacy-policy).

_While it is off._ Nothing is downloaded. Crawler visits are then reported as “declared”:
the user agent matched, but the address could not be checked. The plugin never treats
an unverified visit as a forged one. Turning verification off again stops the daily
download and deletes the lists already downloaded.

The plugin contains no analytics, no telemetry and no licensing calls of its own.

### Free and paid

Everything described above is free and stays free. That includes the reporting window,
up to the last 400 days, and all four attribution models: last touch, first touch,
linear and time decay, chosen on the Settings screen. Nothing about either depends
on a key.

A separate paid add-on, installed alongside this plugin, adds:

 * CSV export of revenue by AI agent
 * A monthly digest email
 * Schema enrichment aimed at agents, and a machine readable catalog feed that puts
   the catalogue into assistant product discovery
 * Agent guard rails: per agent keys with scopes, an append only journal with a 
   hash chain, and a kill switch that turns the agent API off. The agent API is 
   read-only today; held writes will arrive with write tools

A licence for the paid add-on also includes priority email support while it is active.
It ends when the licence expires and comes back on renewal.

The free plugin contains none of that code. Nothing here is a disabled button waiting
for a payment.

### Hooks for other plugins

Two actions are published as a stable contract, so a mailing list, a CRM or an operations
dashboard can react to the AI channel without polling the database. The second one,`
clearwayforge/action_held`, does not fire yet.

#### clearwayforge/ai_order

Fired by this free plugin when an order has been attributed to the AI channel. Once
per order, never once per touch, and only after the attribution row has been written,
so a listener that reads the tables sees the order it was woken for. Orders with
nothing to attribute fire nothing at all.

    ```
    do_action( 'clearwayforge/ai_order', int $order_id, string $agent, array $attribution );
    ```

 * `$order_id` — the WooCommerce order.
 * `$agent` — the assistant with the largest share: `chatgpt`, `perplexity`, `claude`
   and so on. Ties are broken by the dashboard’s own order, so the same order always
   names the same winner.
 * `$attribution` — model, currency, `order_total_cents`, `ai_total_cents`, `proven_total_cents`,`
   fully_proven`, and a `sources` list with one entry per touch. Money is always
   whole cents, never a float. Nothing about the visitor is included: no address,
   no email, no user agent.
 * example.php:
 * add_action( ‘clearwayforge/ai_order’, function ( $order_id, $agent, $attribution){
   
   error_log( sprintf( ‘#%d came from %s: %d cents’, $order_id, $agent, $attribution[‘
   ai_total_cents’] ) ); }, 10, 3 );

#### clearwayforge/action_held

**This hook does not fire yet.** The agent API is read-only today, so the **paid
add-on** never holds an action and never calls it; held writes will arrive with 
write tools. The contract below is settled in advance, so a listener can be written
now.

Planned contract, once write tools arrive: the add-on fires it once per hold, immediately
after the journal entry is written and before the agent gets its answer. Nothing
in the store has been changed at that point, and nothing will change until you decide.

    ```
    do_action( 'clearwayforge/action_held', int $hold_id, string $agent, string $capability, string $summary );
    ```

 * `$hold_id` — the journal sequence number, which doubles as the identifier of 
   the pending action.
 * `$agent` — the agent key, `agt_…`.
 * `$capability` — the ability name, for example `woocommerce/update-product-price`.
   Not the scope: the scope says what kind of action it is, the ability name says
   what would actually happen.
 * `$summary` — one phrase for a human: “Change a product price”.

The arguments carry no part of the agent’s payload. The journal keeps only its hash,
for the same reason: the contents of a call do not belong in places outside the 
store.

This hook does not exist on a site running only the free plugin, because nothing
there holds agent actions; on a site with the add-on it does not fire yet either.
Guard `has_action()` accordingly, or check that the add-on is active.

## Screenshots

[⌊The dashboard: revenue proven by an AI referrer or campaign tag, estimated revenue
from recovered sessions kept apart, and the day-by-day line of proven revenue.⌉⌊
The dashboard: revenue proven by an AI referrer or campaign tag, estimated revenue
from recovered sessions kept apart, and the day-by-day line of proven revenue.⌉[

The dashboard: revenue proven by an AI referrer or campaign tag, estimated revenue
from recovered sessions kept apart, and the day-by-day line of proven revenue.

[⌊Where the money came from, per assistant, and which crawlers read your store: 
vendor, purpose and identity, shown as "says so" until crawler address verification
is switched on.⌉⌊Where the money came from, per assistant, and which crawlers read
your store: vendor, purpose and identity, shown as "says so" until crawler address
verification is switched on.⌉[

Where the money came from, per assistant, and which crawlers read your store: vendor,
purpose and identity, shown as “says so” until crawler address verification is switched
on.

[⌊Revenue by AI agent: orders, sessions, conversion, average order and share for
each assistant, computed from your own store.⌉⌊Revenue by AI agent: orders, sessions,
conversion, average order and share for each assistant, computed from your own store
.⌉[

Revenue by AI agent: orders, sessions, conversion, average order and share for each
assistant, computed from your own store.

[⌊The WooCommerce orders list with the AI channel column: the assistant each order
is credited to, next to WooCommerce's own origin field.⌉⌊The WooCommerce orders 
list with the AI channel column: the assistant each order is credited to, next to
WooCommerce's own origin field.⌉[

The WooCommerce orders list with the AI channel column: the assistant each order
is credited to, next to WooCommerce’s own origin field.

[⌊Settings: the attribution model, the estimated-revenue switch, crawler address
verification (off until you turn it on) and what happens to the data when the plugin
is deleted.⌉⌊Settings: the attribution model, the estimated-revenue switch, crawler
address verification (off until you turn it on) and what happens to the data when
the plugin is deleted.⌉[

Settings: the attribution model, the estimated-revenue switch, crawler address verification(
off until you turn it on) and what happens to the data when the plugin is deleted.

[⌊Health: what is configured, what is missing, and what that means for your numbers.⌉⌊
Health: what is configured, what is missing, and what that means for your numbers
.⌉[

Health: what is configured, what is missing, and what that means for your numbers.

## Installation

 1. Install and activate WooCommerce 8.0 or newer.
 2. Upload the plugin and activate it.
 3. Open **Measurement** in the admin menu. The first numbers appear as soon as an 
    AI referral reaches your store.
 4. Optional: on **Measurement  Settings**, choose the attribution model, turn on crawler
    address verification, and decide whether deleting the plugin should also delete
    its data.

The plugin keeps its data in its own database tables. The only thing it writes to
an order is its AI channel verdict, stored as order meta through the WooCommerce
order API.

## FAQ

### Does my store really get AI traffic?

Often, yes, and much of it does not identify itself. When an assistant opens a link,
the browser often sends no referrer, so the visit looks like someone typing the 
address by hand and analytics files it under “direct”. Clearway Forge detects such
visits with first-party data inside your store.

### Google Analytics added an AI channel. Why do I still need this?

That channel classifies by referrer, and much assistant traffic arrives without 
one. The channel list also does not cover every assistant, and it counts sessions
rather than order revenue in your own database. The two are complementary: use the
channel report for the traffic Google can see, and this plugin for the part it cannot
and for the money attached to it.

### Why do some numbers say “estimated”?

Because they are. Where the plugin can prove the source of a visit, it says so; 
where it infers it, it says that instead, and keeps the two apart in every total.

### Can an AI assistant buy from my store through Clearway Forge?

No. Clearway Forge does not offer an agent checkout. It counts the AI channel and
makes your catalogue readable to assistants.

### Does this send my data anywhere?

No. Analysis happens inside WordPress, and no data about your store or your visitors
leaves the server. The only outbound requests the plugin can make download the public
crawler address lists described under External services. They carry no data about
your store or your visitors (the request names only the plugin and its version),
and they do not happen until you turn crawler address verification on.

### Does it work with High-Performance Order Storage?

Yes. The plugin declares compatibility with High-Performance Order Storage and with
the block-based cart and checkout.

### Will it slow my store down?

Collection adds a user agent check and a URL parse on public page views, and writes
to the database after the response has been sent. Nothing the plugin does is on 
the critical path of a purchase.

### What happens to my data if I delete the plugin?

Nothing, unless you ask for it. History survives deactivation and reinstallation.
To remove the plugin’s tables and settings when you delete it, first turn on **Delete
all Clearway Forge data when the plugin is deleted** on the Settings screen. Only
a user who can delete plugins can change that setting.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Clearway Forge – AI Traffic Analytics & llms.txt for WooCommerce” is open source
software. The following people have contributed to this plugin.

Contributors

 *   [ avakodeforge ](https://profiles.wordpress.org/avakodeforge/)

[Translate “Clearway Forge – AI Traffic Analytics & llms.txt for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/clearwayforge)

### Interested in development?

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

## Changelog

#### 1.0.2

 * llms.txt and llms-full.txt show prices, names and descriptions as plain characters:
   a dollar price carried the HTML entity for the “$” sign instead of the sign itself,
   and a sale price repeated itself. A sale now reads the way WooCommerce says it
   to screen readers (“Original price was: $150.00. Current price is: $129.00.”).
   The documents cached by 1.0.1 are not served after the update.
 * The per-page crawler visit counters were never saved because of a malformed database
   query; they are now, and they are deleted with the rest of the crawler log when
   it reaches the retention limit.

#### 1.0.1

 * Crawler address verification is now off until you turn it on in Settings. Activation
   no longer schedules any download.
 * Settings: choose whether deleting the plugin also deletes its data.
 * Readme and admin screens describe only what the plugin and its add-on actually
   do.

#### 1.0.0

 * First public release.

#### 0.1.0

 * First release: attribution to WooCommerce orders, crawler log with address verification,`
   llms.txt` and `llms-full.txt`, health screen, privacy exporter and eraser.

## Meta

 *  Version **1.0.2**
 *  Last updated **19 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 8.2 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/clearwayforge/)
 * Tags
 * [AI](https://xho.wordpress.org/plugins/tags/ai/)[analytics](https://xho.wordpress.org/plugins/tags/analytics/)
   [attribution](https://xho.wordpress.org/plugins/tags/attribution/)[llms.txt](https://xho.wordpress.org/plugins/tags/llms-txt/)
   [woocommerce](https://xho.wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://xho.wordpress.org/plugins/clearwayforge/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/clearwayforge/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/clearwayforge/reviews/)

## Contributors

 *   [ avakodeforge ](https://profiles.wordpress.org/avakodeforge/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/clearwayforge/)