=== AITooler Bot Analytics – AI Crawler Tracking & Visibility ===
Contributors: aitooler
Tags: ai bots, crawler analytics, robots.txt, ai visibility, bot tracking
Requires at least: 5.8
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

See which AI crawlers visit your site, serve llms.txt automatically, and manage AI bot access. Everything stays in your own database.

== Description ==

AI assistants send real traffic now, but most site owners have no idea whether GPTBot, ClaudeBot or PerplexityBot ever visit their pages. Analytics tools ignore them. Server logs are a pain to read.

AITooler Bot Analytics answers three questions from one screen:

**1. Which AI bots are crawling my site?**

The plugin recognizes 16 known AI crawlers and logs their visits into a table in your own WordPress database. You get a report showing visits per bot, the pages they hit most, and when each bot was last seen. Bots are grouped by what they actually do: model training (GPTBot, ClaudeBot, CCBot...), AI search indexing (OAI-SearchBot, PerplexityBot...) and live user requests (ChatGPT-User, Claude-User — a real person asked an assistant to open your page).

That last group matters. Those are potential readers and customers, not just crawlers.

**2. Is my content readable for AI?**

The plugin serves llms.txt and llms-full.txt at your site root — a structured index of your content following the llmstxt.org convention. No files are written to disk, nothing to upload over FTP. The output refreshes automatically when you publish or update content.

**3. Who is allowed in?**

A simple table lets you block individual bots via robots.txt rules. Maybe you want AI search engines to index you but prefer to keep training crawlers out. One checkbox per bot.

= What this plugin does NOT do =

* It does not send your data anywhere. There is no external service, no account, no API key, no telemetry. Visit logs live in your database and are pruned automatically after a retention period you choose.
* It does not slow your site down. Logging is a single indexed insert with a deduplication check against the same table. There is no JavaScript on the front end.
* It does not nag you with upgrade banners.

= Good to know =

* The robots.txt controls work when WordPress generates robots.txt dynamically. If a physical robots.txt file exists in your site root, it takes precedence — the settings page tells you if that's the case.
* robots.txt is a voluntary standard. Reputable crawlers respect it; obscure scrapers may not.
* llms.txt is an emerging convention. Adoption by AI companies varies, but publishing one costs you nothing and several crawlers already fetch it.

= What makes this different from the existing 150+ plugins in this space? =

Most existing plugins only generate the llms.txt file. This one combines three things that are typically separate: crawler visit analytics (so you know what is actually happening), content exposure (llms.txt), and access control (robots.txt rules) — all local, all in one screen, no accounts or external services.

Built and maintained by a site operator who got tired of grepping access logs to see whether AI bots had come by.

== Installation ==

1. Install through Plugins → Add New, or upload the zip.
2. Activate.
3. Go to the Bot Analytics menu in the admin sidebar.
4. Check that yoursite.com/llms.txt loads. If it 404s, visit Settings → Permalinks and click Save once.

Crawler data starts appearing as soon as a known bot visits. On an indexed site this usually happens within days.

== Frequently Asked Questions ==

= Where is the visit data stored? =

In a single table (`wp_atba_visits`) inside your WordPress database. Nothing is transmitted anywhere. Old rows are deleted automatically — 90 days by default, adjustable from 7 to 365.

= Does this track my human visitors? =

No. Only requests whose User-Agent matches a known AI crawler are logged, and only the bot name, URL path and timestamp are stored. No IP addresses, no cookies, no personal data.

= My llms.txt shows a 404 =

Re-save your permalinks once (Settings → Permalinks → Save Changes). If it still fails, another plugin or a physical file may be intercepting the URL.

= Can I exclude certain content from llms.txt? =

Choose which post types are included on the settings page. Developers can filter the output with `atba_post_types`, `atba_index_limit` and `atba_full_limit`.

= Will blocking a bot in robots.txt actually stop it? =

Major crawlers (OpenAI, Anthropic, Google, Perplexity and others) publicly commit to honoring robots.txt. Unknown scrapers may ignore it — blocking those requires server-level rules, which is outside what a plugin can reliably do.

= Does it work with caching plugins? =

Yes. Bot logging runs in PHP, so fully cached pages served by a CDN or page cache before PHP loads won't be logged. The llms.txt endpoints send plain text with their own caching and work fine behind common cache setups.

== Screenshots ==

1. Crawler activity report — visits per bot, purpose, last seen.
2. Most crawled pages.
3. llms.txt settings and per-bot access control.
4. Dashboard widget.

== Changelog ==

= 1.0.0 =
* First release. Bot visit logging for 16 AI crawlers, virtual llms.txt / llms-full.txt endpoints, per-bot robots.txt control, dashboard widget, automatic log retention.

== Upgrade Notice ==

= 1.0.0 =
First release.
