{"id":303049,"date":"2026-05-13T04:05:32","date_gmt":"2026-05-13T04:05:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-kansoku-lab-tracker\/"},"modified":"2026-05-13T04:08:15","modified_gmt":"2026-05-13T04:08:15","slug":"kansoku-lab-tracker","status":"publish","type":"plugin","link":"https:\/\/tl.wordpress.org\/plugins\/kansoku-lab-tracker\/","author":23485188,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.6","stable_tag":"1.0.6","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Kansoku Lab Tracker","header_author":"aikansokulab","header_description":"Track AI crawler visits (GPTBot, ClaudeBot, PerplexityBot, etc.) server-side. Works where JavaScript tracking fails.","assets_banners_color":"f3f5fa","last_updated":"2026-05-13 04:08:15","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.ai-kansoku.com\/tracker","header_author_uri":"https:\/\/www.ai-kansoku.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":25,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.6":{"tag":"1.0.6","author":"aikansokulab","date":"2026-05-13 04:08:15"}},"upgrade_notice":{"1.0.2":"<p>Added explicit opt-in checkbox for external tracking. Please re-enable tracking in Settings &gt; AI Kansoku Lab after updating.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3530494,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3530492,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3530491,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.6"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2353,9837,247966,186,550],"plugin_category":[36,55],"plugin_contributors":[262741],"plugin_business_model":[],"class_list":["post-303049","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-crawler","plugin_tags-gptbot","plugin_tags-seo","plugin_tags-tracking","plugin_category-analytics","plugin_category-seo-and-marketing","plugin_contributors-aikansokulab","plugin_committers-aikansokulab"],"banners":{"banner":"https:\/\/ps.w.org\/kansoku-lab-tracker\/assets\/banner-772x250.png?rev=3530491","banner_2x":"https:\/\/ps.w.org\/kansoku-lab-tracker\/assets\/banner-1544x500.png?rev=3530492","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/kansoku-lab-tracker\/assets\/icon-128x128.png?rev=3530494","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>AI Kansoku Lab Tracker<\/strong> detects visits from AI crawlers such as GPTBot, ClaudeBot, and PerplexityBot using PHP server-side detection. Because AI crawlers do not execute JavaScript, traditional analytics tools like GA4 cannot capture these visits. This plugin solves that problem.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Server-side detection<\/strong> - Captures AI crawlers that do not run JavaScript<\/li>\n<li><strong>14 crawler patterns<\/strong> - GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot, ByteSpider, Meta-ExternalAgent, Google-Extended, Grok, AppleBot, DeepSeek, and more<\/li>\n<li><strong>Explicit opt-in<\/strong> - External tracking only activates when you enable it via checkbox<\/li>\n<li><strong>Zero performance impact<\/strong> - Uses non-blocking POST requests (blocking: false)<\/li>\n<li><strong>Simple setup<\/strong> - Just paste your Site ID, enable tracking, and save<\/li>\n<li><strong>WordPress standards<\/strong> - Uses wp_remote_post, register_setting, nonce verification, and proper escaping throughout<\/li>\n<li><strong>Front-end only<\/strong> - Does not fire on admin, cron, AJAX, or REST API requests<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<p>When a front-end page is requested, the plugin checks the User-Agent string against known AI crawler patterns. If a match is found \u2014 and you have explicitly enabled external tracking \u2014 it sends an asynchronous POST request to the AI Kansoku Lab API to log the visit. The site visitor experiences no delay.<\/p>\n\n<h4>External Service<\/h4>\n\n<p>This plugin connects to an external API: <strong>AI Kansoku Lab<\/strong> (https:\/\/www.ai-kansoku.com).<\/p>\n\n<p>External tracking is <strong>opt-in only<\/strong>. Data is only transmitted after you explicitly enable it in the settings page.<\/p>\n\n<p>When an AI crawler is detected, the following metadata is sent:\n* User-Agent string of the detected AI crawler\n* URL path of the visited page\n* Your Site ID (configured in plugin settings)<\/p>\n\n<p>This plugin does not intentionally collect cookies, account credentials, or form contents.<\/p>\n\n<ul>\n<li>Service URL: https:\/\/www.ai-kansoku.com<\/li>\n<li>Privacy Policy: https:\/\/www.ai-kansoku.com\/privacy<\/li>\n<li>Terms of Service: https:\/\/www.blog.ai-kansoku.com\/terms<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>A free account at AI Kansoku Lab (https:\/\/www.ai-kansoku.com)<\/li>\n<li>Your Site ID from the dashboard<\/li>\n<\/ul>\n\n<h3>Privacy Policy<\/h3>\n\n<p>This plugin connects to an external service to log AI crawler visits.<\/p>\n\n<p>External tracking is opt-in only and only activates after explicit user consent via the settings page.<\/p>\n\n<p>Data transmitted to AI Kansoku Lab (https:\/\/www.ai-kansoku.com) when tracking is enabled:\n* User-Agent string of the detected AI crawler\n* URL path of the visited page\n* Site ID configured in plugin settings<\/p>\n\n<p>This plugin does not intentionally collect cookies, account credentials, or form contents.<\/p>\n\n<p>Full privacy policy: https:\/\/www.ai-kansoku.com\/privacy<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin ZIP via Plugins &gt; Add New &gt; Upload Plugin<\/li>\n<li>Activate the plugin<\/li>\n<li>Go to Settings &gt; AI Kansoku Lab<\/li>\n<li>Enter your Site ID from https:\/\/www.ai-kansoku.com\/dashboard<\/li>\n<li>Check \"Enable external tracking to AI Kansoku Lab\"<\/li>\n<li>Click Save Settings<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20find%20my%20site%20id%3F\"><h3>Where do I find my Site ID?<\/h3><\/dt>\n<dd><p>Log in to AI Kansoku Lab (https:\/\/www.ai-kansoku.com), register your site, and copy the Site ID shown in the Tracking Code section of your dashboard.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20site%3F\"><h3>Will this slow down my site?<\/h3><\/dt>\n<dd><p>No. The plugin uses <code>wp_remote_post<\/code> with <code>blocking: false<\/code>, so the HTTP request is fired asynchronously and does not delay page rendering.<\/p><\/dd>\n<dt id=\"does%20it%20run%20on%20every%20request%3F\"><h3>Does it run on every request?<\/h3><\/dt>\n<dd><p>No. The plugin only fires on front-end page requests when both a Site ID is set and external tracking is explicitly enabled. Admin pages, AJAX calls, REST API requests, and WP-Cron jobs are excluded.<\/p><\/dd>\n<dt id=\"can%20it%20detect%20crawlers%20that%20do%20not%20run%20javascript%3F\"><h3>Can it detect crawlers that do not run JavaScript?<\/h3><\/dt>\n<dd><p>Yes. That is the main purpose of this plugin. GA4 and other JavaScript-based tools miss AI crawlers entirely. This plugin detects them at the PHP level using the HTTP_USER_AGENT server variable.<\/p><\/dd>\n<dt id=\"which%20ai%20crawlers%20are%20supported%3F\"><h3>Which AI crawlers are supported?<\/h3><\/dt>\n<dd><p>GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, Anthropic-AI, ByteSpider, Meta-ExternalAgent, Google-Extended, Grok, xAI, AppleBot, DeepSeek, CopilotBot, PerplexityBot.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20uninstall%20the%20plugin%3F\"><h3>What happens when I uninstall the plugin?<\/h3><\/dt>\n<dd><p>All plugin settings stored in the WordPress database are removed automatically on uninstall.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Renamed plugin to Kansoku Lab Tracker for WordPress.org guidelines compliance<\/li>\n<li>Updated all prefixes from AIK_ to AIKLAB_ to meet 4+ character prefix requirement<\/li>\n<li>Replaced inline  block with wp_enqueue_style() and wp_add_inline_style()<\/li>\n<li>Updated Terms of Service URL<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Replaced HTML-mixed echo with PHP template syntax in status panel<\/li>\n<li>Changed Tested up to from 6.9 to 6.8 for accuracy<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Changed hook from <code>init<\/code> to <code>template_redirect<\/code> for cleaner front-end-only targeting<\/li>\n<li>Removed redundant is_admin\/cron\/AJAX\/REST guards (handled by hook context)<\/li>\n<li>Replaced Markdown link syntax in readme with plain URLs for better compatibility<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added explicit opt-in checkbox \u2014 external tracking now requires user consent<\/li>\n<li>Unified all URLs to https:\/\/www.ai-kansoku.com<\/li>\n<li>Refined crawler regex (replaced broad \/anthropic\/ with \/anthropic-ai\/)<\/li>\n<li>Updated privacy wording to accurately reflect transmitted data<\/li>\n<li>Status panel now shows tracking state (Active \/ Disabled \/ Not configured)<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Changed tracking from GET to POST request for cleaner data transmission<\/li>\n<li>Increased timeout from 0.1s to 1s for better reliability<\/li>\n<li>Restricted tracking to front-end requests only (excludes admin, AJAX, REST, cron)<\/li>\n<li>Added explicit External API Notice in settings page<\/li>\n<li>Added uninstall.php to clean up database options on removal<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Track AI crawler visits (GPTBot, ClaudeBot, PerplexityBot, etc.) server-side and visualize them in the AI Kansoku Lab dashboard.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/303049","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=303049"}],"author":[{"embeddable":true,"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/aikansokulab"}],"wp:attachment":[{"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=303049"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=303049"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=303049"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=303049"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=303049"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=303049"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}