Description
CrawlWatch shows you the invisible traffic: GPTBot, ClaudeBot, PerplexityBot, Google-Extended and 40+ AI crawlers visiting your WordPress site.
Read the llms.txt guide — what llms.txt is, the exact format that works, and the mistakes that make one useless · AI bot traffic in WordPress — how to see it, measure it, and decide what to do about it · Plugin page · Development on GitHub — report issues or contribute.
- AI bot hits + which URLs they read
- AI referrals (visitors coming from ChatGPT, Perplexity, Gemini, Claude)
- One-click llms.txt + ai.txt generator
- robots.txt allow/block per AI bot (preview, no code)
- Readiness Score 0-100 with ranked Quick Wins
- 100% free, no upsell. Data stays on your server. IPs are hashed, never stored raw.
No API key. No external service in V1. Lightweight: normal visitors cause zero extra queries.
External services
None. CrawlWatch talks to no third-party service — the only HTTP requests it makes are loopback fetches of your own posts for the on-demand schema scan. Everything is stored and computed on your own server.
Privacy
CrawlWatch logs AI crawler visits locally: time, bot name, visited URL, referrer domain, truncated user-agent, and SHA-256 hashed IP (IPv4 last octet and IPv6 /64 anonymized before hashing). Raw IPs are never stored. Retention is configurable (default 30 days) and all data is deleted on uninstall if enabled in Settings. No visitor data leaves your site.
Screenshots







Installation
- Upload the plugin folder to
/wp-content/plugins/or install from Plugins > Add New. - Activate through the Plugins screen.
- Go to CrawlWatch in the left menu and follow the 3-step setup.
- Open
yoursite.com/llms.txtto verify (plain permalinks or subdirectory installs: useyoursite.com/?crawlwatch_file=llms.txt).
FAQ
-
Does this send data outside my site?
-
No. Everything is stored locally in one table (
wp_crawlwatch_logs). IPs are SHA-256 hashed (IPv4 last octet and IPv6 /64 anonymized first). No third-party calls — the only HTTP requests CrawlWatch ever makes are loopback fetches of your own posts for the on-demand schema scan. -
Will it slow my site?
-
No. Normal human visits do zero extra queries. Only detected AI hits do one dedupe check plus one insert. No CSS/JS on the frontend.
-
How long are logs kept?
-
Default 30 days (7/14/30/90/180 selectable). Daily WP-Cron auto-deletes older rows.
-
Does it work without Yoast/RankMath?
-
Yes. It only detects whether an SEO plugin is active (for the schema part of the score). No integration needed.
-
Will blocking a bot hurt my SEO?
-
Blocking AI training bots (GPTBot, ClaudeBot) does not affect Google search. Never block regular Googlebot — CrawlWatch only manages AI bots, and Google-Extended asks for confirmation first.
-
Why do I see few or zero hits with a cache plugin?
-
Tracking runs in PHP. Full-page caches (WP Rocket, LiteSpeed, W3 Total Cache, Cloudflare APO) serve cached pages without running PHP, so those visits are never logged. CrawlWatch shows a notice on its own pages when a known cache is active.
-
How do I block GPTBot in WordPress?
-
Add a
Disallowrule for GPTBot in robots.txt — CrawlWatch writes it for you with preview. That keeps your content out of OpenAI training data. It does not remove anything already trained on. -
Does blocking GPTBot stop ChatGPT from citing my site?
-
No — that is a different bot. GPTBot governs training; OAI-SearchBot governs ChatGPT Search citability. Blocking GPTBot hides you from training while leaving you citable. The same split exists at Anthropic (ClaudeBot vs Claude-SearchBot). Google-Extended only affects Gemini training, never AI Overviews.
-
Where does llms.txt go on a WordPress site?
-
At the domain root (
yoursite.com/llms.txt). CrawlWatch generates and serves it with no file writes. Anything deeper and most consumers never look. -
Is llms.txt actually read by AI assistants?
-
Some read it, some do not — adoption is limited and Google does not use it for search. It costs nothing to have, and it makes the assistants that do read it describe you accurately.
Reviews
Contributors & Developers
“CrawlWatch – AI Bot Insights” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “CrawlWatch – AI Bot Insights” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.1.2
- Privacy: only the referrer host is stored now (path and query never reach the database), matching the Privacy statement.
- Reliability: weekly digest is re-scheduled on reactivation; llms.txt rebuild is debounced into one cron run; schema scan runs in batches of 5 with continue button.
- Performance: Woo top products cached 12h; AI Readiness and Score queries no longer N+1.
- Tooling: PHPCS WordPress-Extra clean, PHPStan 2, CI (lint + stan + phpcs + phpunit) on push/PR.
1.1.1
- Packagist distribution (composer.json) + full QA tooling: PHPCS, PHPStan level 5, PHPUnit.
1.1.0
- Grouped-by-bot tab, daily hits trend chart, score breakdown, Content Gaps renamed to AI Readiness.
- Robots preview fallback for subdirectory/plain-permalink installs, Quick Wins link to AI Readiness, CSV formula guard with site-timezone times, page-cache notice + FAQ, uninstall row-count hint.
- Fixes: grouped-stats prepare notice, Reset keeps active tab, compact chart layout, Overview submenu removed.
1.0.0
- Initial release: AI bot + referral tracker (40+ crawlers), Overview dashboard with score + Quick Wins, Bots filter/search/pagination, llms.txt + ai.txt generator (no file writes), robots.txt AI allow/block manager, Settings (retention/privacy/clear logs), 3-step setup wizard. 100% free, local-only, hashed IPs.
