{"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-28T01:44:51","modified_gmt":"2026-05-28T01:44:51","slug":"kansoku-lab-tracker","status":"closed","type":"plugin","link":"https:\/\/bel.wordpress.org\/plugins\/kansoku-lab-tracker\/","author":23485188,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.4","stable_tag":"1.4.4","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"AI 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-28 01:44:51","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":361,"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"},"1.1.3":{"tag":"1.1.3","author":"aikansokulab","date":"2026-05-19 06:39:28"},"1.2.1":{"tag":"1.2.1","author":"aikansokulab","date":"2026-05-22 02:09:41"},"1.2.2":{"tag":"1.2.2","author":"aikansokulab","date":"2026-05-22 02:15:00"},"1.2.3":{"tag":"1.2.3","author":"aikansokulab","date":"2026-05-22 02:36:11"},"1.2.4":{"tag":"1.2.4","author":"aikansokulab","date":"2026-05-22 03:29:01"},"1.2.5":{"tag":"1.2.5","author":"aikansokulab","date":"2026-05-22 04:12:50"},"1.2.6":{"tag":"1.2.6","author":"aikansokulab","date":"2026-05-22 04:57:46"},"1.2.7":{"tag":"1.2.7","author":"aikansokulab","date":"2026-05-25 07:55:34"},"1.2.8":{"tag":"1.2.8","author":"aikansokulab","date":"2026-05-25 08:14:07"},"1.2.9":{"tag":"1.2.9","author":"aikansokulab","date":"2026-05-25 08:24:49"},"1.3.0":{"tag":"1.3.0","author":"aikansokulab","date":"2026-05-25 08:44:18"},"1.3.1":{"tag":"1.3.1","author":"aikansokulab","date":"2026-05-27 05:44:33"},"1.4.0":{"tag":"1.4.0","author":"aikansokulab","date":"2026-05-28 00:09:32"},"1.4.1":{"tag":"1.4.1","author":"aikansokulab","date":"2026-05-28 00:29:42"},"1.4.2":{"tag":"1.4.2","author":"aikansokulab","date":"2026-05-28 01:09:02"},"1.4.3":{"tag":"1.4.3","author":"aikansokulab","date":"2026-05-28 01:21:43"},"1.4.4":{"tag":"1.4.4","author":"aikansokulab","date":"2026-05-28 01:44:51"}},"upgrade_notice":{"1.4.0":"<p>All features are now free with no restrictions. Stripe billing and AI citation checker have been removed from the plugin.<\/p>","1.0.6":"<p>Internal refactor for WordPress.org compliance and improved settings handling.<\/p>","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":3543006,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3543006,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3543006,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.6","1.1.3","1.2.1","1.2.2","1.2.3","1.2.4","1.2.5","1.2.6","1.2.7","1.2.8","1.2.9","1.3.0","1.3.1","1.4.0","1.4.1","1.4.2","1.4.3","1.4.4"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"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-closed","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":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/kansoku-lab-tracker_f3f5fa.svg","icon_2x":false,"generated":true},"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>14 AI-related crawler patterns<\/strong> - GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot, ByteSpider, Meta-ExternalAgent, AppleBot, DeepSeek, Grok, and related AI access patterns including Google-Extended<\/li>\n<li><strong>Explicit opt-in<\/strong> - External tracking only activates when you enable it via checkbox<\/li>\n<li><strong>Minimal 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 Services<\/h4>\n\n<p>This plugin may connect to the following external service:<\/p>\n\n<p><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 data is sent to the AI Kansoku Lab API:\n* User-Agent string of the detected AI crawler\n* URL path of the visited page\n* HTTP referer header (if present)\n* HTTP status code of the page (200 or 404)\n* Your Site ID (configured in plugin settings)<\/p>\n\n<p>No personally identifiable information is collected. This plugin does not collect cookies, account credentials, form contents, or visitor IP addresses.<\/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* HTTP referer header (if present)\n* HTTP status code of the page (200 or 404)\n* Site ID configured in plugin settings<\/p>\n\n<p>No personally identifiable information is collected. This plugin does not collect cookies, account credentials, form contents, or visitor IP addresses.<\/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.4.0<\/h4>\n\n<ul>\n<li>Removed all PRO\/free feature restrictions \u2014 all features now fully available to everyone<\/li>\n<li>Removed Stripe payment integration (billing moved to ai-kansoku.com)<\/li>\n<li>Removed AI citation checker (keywords.php) \u2014 feature moved to ai-kansoku.com<\/li>\n<li>Replaced Chart.js CDN with locally bundled file (WordPress.org guideline compliance)<\/li>\n<li>Removed inline script\/style output; all assets now enqueued via wp_enqueue_script and wp_add_inline_style<\/li>\n<li>Improved output escaping throughout<\/li>\n<li>Updated readme to fully disclose all transmitted data fields (referer, status_code)<\/li>\n<\/ul>\n\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:\/\/bel.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/303049","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bel.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bel.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bel.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=303049"}],"author":[{"embeddable":true,"href":"https:\/\/bel.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/aikansokulab"}],"wp:attachment":[{"href":"https:\/\/bel.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=303049"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bel.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=303049"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bel.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=303049"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bel.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=303049"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bel.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=303049"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bel.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=303049"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}