Title: SanityAI Visibility Toolkit
Author: wasimuc
Published: <strong>July 30, 2026</strong>
Last modified: July 30, 2026

---

Search plugins

![](https://ps.w.org/sanityai-visibility-toolkit/assets/icon.svg?rev=3628001)

# SanityAI Visibility Toolkit

 By [wasimuc](https://profiles.wordpress.org/wasimuc/)

[Download](https://downloads.wordpress.org/plugin/sanityai-visibility-toolkit.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/sanityai-visibility-toolkit/#description)
 * [Reviews](https://wordpress.org/plugins/sanityai-visibility-toolkit/#reviews)
 *  [Installation](https://wordpress.org/plugins/sanityai-visibility-toolkit/#installation)
 * [Development](https://wordpress.org/plugins/sanityai-visibility-toolkit/#developers)

 [Support](https://wordpress.org/support/plugin/sanityai-visibility-toolkit/)

## Description

AI assistants like ChatGPT, Perplexity, Gemini and Claude are becoming a real traffic
source, and a real audience for your content. Unlike single-purpose llms.txt generators,
SanityAI Visibility Toolkit covers the full AI channel in one lightweight plugin:
measurement (referral attribution across six analytics stacks and a real crawler
activity log), control (per-bot robots.txt management, including physical files),
and visibility (multilingual llms.txt):

**1. llms.txt generation**

Automatically serves a machine-readable guide to your site at `/llms.txt`, following
the llms.txt convention. AI assistants can use it to understand your site structure
and cite your best content. Choose which content types to include, how many items,
whether to append descriptions, and which posts to exclude. Multilingual sites are
fully supported: with WPML or Polylang active, every language gets its own sections.
Cached and regenerated when content changes.

**2. AI crawler control**

Decide, bot by bot, which AI crawlers may access your site, with a plain-language
explanation of what each block actually costs you. The plugin distinguishes:

 * **Training crawlers** (GPTBot, ClaudeBot, Google-Extended, CCBot, Bytespider,
   Meta-ExternalAgent, Applebot-Extended): blocking opts your content out of model
   training.
 * **Search crawlers** (OAI-SearchBot, PerplexityBot): blocking removes your site
   from that engine’s AI answers and citations. Know the trade-off before you block.
 * **On-demand fetchers** (ChatGPT-User): fetch pages when a user shares your link
   with an AI.

Rules are added to WordPress’s robots.txt. Nothing is blocked by default.

**3. AI referral attribution**

Detects visitors arriving from ChatGPT, Perplexity, Gemini, Claude, Copilot, Grok,
DeepSeek, Meta AI, Mistral and more, using both the referrer and utm_source/ref 
parameters (AI platforms increasingly strip referrers, so UTM detection matters).
Fires an `ai_referral` event with an `ai_source` parameter into your existing GA4(
gtag) or Google Tag Manager (dataLayer) setup, once per session.

Register `ai_source` as a GA4 custom dimension and you can segment any report by
AI platform, build AI-traffic audiences, and see whether AI-referred visitors convert
differently.

**4. AI crawler activity log**

See which AI crawlers actually visit your site: a 30-day count of real GPTBot, ClaudeBot,
PerplexityBot (and more) visits, shown on your dashboard and settings screen. Identification
is by user agent, so treat numbers as directional.

**Plays well with your stack**

The plugin detects your environment and tells you the truth about it instead of 
showing settings that silently do nothing:

 * **Physical robots.txt** (created by hosts or SEO plugin file editors): one click
   writes your rules into the file as a clearly-marked managed block, kept in sync
   on every save and removed on uninstall.
 * **SEO plugins** (Yoast, Rank Math, AIOSEO, SEOPress): posts marked noindex are
   excluded from llms.txt automatically, SEO meta descriptions are used for entries,
   and llms.txt/robots.txt feature overlaps are flagged.
 * **Analytics**: works with gtag, Google Tag Manager, MonsterInsights, Matomo, 
   Plausible and Fathom automatically, with a retry window for delayed-loading analytics.
 * **WooCommerce**: cart/checkout/account pages are excluded from llms.txt, and 
   product entries include prices.
 * **Page builders**: builder-generated shortcode content never produces garbage
   descriptions.
 * **Caches**: WP Rocket, LiteSpeed, W3 Total Cache, WP Super Cache and SiteGround
   Optimizer are purged when settings change.
 * **Site Health**: two checks confirm llms.txt is reachable and crawler rules actually
   apply.
 * Per-post “Exclude from llms.txt” checkbox in the editor, WP-CLI commands (`wp
   avt status`, `wp avt regenerate`), and a REST endpoint (`/wp-json/sanivt/v1/sources`)
   for headless front ends.

**Privacy**

This plugin sends no data to SanityAI or any third party. Attribution events go 
only to the analytics tools already installed on your site. No external requests
are made.

Built by [SanityAI](https://sanity.ai). The attribution logic is kept in sync with
our free “AI Traffic Source” template in the Google Tag Manager Community Template
Gallery, so WordPress-side and GTM-side classification always agree.

## Installation

 1. Install and activate the plugin.
 2. Go to Settings  AI Visibility.
 3. llms.txt and attribution are enabled by default; review the crawler list and block
    any bots you want to opt out of.
 4. Recommended: in GA4, go to Admin  Custom definitions and create an event-scoped
    custom dimension named “AI Source” with parameter `ai_source`.

## FAQ

### Does blocking GPTBot remove my site from ChatGPT?

No. GPTBot collects training data. ChatGPT search visibility is governed by OAI-
SearchBot, listed separately. The settings screen explains the trade-off for every
bot.

### My robots.txt settings have no effect

If a physical robots.txt file exists in your site root, WordPress (and this plugin)
cannot modify it. The settings screen warns you when this is the case. Remove the
file or add the rules to it manually.

### Does this plugin slow my site down?

No. llms.txt output is cached, robots.txt rules are a tiny filter, and the attribution
script is a small deferred file with no dependencies.

### Where does the tracking data go?

Only into your own GA4 property or GTM dataLayer. The plugin makes no external requests
and sends nothing to us.

### Does llms.txt include all my languages?

Yes, any languages. With WPML or Polylang active, the plugin loops every active 
language and lists each language’s content under its own headings, e.g. “Posts (
English)” and “Posts (العربية)”. qTranslate language markers are resolved automatically.
TranslatePress and Weglot translate at render time, so those sites list default-
language content (a notice explains this). Very large multilingual sites are protected
by a size cap (filterable via `sanivt_llms_txt_max_bytes`) so the file stays useful
to AI assistants.

### I use Yoast / Rank Math / another SEO plugin. Will they conflict?

They coexist. The plugin respects noindex flags from Yoast, Rank Math and SEOPress(
noindexed posts never appear in llms.txt), reuses their meta descriptions for entries,
and appends robots.txt rules late enough that SEO plugins which rebuild robots.txt
output don’t discard them. If Yoast’s own llms.txt feature is enabled, a warning
tells you to keep exactly one generator active.

### Does it work with GTM instead of gtag?

Yes. Adapters are tried in order: gtag, MonsterInsights, GTM dataLayer, Matomo, 
Plausible, Fathom, with a 10-second retry window for analytics that load late. You
can also use our “AI Traffic Source” GTM community template for a pure-GTM setup.

### My robots.txt is a physical file (Yoast file editor, host default). Now what?

Use the “Write rules to robots.txt file” button on the settings screen. Your rules
are written as a clearly-marked block, kept in sync automatically on every settings
save, and removed cleanly when you uninstall the plugin.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“SanityAI Visibility Toolkit” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ wasimuc ](https://profiles.wordpress.org/wasimuc/)

[Translate “SanityAI Visibility Toolkit” into your language.](https://translate.wordpress.org/projects/wp-plugins/sanityai-visibility-toolkit)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/sanityai-visibility-toolkit/),
check out the [SVN repository](https://plugins.svn.wordpress.org/sanityai-visibility-toolkit/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/sanityai-visibility-toolkit/)
by [RSS](https://plugins.trac.wordpress.org/log/sanityai-visibility-toolkit/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release: llms.txt generation (WPML/Polylang multilingual support, noindex
   respect, SEO-description excerpts, WooCommerce awareness, per-post exclusion),
   AI crawler control for 10 bots (virtual and physical robots.txt), AI referral
   attribution for 12 platforms across 6 analytics stacks, AI crawler activity log,
   Site Health checks, WP-CLI commands, headless REST endpoint.

## Meta

 *  Version **1.0.0**
 *  Last updated **3 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [AI](https://wordpress.org/plugins/tags/ai/)[analytics](https://wordpress.org/plugins/tags/analytics/)
   [LLM](https://wordpress.org/plugins/tags/llm/)[robots](https://wordpress.org/plugins/tags/robots/)
   [seo](https://wordpress.org/plugins/tags/seo/)
 *  [Advanced View](https://wordpress.org/plugins/sanityai-visibility-toolkit/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/sanityai-visibility-toolkit/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/sanityai-visibility-toolkit/reviews/)

## Contributors

 *   [ wasimuc ](https://profiles.wordpress.org/wasimuc/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/sanityai-visibility-toolkit/)