Description
AI search is where your next readers already are. llemmy is a GEO (Generative Engine Optimization) intelligence platform: it tracks how AI engines like ChatGPT, Claude, Perplexity, Gemini and Google AI Overviews answer questions about your brand, and this plugin brings that AI visibility data, plus AI traffic analytics for your own site, straight into wp-admin.
Useful in the first ten seconds, before any account. Activate the plugin and the dashboard immediately scores this site’s AI readiness out of 100, measured on your own server from real signals: structured data, AI-crawler access in robots.txt, llms.txt, content freshness, permalink quality and more. Most gaps are a one-click fix, and the score updates as you go. No signup, no external requests, no waiting.
Built for AI agents (WordPress 6.9+)
llemmy registers its GEO data and actions through the native WordPress Abilities API and exposes them as Model Context Protocol tools, so the WordPress editor’s assistant and outside clients like Claude, Cursor and Copilot can measure your AI visibility and act on it in plain language. Read tools (visibility, citation gaps, cited pages, AI traffic, crawler activity, freshness) carry their sample size and confidence interval; action tools (generate a brief, start a campaign) write drafts only and respect your plan. The layer is inert on WordPress below 6.9, so older sites are unaffected.
The plugin is free to use with a free llemmy account. Install it, connect in one click, and you get:
Free: measure
- An instant AI-readiness score, no account needed. The moment you activate, the llemmy dashboard grades this site’s AI readiness (0-100) from local signals and lists exactly what to fix, most of it one click: JSON-LD schema, AI crawlers welcomed in robots.txt, an llms.txt overview, content freshness, readable permalinks. Copy the summary to share it with your team or a client.
- The llemmy AI-traffic tag, installed automatically. See which sessions on your site came from AI engines, broken out by engine. If a llemmy tag is already on your site, the plugin detects it and pauses auto-injection so you never load a duplicate. Your secret API key stays server-side; the tag carries only a public site token.
- Your GEO analytics inside wp-admin: visibility, share of voice, sentiment and GEO score, plus your top cited pages and domains. Every proportion is reported with its sample size and a 95% confidence interval, so you always see how solid a number is.
- Content opportunities. The questions AI is actually asked about your brand, and the gaps where you are not yet part of the answer.
- AI readiness, built in. Three individually toggleable generators that run entirely on your site, no llemmy account needed: Organization and Article JSON-LD schema (with datePublished and dateModified), explicit Allow rules for the major AI crawlers in your robots.txt, and an llms.txt overview of your site name, key pages and recent posts. If Yoast SEO, Rank Math, All in One SEO or SEOPress already outputs schema, the plugin detects it and leaves schema to that plugin by default.
- Content freshness. Content Studio ranks your published posts and pages by how long they have gone without a real update. Studies of AI citations skew toward recently updated content, so anything aging or stale comes with a practical, no-nonsense refresh checklist. This also works without a llemmy account.
- AI crawler visits (off by default, opt-in). An AI Crawlers screen counts requests from known AI bots (GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot and others) on your own server: totals by kind (training versus answer-time retrieval), top bots, top crawled paths and bot 404s over the last 7 days. Where an operator publishes its bot IP ranges (OpenAI does), hits are also verified against them. Bots only: no visitor IPs and no human data are ever stored. The feature is off until you enable it in settings, where the daily bot-IP-list download it performs is disclosed. Counts come from PHP requests, so a full-page cache or CDN can serve bots without reaching PHP; treat the numbers as a floor, not a census. The 7-day view is free and local; 90-day history, the retrieval-versus-training trend, the crawl-to-citation lag and the cloud rollup are part of any paid llemmy plan.
- IndexNow pings (off by default, opt-in). When enabled in settings, publishing, updating or unpublishing a post notifies IndexNow (api.indexnow.org), which fans out to Bing and the other participating search engines, so they hear about the change immediately instead of waiting for a recrawl. Bing’s index is one of the sources ChatGPT search reads, so faster indexing can mean your content becomes citable sooner. Free on every plan, no llemmy account needed, and there is a test button in settings. No ping is ever sent until you turn the toggle on.
Paid: create and track
- Content generation. Turn any opportunity into a content brief, and the brief into a WordPress draft in one click, from Content Studio or the post editor. A batch control drafts your top opportunities in one pass. Content always lands as a draft; you decide when to publish.
- Campaigns effectiveness tracking. Track how the content you ship changes your visibility. Each campaign compares a baseline to the latest data for visibility, share of voice, sentiment and citation rate, and lists the drafts and posts this site created against it. When you publish a tracked draft, the plugin marks the moment on the campaign timeline in llemmy.
All llemmy calls are made server-side from PHP, so your secret API key never reaches the browser. The plugin reads and writes your data through the llemmy public API using an API key you control. It creates content only as drafts and never publishes automatically.
An optional “AI visibility by llemmy” footer badge exists, and it is OFF by default on every plan: nothing is ever shown on your site unless you explicitly opt in by checking the badge box on the settings screen, and you can turn it off again at any time.
You need a llemmy account and an API key. Connecting, analytics and content opportunities are free; generating briefs and drafts and Campaigns effectiveness tracking need a paid plan. Sign up at llemmy.com.
External services
The plugin makes no external requests at all until you take one of two explicit actions: (1) connect a llemmy account (the service this plugin is a client for), or (2) enable one of the two clearly labelled opt-in integrations (IndexNow, AI crawler tracking) on the settings screen. There is no telemetry, no usage tracking, no phoning home: fresh install with no connection and default settings = zero network requests. The plugin does not use Google Analytics or any other analytics in wp-admin.
This plugin connects to llemmy (https://llemmy.com), a GEO intelligence service, or to your own self-hosted llemmy instance if you change the base URL in settings. A llemmy account and API key are required for the llemmy features to function; connecting is your action and your consent.
What is sent, and when:
- wp-admin screens: server-side API calls to your configured llemmy instance, authenticated with your API key. Requests carry your selected llemmy project id and, for citation reports, this site’s domain.
- Site registration: when you connect, the plugin registers this site’s domain with llemmy to create the public site token used by the AI-traffic tag.
- AI-traffic tag: when enabled, visitors’ browsers load the tag script from your llemmy instance and it reports page-view beacons (page URL, referrer, user agent) so AI-referral sessions can be counted. It sends no WordPress user accounts and nothing from your database.
- Content briefs and drafts (paid): when you generate a brief, the opportunity title, topic and keywords, and from the post editor the post title and URL, are sent to llemmy to produce the brief.
- Campaigns (paid): campaign names, descriptions and tracked prompt text are sent when you create them; publishing a tracked draft reports the publish event so the campaign timeline can mark it.
- AI crawler telemetry (paid cloud sync only): on accounts entitled to crawler analytics, a daily job sends aggregated bot counts for this site’s domain (per day and bot: hits, verified hits, error hits and top crawled paths) to your llemmy instance so it can keep history and roll up a portfolio. Aggregates only, bots only: no visitor IPs and no human data are collected or sent. On other plans nothing is sent and all crawler data stays on your server.
This service is provided by llemmy: terms of service, privacy policy.
The plugin can also talk to two services that are independent of llemmy. Both are OFF by default and contacted only after you explicitly enable the matching toggle on the settings screen, where each external call is disclosed next to its checkbox:
- IndexNow (api.indexnow.org): only when you have enabled the IndexNow toggle (off by default) and a post of a public type is published, updated or unpublished, the plugin sends the post URL, your site host and your IndexNow key to https://api.indexnow.org/indexnow, which shares the notification with the participating search engines (Bing, Seznam, Naver, Yandex and others). The key is a random token generated by the plugin and proves site ownership; it is also served publicly at a key file URL on your site, as the IndexNow protocol requires. No content and no visitor data are sent. IndexNow is operated by its participating engines; see the protocol site at indexnow.org and each engine’s own terms and privacy policy, for example Microsoft Bing’s privacy statement. Turning the toggle off stops all pings; with the toggle off, no key is even generated.
- OpenAI published bot IP lists (openai.com): only when you have enabled AI crawler tracking (off by default), a daily job downloads OpenAI’s published crawler IP ranges from https://openai.com/gptbot.json, https://openai.com/searchbot.json and https://openai.com/chatgpt-user.json so bot hits can be verified as genuinely coming from OpenAI. This is a download only: nothing about your site or visitors is sent beyond the HTTP request itself. See OpenAI’s privacy policy. Turning crawler tracking off stops these fetches.
Screenshots








Installation
- Install the plugin from the Plugins screen in wp-admin (or upload the llemmy plugin folder to /wp-content/plugins/).
- Activate the plugin through the Plugins menu.
- Open the new llemmy menu and click Connect to llemmy. Sign in or create a free account, approve the site, and you are connected. No API key to paste. (Prefer manual setup? Paste a llemmy API key in Settings instead.)
- Pick the llemmy project for this site and save.
- The plugin installs the AI-traffic tag if one is not already present, and your analytics appear on the llemmy Dashboard screen.
FAQ
-
Where do I get an API key?
-
Create one in your llemmy account under Settings then API Keys, at llemmy.com. The key is a secret; the plugin stores it encrypted and never sends it to your browser.
-
Is my API key safe?
-
Yes. The key is stored in the WordPress options table, encrypted at rest with AES-256 when your server supports it. Every call to llemmy is made from PHP on your server, so the key never appears in page source or in JavaScript.
-
Can AI agents use this? Does it support MCP?
-
Yes, on WordPress 6.9 and later. llemmy registers its GEO tools through the native WordPress Abilities API and exposes them as Model Context Protocol tools, so the WordPress editor’s assistant and external MCP clients such as Claude, Cursor and Copilot can read your AI visibility, citation gaps and crawler activity, and generate briefs or start campaigns, in plain language. Read tools require the manage_options capability and action tools require edit_posts plus your plan, and nothing publishes on its own. On WordPress below 6.9 the layer is inert and everything else works normally.
-
I already use an SEO plugin. Will the schema conflict?
-
No. When Yoast SEO, Rank Math, All in One SEO or SEOPress is active, llemmy detects it and turns its own schema output off by default, so your pages never carry duplicate markup. The settings screen shows which plugin is handling schema. You can still enable llemmy’s schema manually, but two schema sources on one page is rarely what you want.
-
Do I get anything without a llemmy account?
-
Yes, immediately. The dashboard’s AI-readiness score, its one-click fixes, the JSON-LD schema, the robots.txt AI-crawler rules, the llms.txt overview, the content freshness list and (once you opt in) the AI crawler counts and IndexNow pings all run on your own site with no account. The account adds the measurement layer: what AI engines actually say about you, and which AI sessions land on your site.
-
Do the AI readiness features need a llemmy account?
-
No. The JSON-LD schema, the robots.txt AI-crawler rules, the llms.txt overview and the content freshness list all run locally on your site and are free. Only the analytics, opportunities, generation and campaigns features talk to llemmy.
-
What if a llemmy tag is already on my site?
-
The plugin scans your home page for an existing tag. If it finds one that it did not add, it pauses its own injection so your site never loads two tags. You can re-run the check any time from the Dashboard.
-
Does the plugin change my posts?
-
The in-editor brief is read and copy only. Content Studio can create new posts, but only ever as drafts: nothing is published or edited on your behalf. Publishing is always a separate, human action, and that is the guardrail.
-
How does effectiveness tracking work?
-
When you create a draft from a Content Studio opportunity, you can attach it to a campaign. The plugin resolves the opportunity’s tracked prompt (or creates one), adds it to the campaign, and stores the link on the draft. When you later publish that draft, the plugin tells llemmy the content shipped, so the campaign timeline marks the moment. On the Campaigns screen you then see the baseline-vs-current lift for visibility, share of voice, sentiment and citation rate, each with its sample size and 95% confidence interval.
-
Who can use Content Studio and Campaigns?
-
Any user who can edit posts. Connecting the site and changing settings still requires an administrator.
-
Do I need a paid plan?
-
No. Connecting, analytics and content opportunities are free. Generating briefs and drafts and Campaigns effectiveness tracking need a paid llemmy plan; on the free plan those controls show a clear upgrade nudge instead of failing. If your plan or monthly quota does not allow a generation, the plugin shows a clear message and a link to plans.
-
One small, unobtrusive “AI visibility by llemmy” link that can appear in your site footer, but ONLY if you choose to show it. It is off by default on every plan, including free, and appears only after you explicitly check the badge box on the settings screen (an intentional opt-in). No plan state can force it on, and you can turn it off again at any time.
-
Does the plugin track me, or phone home?
-
No. A fresh install makes zero network requests: the plugin has no telemetry, no usage tracking, and does not use Google Analytics or any analytics in wp-admin. It only ever talks to (a) the llemmy service after you connect your account, and (b) IndexNow and OpenAI’s published bot-IP lists, each only after you explicitly enable its off-by-default toggle in settings, where the exact request is disclosed. Upgrade notices appear only inside the plugin’s own screens, and the one first-run connect notice is dismissible and confined to the Dashboard and Plugins screens.
-
Does llemmy track my visitors’ IPs?
-
No. The AI crawler telemetry records bots only: a request is counted only when its User-Agent matches a known AI crawler, and what is stored is an aggregate row per day, bot and path. No visitor IPs, no cookies and no human browsing data are ever recorded. The requesting IP of a matched bot is compared in memory against the operator’s published bot IP ranges to mark the hit verified, then discarded.
-
What is IndexNow?
-
IndexNow is an open protocol that lets a site tell search engines about new, updated or removed URLs the moment it happens, instead of waiting for a recrawl. When you enable the toggle in settings (it is off by default), the plugin pings the shared endpoint at api.indexnow.org, which fans the notification out to Bing and the other participating engines. Why it matters for GEO: Bing’s index is one of the sources AI answer engines such as ChatGPT search read, so faster indexing can mean your content becomes citable sooner. It is free and needs no llemmy account.
-
Does this work behind a full-page cache?
-
Yes for AI-traffic analytics. The AI-traffic tag is client-side JavaScript, so it fires even when your pages are served from cache. The AI crawler telemetry is different: it counts requests that reach PHP, so pages a cache or CDN serves directly are not counted there. Treat crawler counts as a floor, not a census; the screen says so too.
-
Can I use this with a self-hosted llemmy?
-
Yes. Point the base URL in Settings at your own llemmy instance; everything else works the same.
-
Does it work on WordPress Multisite?
-
Yes. Every subsite keeps its own connection, so each client site can feed its own llemmy project. Network admins also get a llemmy overview page in network admin: every subsite with its connection status and headline visibility (with sample size and confidence interval), plus a configure link into each subsite’s settings.
-
I manage this site for a client. Can I show my agency name?
-
Yes. Fill in the optional “Managed by” field on the settings screen and a small “Site managed by” note appears at the bottom of the llemmy dashboard in wp-admin. Leave it blank and nothing shows.
Reviews
Contributors & Developers
“llemmy – AI Visibility, GEO & AI Traffic Analytics” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “llemmy – AI Visibility, GEO & AI Traffic Analytics” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
0.13.0
- Dashboard polish: the charts now have room to breathe. Fixed cramped and clipped chart labels, stopped the stretched axis text, and gave the “At a glance” tiles, the funnel and the crawler bands a clean, responsive layout that adapts to the wp-admin menu width. Metric numbers always render now, even when the tab loaded in the background.
- Your cited pages link straight to their WordPress editor: from a page that won an AI citation, one click opens the post so you can see and edit the content structure behind it.
- Free accounts now see, at the bottom of the dashboard, what a paid plan adds (campaign impact, more competitors and prompts, unlimited briefs, AI crawler history) plus how many free content briefs are left. Your own data is never hidden.
0.12.0
- Visibility over time: a new dashboard chart plots your AI visibility (and, when available, sentiment) day by day against your tracked competitors, over the last 30 days, hand-built inline SVG with no external requests. A note makes clear this is a daily refresh, not real time.
- Campaign impact now includes a baseline-versus-current bar chart for visibility, share of voice, sentiment and citation rate, with a signed change label per metric, above the existing exact figures (still shown with their sample size and 95% confidence interval).
- New AI referral funnel card: landed, engaged, intent and converted sessions broken out by AI, suspected AI and organic traffic, estimated from the on-site tag over the last 28 days.
- All three charts reuse the same zero-build chart primitives as the rest of the dashboard: no new dependencies, no new external requests, animations respect prefers-reduced-motion, and every empty state says “not enough data yet” rather than guessing.
0.11.0
- Redesigned dashboard: a new “At a glance” strip of six animated gauges and counters (AI readiness, GEO score, AI visibility, share of voice, AI sessions, sentiment), a flagship AI-sessions trend chart, an AI-engine breakdown donut, and a new local AI-crawlers summary card, all hand-built inline SVG with no external requests. Every proportion still carries its sample size and 95% confidence interval, and animations respect prefers-reduced-motion.
- Top cited pages and citation sources now render as bar charts instead of plain lists, easier to scan at a glance.
0.10.0
- New first-run experience: activating the plugin opens an instant AI-readiness score (0-100) computed entirely on your server from real site signals, with a visual checklist and one-click fixes. Useful before any llemmy account exists, and it stays on the dashboard after you connect.
- One-click fixes from the checklist: enable schema, robots.txt AI-crawler rules, llms.txt, AI crawler tracking or IndexNow right from the dashboard. The two integrations that contact an external service once enabled keep their endpoint disclosure on the row, and everything stays strictly opt-in.
- Copy summary: share your readiness score and checklist as plain text with your team or a client.
- Clearer waiting states: a freshly connected dashboard now says what is coming and when (“first answers usually land within a day”) instead of a bare “not enough data yet”, and the AI traffic card explains what the tag is waiting for.
- Easier first campaign: the Campaigns screen now explains the baseline-versus-after loop and suggests a starting name when you have no campaigns yet.
- A small, dismissible review ask appears on llemmy’s own screens after a week of connected use. Dismiss it once and it never returns.
0.9.3
- Directory-guidelines compliance pass. Every feature that contacts an external service or shows anything on your public site is now an explicit opt-in, off by default: IndexNow pings (api.indexnow.org) and AI crawler tracking (whose daily job downloads OpenAI’s published bot IP lists) start only after you enable their toggles in settings, and the optional “AI visibility by llemmy” footer badge appears only after you check its box (it no longer defaults to on). A fresh install with default settings makes zero network requests. The “tag already installed” notice now appears only on the plugin’s own screens instead of across wp-admin. Settings descriptions and this readme now name the exact external endpoints each opt-in contacts.
0.9.2
- Fixed: a site could bind to the wrong llemmy project and show another project’s data. Both the one-click connect and the Settings project picker now prefer the project that tracks THIS site’s domain, and neither ever defaults to your account’s first project. When no project matches, you are asked to choose (the picker no longer pre-selects one for you) rather than being silently assigned. This matters most if you manage several projects (for example an agency, or one account with multiple brands). Existing connections are unchanged; you can re-pick the project any time under Settings.
0.9.1
- Compatibility and standards pass for the current WordPress.org Plugin Check. The WordPress 6.9 Abilities API integration is now fully feature-gated, so it is unchanged on WordPress 6.9 and up and stays completely inert on older versions. The AI crawler analytics queries are annotated for the coding-standards scanner. No functional changes.
0.9.0
- One-click connect: a new “Connect to llemmy” button signs you in (or creates a free account), you approve, and the site is connected. No API key to paste and no WordPress Application Password to set up. Pasting a key manually still works as an alternative.
0.8.0
- AI agent tools (WordPress 6.9+): llemmy now registers its GEO data and actions as WordPress Abilities and exposes them as MCP tools, so an AI agent inside WordPress or an external MCP client (Claude, Cursor, Copilot) can measure your AI visibility and act on it. Read tools: AI visibility, citation gaps, cited pages, AI referral traffic, AI crawler activity and content freshness. Action tools: generate a content brief and start a campaign to track effectiveness. Every read carries its sample size and confidence interval; action tools respect your plan entitlements and never publish. The whole layer is inert on WordPress below 6.9, so older sites are unaffected.
0.7.0
- New AI Crawlers screen: see which AI bots fetch your site, split into training crawls and answer-time retrieval fetches, with top bots, top crawled paths and bot 404s over the last 7 days. Bots only; no visitor IPs and no human data are ever stored. Counts come from PHP requests, so treat them as a floor: a full-page cache or CDN can serve bots without reaching PHP.
- Verified-bot detection: where an operator publishes its crawler IP ranges (OpenAI does for GPTBot, OAI-SearchBot and ChatGPT-User), hits are checked against them and shown as verified. Bots without a published list are counted as unverified and the screen says verification is unavailable for them.
- 90-day crawler history, a weekly retrieval-versus-training trend and a daily cloud rollup to llemmy are included with llemmy Enterprise; the 7-day view stays free and local. Local data is pruned after 90 days.
- New IndexNow integration, free on every plan (off by default since 0.9.3): publishing, updating or unpublishing a post pings api.indexnow.org so Bing and the other participating engines hear about it immediately. Includes a key file served from your site, a last-10-pings log and a test button in settings. No llemmy account needed.
- Multisite: the network overview now shows each subsite’s AI crawler hits for the last 7 days.
0.6.0
- WordPress Multisite support. Every subsite keeps its own connection and its own llemmy project, network activation seeds sensible defaults on every subsite (and on new subsites as they are created), and uninstall cleans up across the whole network.
- New network admin overview for agencies and consultants: every subsite with its connection status, connected project and headline AI visibility (shown with sample size and 95% confidence interval), plus one-click configure and dashboard links into each subsite. Visibility is fetched server-side and cached for about six hours per site.
- New optional “Managed by” field in settings: agencies and consultants can put their name on the llemmy dashboard in wp-admin. Off by default, blank hides it.
- Clearer connect flow. A rejected API key now says exactly that (and where to copy the key from), an unreachable base URL says what to check, and an account with no projects yet is told to create one instead of showing an empty dropdown.
- The settings screen now states up front what is free (analytics, the AI-traffic tag, content opportunities) and what needs a paid plan (brief and draft generation, Campaigns effectiveness tracking).
0.5.0
- New AI readiness section in settings, three individual toggles: Organization and Article JSON-LD schema with datePublished and dateModified (turned off automatically when Yoast SEO, Rank Math, All in One SEO or SEOPress already outputs schema), explicit Allow rules for the major AI crawlers in robots.txt plus a sitemap reference, and an llms.txt overview of your site’s key pages and recent posts.
- New content freshness list in Content Studio: your published posts and pages ranked by time since the last real update, with fresh/aging/stale chips and a practical refresh checklist. Studies of AI citations skew toward recently updated content, so this is one of the freshness levers you actually control.
- Everything above runs locally on your site and is free; no llemmy account required for these features.
0.4.0
- First WordPress.org release.
- The AI-traffic tag is now enqueued through the WordPress script API instead of printed directly.
- WordPress.org installs update through the plugin directory; the self-hosted build from llemmy.com keeps its own update channel.
- Coding-standards pass across the whole plugin (WordPress-Core, escaping, nonces).
0.3.1
- The “Powered by llemmy” footer badge is now optional on every plan, including free. It stays on by default; turn it off any time from the settings screen.
0.3.0
- Free plan: connect, analytics, the AI-traffic tag, and your content opportunities are now free to use.
- New “AI visibility by llemmy” footer badge.
- Content generation (briefs, drafts and batch drafting) and Campaigns effectiveness tracking are now paid features. On the free plan they show a clear upgrade nudge instead of failing, and your content opportunities stay fully visible.
- Settings now shows your current plan and a badge toggle.
0.2.0
- New Content Studio screen: see your data-driven content opportunities, generate a brief for any of them, and turn it into a WordPress draft in one click.
- Track effectiveness: attach a draft to a new or existing campaign when you create it, so llemmy measures the lift over time.
- Batch drafting: draft your top 3 or 5 opportunities in one pass, with a live log. The batch stops cleanly with an upgrade nudge if your plan or monthly quota is reached.
- New Campaigns screen: create campaigns and see baseline-vs-current visibility, share of voice, sentiment and citation rate, each with sample size and 95% confidence interval, plus the drafts and posts this site created against the campaign.
- Publishing a tracked draft now marks the moment on the campaign timeline in llemmy automatically.
- Content is always created as a draft. The plugin never publishes on its own.
0.1.0
- First release.
- Connect a WordPress site to llemmy with an API key and project picker.
- Auto-install the llemmy AI-traffic tag, with detection of an existing tag to avoid duplicates.
- wp-admin dashboard: visibility, share of voice, sentiment and GEO score (each with sample size and 95% confidence interval), AI traffic by engine with a window selector, and top cited pages and domains.
- In-editor content brief generation on posts and pages, display and copy only.
