=== 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.