{"id":392078,"date":"2026-11-01T14:34:02","date_gmt":"2026-11-01T14:34:02","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-visibility-agent-analytics\/"},"modified":"2026-11-01T14:33:52","modified_gmt":"2026-11-01T14:33:52","slug":"mwangip-ai-crawler-referral-analytics","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/mwangip-ai-crawler-referral-analytics\/","author":13209897,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Mwangip AI Crawler and Referral Analytics","header_author":"mwangip","header_description":"See which AI crawlers visit your site, which pages they request, and how much human traffic AI platforms send. Free, private, no external services.","assets_banners_color":"","last_updated":"2026-11-01 14:33:52","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/mwangip-ai-crawler-referral-analytics\/","header_author_uri":"https:\/\/profiles.wordpress.org\/mwangip\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":27,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"mwangip","date":"2026-11-01 14:33:52","revision":3778132}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Overview with crawler and referral charts.","2":"AI crawler activity with filters, platform comparison and CSV export.","3":"AI referral traffic and conversions.","4":"Content visibility report with data-driven recommendations.","5":"Accessibility checker.","6":"Settings and privacy explanation."}},"plugin_section":[],"plugin_tags":[2353,232,216196,9837,6499],"plugin_category":[36,55],"plugin_contributors":[268907],"plugin_business_model":[],"class_list":["post-392078","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-analytics","plugin_tags-chatgpt","plugin_tags-crawler","plugin_tags-robots","plugin_category-analytics","plugin_category-seo-and-marketing","plugin_contributors-mwangip","plugin_committers-mwangip"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/mwangip-ai-crawler-referral-analytics.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Mwangip AI Crawler and Referral Analytics<\/strong> shows how AI systems interact with your website, using only data collected on your own site.<\/p>\n\n<p>It is completely free. There is no account, license key, API key, tracking script or paid tier. Every feature works without a donation.<\/p>\n\n<h4>What it does<\/h4>\n\n<ul>\n<li><strong>AI crawler analytics.<\/strong> Records requests from 15 recognized AI crawlers (GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, Claude-Web, Google-Extended, GoogleOther, PerplexityBot, Amazonbot, Bytespider, Applebot-Extended, Meta-ExternalAgent, FacebookBot, CCBot): crawler name, page path, time, HTTP status, request method and content type. The crawler list is extensible with the <code>aiva_crawlers<\/code> filter.<\/li>\n<li><strong>AI referral analytics.<\/strong> Counts human visits that arrive from ChatGPT, Claude, Perplexity, Gemini, Microsoft Copilot and other AI platforms, based on the HTTP referrer (or a <code>utm_source<\/code> value the platform adds). Crawler requests and human referrals are always shown separately.<\/li>\n<li><strong>Optional conversion tracking.<\/strong> Attribute contact form submissions, newsletter signups, button clicks, custom events and WooCommerce purchases to AI referral visits, using a short first-party attribution window. Conversions are only recorded when an AI referral was actually observed.<\/li>\n<li><strong>Dashboard.<\/strong> Overview, AI Crawler Activity, AI Referral Traffic, Content Visibility, Accessibility Checker, Settings and Support sections with native WordPress styling, date filters (7, 30, 90 days or a custom range), lightweight SVG charts and paginated tables.<\/li>\n<li><strong>Content visibility report.<\/strong> Most and least crawled pages, pages returning errors, pages that only ever returned errors, public pages with no recognized crawler visits, content types by activity, public content excluded from analytics, and recommendations generated from your real data. No made-up scores.<\/li>\n<li><strong>Accessibility checker.<\/strong> On demand, checks HTTP status for sample pages with sample crawler user-agents, robots.txt rules for every recognized crawler, sitemap availability, crawl restriction signals and repeated server errors. It never changes robots.txt, firewall, server or security-plugin settings.<\/li>\n<li><strong>CSV export.<\/strong> Permission-protected, nonce-protected export of the filtered data.<\/li>\n<li><strong>Privacy controls.<\/strong> Per-feature switches, excluded content types and URL patterns, retention period (default 30 days) with automatic batched cleanup, a button to delete all data, and optional deletion of all data on uninstall.<\/li>\n<\/ul>\n\n<h4>Honest limits<\/h4>\n\n<ul>\n<li>Crawler detection is based on the User-Agent header, which can be spoofed. Detections are labelled \"user-agent-based\" and are not verified.<\/li>\n<li>Conversion attribution depends on a referrer the visitor's browser supplies, so a determined visitor can fake it. The attribution cookie is signed so its contents cannot be edited, each browser-reported event counts once per cookie, and the endpoint is rate limited, but treat conversion numbers as indicative, not proof.<\/li>\n<li>Referrer information can be removed by browsers, apps and privacy settings. Referral numbers are a minimum, not a full count.<\/li>\n<li>robots.txt rules are instructions, not proof of access or compliance.<\/li>\n<li>Anyone can send a crawler user-agent, so spoofed or 404-flood traffic could fill the table. A safety cap (default 1,000,000 rows, change with the <code>aiva_max_rows<\/code> filter) pauses recording and shows a notice in the dashboard.<\/li>\n<li>Requests that never reach WordPress (served from a full-page cache or CDN, or blocked by a firewall) cannot be seen by any plugin running inside WordPress.<\/li>\n<li>The plugin does not calculate AI visibility scores, citation counts or AI recommendations.<\/li>\n<\/ul>\n\n<h4>Trademarks<\/h4>\n\n<p>ChatGPT, OpenAI, Claude, Anthropic, Perplexity, Gemini, Google, Microsoft Copilot, Amazon, ByteDance, Apple and Meta are trademarks of their respective owners. They are named only to describe which crawlers and referrers the plugin recognizes. This plugin is not affiliated with, endorsed by or sponsored by any of them.<\/p>\n\n<h4>Voluntary donation<\/h4>\n\n<p>The Support the Developer button on the dashboard simply opens your email app with a message addressed to the developer. Nothing is sent from your site. There are no popups, reminders or locked features.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>This plugin stores data only in your own WordPress database (table <code>{prefix}aiva_analytics<\/code>). It does not send data to any external service.<\/p>\n\n<p><strong>Collected for AI crawler requests:<\/strong> crawler name, page path (query strings are removed), time, HTTP status, request method, response content type, content type of the page.<\/p>\n\n<p><strong>Collected for AI referral visits (if enabled):<\/strong> AI platform name, landing page path, time, and whether it was detected from the referrer or utm_source.<\/p>\n\n<p><strong>Collected for conversions (only if enabled, and only after an observed AI referral):<\/strong> event name, AI platform, landing page path, time. No names, email addresses, payment details or order contents.<\/p>\n\n<p><strong>Never stored:<\/strong> IP addresses, full user-agent strings, passwords, authentication headers or cookie values. Logged-in users are never tracked.<\/p>\n\n<p><strong>Cookie:<\/strong> only when conversion tracking is switched on, a visitor who arrives from an AI platform receives a first-party cookie called <code>aiva_ref<\/code>. It contains the platform, a timestamp and the landing page path, and expires after the attribution window (default 3 days). Mention it in your cookie policy if your jurisdiction requires it.<\/p>\n\n<p>Data is deleted automatically after the retention period (default 30 days, configurable up to 365) and can be deleted at any time from Settings. The plugin adds suggested text to the WordPress privacy policy guide.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin does not connect to any external service and loads no remote scripts. The Accessibility Checker only sends HTTP requests to your own site's URLs (a loopback self-test) when an administrator presses the button.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>mwangip-ai-crawler-referral-analytics<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the ZIP via Plugins &gt; Add New &gt; Upload Plugin.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open <strong>AI Crawler Analytics<\/strong> in the admin menu. Crawler and referral analytics are on by default; conversion tracking is off until you enable it in Settings.<\/li>\n<li>Data appears after recognized AI crawlers or AI referral visits actually reach your site. Until then the dashboard shows empty states, never sample data.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20it%20really%20free%3F\"><h3>Is it really free?<\/h3><\/dt>\n<dd><p>Yes. All features are available without payment, registration or an API key.<\/p><\/dd>\n<dt id=\"why%20does%20the%20dashboard%20show%20no%20data%3F\"><h3>Why does the dashboard show no data?<\/h3><\/dt>\n<dd><p>Nothing is shown until real requests are recorded. AI crawlers may not have visited yet, your site may be served from a full-page cache, or a firewall may block them before WordPress runs. Use the Accessibility Checker to look for obvious blocks.<\/p><\/dd>\n<dt id=\"does%20it%20prove%20a%20visit%20came%20from%20openai%2C%20anthropic%2C%20etc.%3F\"><h3>Does it prove a visit came from OpenAI, Anthropic, etc.?<\/h3><\/dt>\n<dd><p>No. Anyone can send a crawler user-agent string. Detections are user-agent-based and unverified.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20caching%3F\"><h3>Does it work with page caching?<\/h3><\/dt>\n<dd><p>Only requests that reach PHP are recorded. Cached pages served without running WordPress are not seen.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20plain%20permalinks%3F\"><h3>Does it work with plain permalinks?<\/h3><\/dt>\n<dd><p>Yes. Only identifying arguments such as <code>?p=12<\/code> or <code>?page_id=9<\/code> are kept so pages can be told apart. All other query-string parameters are discarded.<\/p><\/dd>\n<dt id=\"does%20it%20need%20woocommerce%3F\"><h3>Does it need WooCommerce?<\/h3><\/dt>\n<dd><p>No. WooCommerce purchase tracking is optional and the plugin does not error when WooCommerce is missing.<\/p><\/dd>\n<dt id=\"how%20do%20i%20add%20a%20crawler%3F\"><h3>How do I add a crawler?<\/h3><\/dt>\n<dd><p>Use the <code>aiva_crawlers<\/code> filter to add an entry with <code>token<\/code>, <code>platform<\/code> and <code>purpose<\/code>.<\/p><\/dd>\n<dt id=\"how%20do%20i%20fire%20a%20custom%20conversion%3F\"><h3>How do I fire a custom conversion?<\/h3><\/dt>\n<dd><p>Create a \"Custom conversion event\" with a key in Settings, then call <code>window.aivaTrack('your_key')<\/code> in JavaScript or <code>do_action( 'aiva_conversion', 'your_key' )<\/code> in PHP.<\/p><\/dd>\n<dt id=\"what%20is%20removed%20on%20uninstall%3F\"><h3>What is removed on uninstall?<\/h3><\/dt>\n<dd><p>By default nothing, so you can reinstall safely. Tick \"Delete all plugin data and settings when the plugin is deleted\" in Settings to remove the table and options.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"See which AI crawlers visit your site, which pages they request, and how much human traffic AI platforms send. Free, private, no external services.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/392078","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=392078"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mwangip"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=392078"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=392078"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=392078"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=392078"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=392078"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=392078"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}