AgentAisle documentation
Everything you need to install, configure and get the most from AgentAisle and AgentAisle Pro.
Requirements
- WordPress 6.4 or newer
- PHP 8.1 or newer
- WooCommerce 8.0 or newer, active
- Pretty permalinks (any setting except “Plain”) for
llms.txtand the REST API
AgentAisle supports WooCommerce High-Performance Order Storage (HPOS) and the block-based cart and checkout.
Install the free plugin
- In your WordPress admin, go to Plugins → Add New.
- Search for AgentAisle, then click Install Now and Activate. You can also download the zip from WordPress.org and upload it with Upload Plugin.
- Open WooCommerce → AgentAisle.
On activation AgentAisle creates one database table for AI bot visits and schedules a daily clean-up. Nothing is sent outside your site.
Install Pro and activate your licence
Pro is an add-on, so keep the free plugin installed and active.
- After buying, download
agentaisle-pro.zipfrom the link in your purchase email or your customer dashboard. - Go to Plugins → Add New → Upload Plugin, choose the zip and click Install Now, then Activate.
- Open WooCommerce → AgentAisle. Paste the licence key from your purchase email and click Activate License.
- If asked, confirm the activation email sent to your address.
The page title changes to AgentAisle Pro and the Pro tabs appear: AI revenue and Agent access. An Account page is added for managing your licence.
First steps
- Check the Readiness tab. Fix any red store checks first: indexing, permalinks and policy pages make the biggest difference.
- Review AI crawlers. The defaults allow every bot. Decide whether you want to block training bots.
- Publish llms.txt. Switch it on in the llms.txt tab and check the live file.
- Wait a few days. Most stores see their first AI visits within a week. The dashboard fills in as they arrive.
Dashboard
The dashboard summarises AI activity on your store:
- AI visits in the last 7 and 30 days, and the number of distinct AI bots.
- Product readiness: the average score of the products checked.
- Daily AI visits: a 30-day bar chart. Today’s bar is green.
- Visits by bot with each bot’s operator and type.
- Most-crawled pages, so you can see which products AI reads most.
Figures are cached for five minutes to keep your admin fast.
AI crawlers
AgentAisle recognises 18 AI bots by their published user-agent names and groups them by what they do:
| Type | What it does | Examples |
|---|---|---|
| Training | Collects content to train future AI models. | GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, CCBot, Bytespider |
| AI search | Powers AI answers and search results that can link to your products. | OAI-SearchBot, Claude-SearchBot, PerplexityBot, Amazonbot, DuckAssistBot |
| User agent | Fetches a page live because a person asked an assistant about it. | ChatGPT-User, Claude-User, Perplexity-User, Meta-ExternalFetcher, MistralAI-User |
Untick a bot and click Save crawler rules to block it. AgentAisle adds a Disallow: / rule for that bot to your virtual robots.txt.
robots.txt is a request that reputable companies follow, not a technical block. If a physical robots.txt file exists in your site’s root folder, WordPress can’t add rules and AgentAisle shows a warning. Copy the rules into that file or remove it.
llms.txt
llms.txt is a plain-text summary of your site written for AI assistants. AgentAisle builds it automatically at yourstore.com/llms.txt from:
- your store name and tagline
- shop, terms, privacy, shipping, returns, contact and about pages
- your 30 largest product categories
- your 20 most popular products
Tick Publish llms.txt to switch it on. To write your own version, type it into the box; leave the box empty to go back to the automatic version. With Pro, a For AI agents section lists your product feed and MCP server.
Readiness
Store checks
Seven checks that affect how AI assistants treat your whole store: search-engine visibility, readable permalinks, llms.txt, WooCommerce product structured data, a terms page, a shipping page and a returns page. Each failed check explains how to fix it.
Product score
Each product is scored on nine items: price, stock status, image, short description, a description of 50+ words, SKU, GTIN/EAN/UPC, brand and a real category (not “Uncategorized”). The free plugin scores your 25 newest products; Pro scores the whole catalogue.
GTINs use WooCommerce’s built-in GTIN, UPC, EAN or ISBN field. Brands use WooCommerce’s built-in Brands, or a product attribute called “Brand”.
Settings and privacy
- Visit logging: switch AI bot logging on or off.
- Keep logs for: up to 30 days in the free plugin, up to 730 days with Pro. Older entries are deleted daily.
AgentAisle only logs visits from known AI bots. Human visitors are never logged. IP addresses are stored as a short one-way hash, never in full, and everything stays in your own database. Deleting the plugin removes its tables and settings.
AI revenue Pro
The AI revenue tab shows shoppers, orders and revenue that came from AI assistants, for 7, 30, 90 or 365 days.
- Shoppers are counted when someone lands on your store from an AI assistant (by referrer or by a
utm_sourcesuch aschatgpt.com). - Orders are matched using WooCommerce’s order attribution data and the shopper’s existing cart session. Only paid orders (processing, completed or on hold) count.
- By assistant breaks it down for ChatGPT, Perplexity, Claude, Gemini, Copilot, Meta AI, Le Chat, DeepSeek, Grok and others.
- Where AI shoppers land lists the pages they arrive on.
No cookies are added. You can switch tracking off under Tracking and weekly email.
Estimated citations Pro
When a person asks an assistant about a product, the assistant often fetches the page live using a “user agent” bot such as ChatGPT-User or Perplexity-User. AgentAisle counts these fetches per page. A page fetched often is very likely being used in answers. It’s an estimate, not proof.
Full-catalogue readiness Pro
With Pro, the Readiness tab scores every published product (up to 5,000), weakest first, with filters for Missing GTIN or brand and Score under 50%.
Bulk fixes
- Filter to Missing GTIN or brand.
- Type GTINs (8 to 14 digits) and brands into the boxes. To give every product on the page the same brand, use Brand for every product on this page without one.
- Click Save GTINs and brands.
GTINs must be unique. Any that can’t be saved are counted in the message at the top. Variable products take their GTINs on each variation in the product editor.
Agent access Pro
The Agent access tab lets AI agents read your catalogue and prepare a cart for a shopper. Switch each capability on or off:
- Read the product feed: a JSON list of every product.
- Search products and read details.
- Create cart links for shoppers.
- Connect through MCP (Model Context Protocol), the standard many AI agents use.
How cart links work
- An agent asks for a cart link with product IDs and quantities.
- AgentAisle checks stock, quantities and your limits, then returns a one-time link valid for one hour.
- The shopper opens the link. The items are added to their cart and the cart page opens.
- The shopper reviews the cart and pays on your normal checkout.
Guardrails and activity log Pro
- Requests per minute, per visitor: default 60. Extra requests get a “429 Too Many Requests” reply.
- Maximum quantity per item: default 10.
- Maximum cart link value: default 1,000 in your store currency. Set 0 for no limit.
Recent agent activity lists the last 50 agent actions: what was done, by which agent, and whether it was allowed or refused.
Exports and weekly email Pro
On the AI revenue tab, download CSV files of AI crawler visits, AI referrals and agent actions for the selected period. Spreadsheet formulas are neutralised for safety.
The weekly summary email goes out on Monday mornings with AI visits, top bots, shoppers and orders from AI assistants. It goes to your site admin email unless you enter another address.
REST API Pro
All endpoints live under /wp-json/agentaisle/v1, need no authentication, and respect the switches and rate limit on the Agent access tab.
| Method | Endpoint | Purpose |
|---|---|---|
GET | /feed?page=1&per_page=50 | Paged product feed with store details (max 100 per page) |
GET | /products/search?q=boots | Search by keyword or SKU (max 50 results) |
GET | /products/{id} | One product with its variations |
POST | /cart-link | Create a one-time cart link |
POST | /mcp | MCP server (JSON-RPC 2.0) |
Create a cart link
POST /wp-json/agentaisle/v1/cart-link
Content-Type: application/json
{ "items": [ { "id": 123, "quantity": 2 }, { "id": 456, "quantity": 1 } ] }
{
"url": "https://yourstore.com/?agentaisle_cart=…",
"expires_in": 3600,
"subtotal": "86.00",
"currency": "EUR",
"items": [ { "id": 123, "quantity": 2 }, { "id": 456, "quantity": 1 } ],
"next_step": "Give this link to the customer…"
}
Use variation IDs for products with options. Errors return HTTP 400 with a plain-English message, such as “Quantity must be between 1 and 10.”
MCP server Pro
The MCP endpoint speaks JSON-RPC 2.0 over HTTP (protocol version 2025-06-18). Point any MCP-capable agent at:
https://yourstore.com/wp-json/agentaisle/v1/mcp
Available tools (only the ones you’ve switched on are listed):
| Tool | Arguments | Returns |
|---|---|---|
search_products | query, optional limit | Matching products with prices, stock and links |
get_product | id | Full product details and variations |
get_store_info | none | Store name, currency, country and policy links |
create_cart_link | items array of id and quantity | A one-time cart link for the shopper |
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": { "name": "search_products", "arguments": { "query": "boots", "limit": 5 } } }
Hooks and filters
| Hook | Type | Use |
|---|---|---|
agentaisle_bots | filter | Add or change recognised AI bots |
agentaisle_bot_visit | action | Runs after a bot visit is logged (bot, path, object ID) |
agentaisle_llms_generated | filter | Change the automatic llms.txt content |
agentaisle_max_retention_days | filter | Maximum log retention in days |
agentaisle_readiness_product_limit | filter | How many products the free readiness report scores |
agentaisle_admin_tabs | filter | Add admin tabs; render them on agentaisle_render_tab_{tab} |
agentaisle_pro_ai_sources | filter | Add AI assistant domains for referral tracking (Pro) |
// Count visits from a new AI bot.
add_filter( 'agentaisle_bots', function ( $bots ) {
$bots['ExampleAIBot'] = array( 'operator' => 'Example', 'type' => 'search' );
return $bots;
} );
Licences and billing
- Licences last one year and renew automatically. Cancel any time from your customer dashboard or the Account page in the plugin.
- Move a licence to another site by deactivating it on the old site (Account → Deactivate License) and activating it on the new one.
- Localhost and development sites don’t count towards your site limit.
- Upgrade from 1 to 5 or 25 sites at any time and pay only the difference.
- Payments, invoices and VAT are handled by our reseller, Freemius. Your invoice comes from them.
Lost your licence key? Use Can’t find your license key? on the activation screen, or email support@getagentaisle.com.
Troubleshooting
llms.txt shows “Page not found”
Make sure Publish llms.txt is ticked. Then go to Settings → Permalinks and click Save Changes once to refresh WordPress’s rewrite rules.
Crawler rules don’t appear in robots.txt
A physical robots.txt file in your site root overrides WordPress. Remove it, or copy AgentAisle’s rules into it. Some SEO plugins also manage robots.txt; check their settings.
No AI visits after a week
Check that Visit logging is on and that Settings → Reading → Discourage search engines is unticked. Full-page caching at server level (for example some managed hosts or Cloudflare) can stop WordPress seeing bot requests; exclude known AI bots from the cache or log at the server instead.
The REST API or MCP returns 403
The capability is switched off on the Agent access tab, or a security plugin is blocking anonymous REST requests. Allow the agentaisle/v1 namespace.
The REST API returns 429
The visitor hit your rate limit. Raise Requests per minute on the Agent access tab if real agents need more.
Pro asks for a licence again
Your licence may have expired, or the site address changed. Open the Account page to check, or reactivate with your key.