{"id":274439,"date":"2026-02-03T14:39:29","date_gmt":"2026-02-03T14:39:29","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/otterfixer-ai-bot-tracker\/"},"modified":"2026-02-17T13:43:12","modified_gmt":"2026-02-17T13:43:12","slug":"otterfixer-ai-bot-tracker","status":"publish","type":"plugin","link":"https:\/\/ug.wordpress.org\/plugins\/otterfixer-ai-bot-tracker\/","author":23436030,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.5","stable_tag":"1.0.5","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"OtterFixer AI Bot Tracker","header_author":"OtterFixer","header_description":"Detects visits from common AI\/LLM crawler user agents (such as GPTBot and ClaudeBot) and displays a simple, local-only report in the WordPress admin area.","assets_banners_color":"c7cfc1","last_updated":"2026-02-17 13:43:12","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/otterfixer.com\/free-wordpress-plugins\/otterfixer-ai-bot-tracker\/","header_author_uri":"https:\/\/otterfixer.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":181,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.4":{"tag":"1.0.4","author":"otterfixer195725","date":"2026-02-03 14:39:19"},"1.0.5":{"tag":"1.0.5","author":"otterfixer195725","date":"2026-02-17 13:43:12"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3463583,"resolution":"128x128","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3463583,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3463583,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.4","1.0.5"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3463583,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3463583,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3463583,"resolution":"3","location":"assets","locale":""}},"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2353,2359,9837,23519,1522],"plugin_category":[],"plugin_contributors":[255144],"plugin_business_model":[],"class_list":["post-274439","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-bot","plugin_tags-crawler","plugin_tags-diagnostics","plugin_tags-logging","plugin_contributors-otterfixer195725","plugin_committers-otterfixer195725"],"banners":{"banner":"https:\/\/ps.w.org\/otterfixer-ai-bot-tracker\/assets\/banner-772x250.png?rev=3463583","banner_2x":"https:\/\/ps.w.org\/otterfixer-ai-bot-tracker\/assets\/banner-1544x500.png?rev=3463583","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/otterfixer-ai-bot-tracker\/assets\/icon-128x128.png?rev=3463583","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/otterfixer-ai-bot-tracker\/assets\/screenshot-1.png?rev=3463583","caption":""},{"src":"https:\/\/ps.w.org\/otterfixer-ai-bot-tracker\/assets\/screenshot-2.png?rev=3463583","caption":""},{"src":"https:\/\/ps.w.org\/otterfixer-ai-bot-tracker\/assets\/screenshot-3.png?rev=3463583","caption":""}],"raw_content":"<!--section=description-->\n<p>OtterFixer AI Bot Tracker logs front-end requests that match common AI\/LLM crawler user-agents such as:\n- GPTBot\n- ChatGPT-User\n- ClaudeBot\n- PerplexityBot\n- Google-Extended<\/p>\n\n<p>It is designed to be simple and honest:\n- No ads\n- No bloat\n- No tracking of real visitors<\/p>\n\n<p>Important: The plugin only logs requests that match known bot user-agent patterns. If a real visitor spoofs a bot user-agent, they could be logged as well.<\/p>\n\n<p>What is stored:\n- UTC time\n- Bot name\n- Page path\n- Anonymised IP (IPv4 last octet is zeroed, IPv6 is shortened)\n- Full user-agent string<\/p>\n\n<p>Nothing is sent anywhere. Data stays in your WordPress database.<\/p>\n\n<p>Where to find it:\nTools \u2192 OtterFixer AI Bot Tracker<\/p>\n\n<h3>Usage<\/h3>\n\n<ol>\n<li>Visit Tools \u2192 AI Bot Tracker.<\/li>\n<li>Leave it running and check back whenever you want.<\/li>\n<li>When AI bots visit your site, you will see totals, a breakdown by bot, and the most recent hits.<\/li>\n<\/ol>\n\n<p>Tip: If you have zero hits, it usually just means no matching crawler has visited yet.<\/p>\n\n<h3>How can I test it?<\/h3>\n\n<p>You can simulate a bot hit by loading any front-end URL with a matching user-agent.<\/p>\n\n<p>Example (replace YOUR-SITE-URL with your home page URL):<\/p>\n\n<p>curl -A \"GPTBot\" \"YOUR-SITE-URL\"<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin ZIP (Plugins \u2192 Add New \u2192 Upload Plugin)<\/li>\n<li>Activate<\/li>\n<li>Go to Tools \u2192 OtterFixer AI Bot Tracker<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20send%20data%20anywhere%3F\"><h3>Does it send data anywhere?<\/h3><\/dt>\n<dd><p>No.<\/p><\/dd>\n<dt id=\"does%20it%20change%20my%20site%3F\"><h3>Does it change my site?<\/h3><\/dt>\n<dd><p>No. It only logs matching requests.<\/p><\/dd>\n<dt id=\"does%20it%20block%20bots%3F\"><h3>Does it block bots?<\/h3><\/dt>\n<dd><p>No. It is a tracker only.<\/p><\/dd>\n<dt id=\"where%20is%20the%20report%3F\"><h3>Where is the report?<\/h3><\/dt>\n<dd><p>WP Admin \u2192 Tools \u2192 AI Bot Tracker<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Added clearer on-screen instructions and improved plugin action links.<\/li>\n<li>Anonymised stored IP addresses for privacy.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Prefixes updated for WordPress.org review.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Maintenance: Disable optional debug admin notice hook to comply with admin notice scope guidelines.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix: resolve a PHP parse error and ensure admin \"Get Help\" link renders correctly.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"A lightweight plugin that logs visits from common AI\/LLM crawler user-agents and shows a simple report in wp-admin.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/274439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=274439"}],"author":[{"embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/otterfixer195725"}],"wp:attachment":[{"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=274439"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=274439"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=274439"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=274439"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=274439"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=274439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}