---
title: AI Visibility Plugin for WordPress - llms.txt, Markdown & MCP | 42A
description: Free WordPress plugin that makes your site readable by AI. Markdown twin of every page, llms.txt, a public MCP server and a GEO vitals audit - so ChatGPT, Claude, Gemini and Perplexity can find and cite you.
url: https://www.42a.ai/wordpress/
type: page
plugin: ael-42a
plugin_version: 1.1.0
plugin_directory: https://wordpress.org/plugins/ael-42a/
license: GPL-2.0-or-later
price: 0
---

# 42A AI Visibility — the WordPress plugin that makes your site agent-ready

> 42A AI Visibility - Agentic Enablement Layer (AEL) is a free WordPress plugin (GPL-2.0-or-later, WordPress 6.0+, PHP 7.4+). On activation, with zero configuration, it serves a markdown twin of every public page, a spec-compliant llms.txt and llms-full.txt, and a public read-only MCP server — so AI search engines and agents such as ChatGPT, Claude, Gemini and Perplexity can read, query and cite the site. All of that works with no account, no sign-up and no external requests. Connecting the site to 42A is a separate, optional step that adds the full GEO / AI SEO report and an AI Visibility dashboard.

- Install: https://wordpress.org/plugins/ael-42a/
- Optional: connect a site to 42A: https://app.42a.ai/sign-up
- MCP endpoint on any site running it: `/wp-json/42a/v1/mcp`
- Compatible with: WordPress 6.x, Yoast SEO, Rank Math, WooCommerce, Google Search Console, Cloudflare — it runs at the request layer and never modifies theme or SEO-plugin output

## The agent-readiness gap

| Signal | Without the plugin | After activation |
| --- | --- | --- |
| llms.txt | 404 not found | 200 · spec-compliant site map |
| Markdown twin | none detected | text/markdown + YAML frontmatter |
| MCP endpoint | connection refused | JSON-RPC 2.0 · streamable HTTP |
| MCP discovery | no .well-known document | 4 draft discovery paths served |
| AI-crawler access | unaudited | 87 known AI bots audited |
| Agent traffic | invisible | counted per tool, per day |

## What activates on install

### A markdown twin of every public page

Language models read markdown far more reliably than a themed HTML page wrapped in navigation, widgets and scripts. The plugin serves a clean markdown version of every public post, page and product - generated from your real content, never a separate copy you have to maintain.

`/any-page.md · ?format=markdown · Accept: text/markdown`

- Three ways to ask for it: append ?format=markdown, use the .md suffix, or send an Accept: text/markdown header.
- YAML frontmatter on every document, including the generating plugin version.
- Every HTML page advertises the twin via <link rel="alternate" type="text/markdown"> and a Link: response header, so agents discover it without guessing.
- Ships a dependency-free HTML-to-Markdown fallback converter, so it works even where optional vendor libraries are unavailable.

```
---
title: Hello world
url: https://yoursite.com/hello-world/
type: post
generator: ael-42a/1.1.0
---

# Hello world

Clean, agent-readable content - no nav, no widgets, no scripts.
```

### llms.txt and llms-full.txt, served at your root

llms.txt is the emerging convention for telling a language model what a site is and which pages matter. The plugin generates a spec-compliant map of your key pages with markdown links, plus a byte-capped llms-full.txt that carries the actual page content for models that want everything in one fetch.

`/llms.txt · /llms-full.txt`

- Sections built from your live site: home, main navigation pages, recent posts, and WooCommerce product categories.
- Every entry links to the markdown twin, not the HTML page, so a model that follows a link gets clean content.
- llms-full.txt is byte-capped so it stays fetchable rather than timing out on large sites.
- If your site already serves an llms.txt - a real file, or another plugin - it is detected and left untouched.

```
# Your Site Name

> One-line description of the site.

## Main Pages
- [About](https://yoursite.com/about.md)
- [Pricing](https://yoursite.com/pricing.md)

## Recent Posts
- [Hello world](https://yoursite.com/hello-world.md)
```

### A public, read-only MCP server for your content

Markdown and llms.txt let an agent read your site. MCP lets it query your site - search your content, fetch a specific page, list your categories, look up a product - through a structured protocol instead of scraping HTML and hoping. The plugin stands one up on activation, with nothing to configure.

`/wp-json/42a/v1/mcp · JSON-RPC 2.0 · streamable HTTP`

- Stateless and anonymous: no keys to issue, no sessions to manage, no write access of any kind.
- Exposes exactly what a visitor can already see - your public content, packaged for agents.
- Discoverable at all four current draft well-known paths, so clients implementing any of the competing specs can find it.
- Extensible by other plugins through the ael42a_mcp_tools filter.

```
{
  "name": "ael-42a",
  "url": "https://yoursite.com/wp-json/42a/v1/mcp",
  "transport": "streamable-http",
  "capabilities": ["tools"],
  "authentication": "none",
  "generator": "ael-42a/1.1.0"
}
```

### GEO vitals that self-test, right inside wp-admin

A plugin that claims to make your site agent-ready should prove it on your server, not in a marketing screenshot. The Agent Layer tab runs live loopback requests against every endpoint it serves and reports pass, warn or fail with the reason - and audits who you are actually letting in.

`wp-admin · status checks · robots.txt audit · traffic counters`

- Self-tests the markdown endpoint, llms.txt, llms-full.txt, the MCP endpoint and all four discovery paths, on demand or on a daily schedule.
- Audits your robots.txt against 87 known AI bots across three tiers - training, search and agentic - so you can block the crawlers you do not want without accidentally locking out the agents that send you traffic.
- Detects your sitemap automatically.
- Local agent-traffic counters: MCP tool calls, markdown hits and llms.txt hits, per day and per tool. Stored on your server only.

```
PASS  Markdown endpoint          text/markdown served with frontmatter
PASS  llms.txt                   200 · generated by 42A AEL
PASS  MCP endpoint               JSON-RPC 2.0 · streamable HTTP
PASS  MCP discovery (mcp.json)   endpoint advertised
WARN  robots.txt                 2 agentic bots blocked
```

## MCP tools exposed

The MCP server is stateless, anonymous and read-only, at `/wp-json/42a/v1/mcp` (JSON-RPC 2.0 over streamable HTTP). It exposes only public content — there is no write access at any privilege level.

| Tool | Purpose | Requires WooCommerce |
| --- | --- | --- |
| `get_site_info` | Name, description, capabilities and what the agent layer exposes. | No |
| `search_content` | Full-text search across your public posts and pages. | No |
| `get_page` | Fetch one page or post as clean markdown. | No |
| `list_recent_posts` | The latest published posts, newest first. | No |
| `list_categories` | Your category taxonomy, so an agent can navigate by topic. | No |
| `search_products` | Search your catalogue by keyword. | Yes |
| `get_product` | One product with price, currency, SKU, stock and categories. | Yes |

Discovery is served at all four current draft locations:

- `/.well-known/mcp.json` — de-facto discovery document
- `/.well-known/mcp` — SEP-1960 manifest
- `/.well-known/mcp/server-card.json` — SEP-1649 server card
- `/.well-known/mcp-server` — IETF draft

Other plugins can register tools through the `ael42a_mcp_tools` filter.

## In wp-admin

- **Agent Layer** (no account needed) — Your live status checks, the endpoints being served, and how much agent traffic they are getting. This is the whole product, and it needs no account.
- **GEO Vitals** (requires connecting to 42A) — Every AI SEO check scored, with its impact and a concrete fix. Fills in once you connect to 42A.
- **AI Visibility** (requires connecting to 42A) — A snapshot of your 42A brand dashboard: mentions, sentiment, share of voice and trend. Fills in once you connect.
- **Account** (no account needed) — Where you would connect, if you ever want to. Nothing here is required to run the agent layer.

## Free forever, no account required

This is the whole product, not a trial. None of it expires, and none of it needs an account or an email address.

- Markdown twin of every public post, page and product
- llms.txt and llms-full.txt generated and served at your root
- Public read-only MCP server with 5 tools (7 with WooCommerce)
- MCP discovery at all four draft well-known paths
- Endpoint self-tests in wp-admin, on demand and daily
- robots.txt audit against 87 known AI bots
- Local agent-traffic counters, stored on your server only
- Zero external requests until you choose to connect

## What connecting to 42A adds (optional)

- The full ~30-check AI SEO / GEO report, each check scored with a concrete fix
- Re-crawled and refreshed by 42A, not just self-tested locally
- AI Visibility dashboard: how often ChatGPT, Claude, Gemini and Perplexity mention your brand
- Sentiment, share of voice and mention coverage, with trends over time
- Competitor benchmarking - see who the models recommend instead of you
- Prompt-level analysis: the real buyer questions your brand shows up in
- Both surfaced inside wp-admin, no context switching

### What the connected report grades

Site-wide checks are grouped into four sections; page-level checks bring the full report to roughly thirty, each scored with its impact and a concrete fix.

- **Access** — Can AI systems reach your content at all? Checks: robots.txt permissiveness, Server accessibility, CDN AI-block detection, JavaScript rendering / SSR.
- **Discovery** — Can they find what matters without crawling everything? Checks: llms.txt, llms-full.txt, sitemap.xml.
- **Identity** — Do they understand who you are, and agree with themselves about it? Checks: JSON-LD validity, JSON-LD entity completeness, Social parity, About-page linkage.
- **Agents** — Can an agent act, not just read? Checks: Knowledge-panel readiness, Agent navigation friction, Structured action discoverability.

## How this differs from admin-automation MCP plugins

Plugins such as Automattic's `wordpress-mcp` expose authenticated admin automation. 42A AEL is the opposite: a zero-config, anonymous, read-only public-content MCP server bundled with the whole agent layer. The two can coexist; they use different routes.

| | 42A AI Visibility (AEL) | Admin-automation MCP plugins |
| --- | --- | --- |
| What it exposes | Public content only - the same data any visitor sees | Your wp-admin: posts, settings, users, media |
| Authentication | None. Anonymous and read-only by design | Required - it is acting as a logged-in administrator |
| Who it is for | AI search engines and any agent evaluating your site | You, automating your own editorial work |
| Write access | None, at any privilege level | Yes - create, update, publish, configure |
| Setup | Activate. Nothing to configure | Credentials, scopes and client wiring |
| Ships with | Markdown layer, llms.txt, GEO vitals, crawler audit | Admin tooling |

## Install

1. **Search from wp-admin** — Plugins → Add New Plugin, then search for "42A AI Visibility". No zip to upload, no FTP, no build step.
2. **Install and activate** — Activation is the configuration. The markdown layer, llms.txt, llms-full.txt and the MCP server all start serving immediately.
3. **Check the Agent Layer tab** — Watch the status checks come back green as the plugin loopback-tests each endpoint on your own server, and review the robots.txt audit. That is it — your site is agent-ready, and nothing above needed an account.
4. **Connect to 42A** (optional) — Entirely optional, and only if you want the outside-in view: the full GEO report and your AI Visibility dashboard inside wp-admin. Skip it and the agent layer keeps working exactly the same, forever.

## WooCommerce

- **Products, in a form agents can compare** — Product pages get a structured details block in their markdown - price, currency, SKU, stock status and categories - so an assistant answering "does this store sell X, and how much is it" has the facts instead of a guess.
- **Your catalogue in llms.txt** — Product categories are included in the generated llms.txt, giving models a map of what you actually sell rather than a flat list of blog posts.
- **Two extra MCP tools** — search_products and get_product appear automatically when WooCommerce is active, so an agent can search your catalogue and pull a single product without scraping a shop page.

## Privacy, performance and compatibility

- **Zero external requests until you connect** — Out of the box the plugin never talks to 42A, or to anyone else. The first outbound request happens when you click "Connect to 42A". Agent-traffic counters stay on your server, and telemetry is a separate opt-in checkbox that is off by default.
- **No measurable weight on your site** — Markdown documents are generated lazily, cached in transients and invalidated when you save. The markdown, llms.txt and MCP paths short-circuit before theme rendering starts, so normal page loads are untouched.
- **Every theme, every builder** — The plugin works at the request layer and never modifies your theme HTML. Classic themes, block themes and page builders all behave exactly as they do today - your human visitors see no difference.
- **It defers to what you already have** — If an llms.txt, llms-full.txt or MCP discovery document already exists on your site - a real file, or served by another plugin - it is detected and respected, not overwritten. The plugin generates only the pieces you are missing, and tells you which is which.

## Frequently asked questions

### Is the plugin free?

Yes. The entire agent layer - the markdown twin of every page, llms.txt and llms-full.txt, the public MCP server, the local status checks and the AI-crawler audit - is free forever, licensed GPL-2.0-or-later, and works without an account, an email address or a sign-up. Connecting the site to 42A is a separate, optional step that adds the full GEO vitals report and the AI Visibility dashboard.

### What is AI Visibility?

AI Visibility is how often and how prominently your website and brand appear in AI-generated answers, in tools like ChatGPT, Claude, Gemini and Perplexity. Just as SEO rankings measure your presence in classic search results, AI Visibility measures whether AI assistants find, understand, mention and cite your site when someone asks a relevant question.

### What is GEO, and how is it different from SEO?

GEO (Generative Engine Optimization, also called AI SEO or LLM SEO) is the practice of optimizing your site so generative AI engines can read, understand and cite it. Classic SEO signals still matter, but GEO adds new ones: llms.txt, clean machine-readable content, structured data, AI-crawler access in robots.txt, and agent endpoints like MCP. This plugin covers that technical layer for you on its own, and connecting to 42A adds prioritized recommendations on top.

### Do I need a 42A account to use it?

No, and the plugin is not a trial or a teaser. The whole agent layer - markdown twins, llms.txt, llms-full.txt, the MCP server and discovery, the local self-tests and the AI-crawler audit - runs forever without an account, and the plugin makes zero external requests until you explicitly click "Connect to 42A". Connecting is optional and adds the outside-in view a plugin on your own server cannot produce: the full ~30-check GEO report and the AI Visibility dashboard, with mentions, sentiment, share of voice, competitor benchmarking and prompt-level analysis.

### Will it improve my AI rankings?

No plugin can guarantee placement in AI answers, and we will not pretend otherwise. What this one does is remove the technical barriers that stop AI engines from reading your site at all - no llms.txt, HTML-only content, blocked or unguided crawlers, no agent endpoints - and, with a 42A account, give you concrete prioritized fixes. Sites that are easy for AI to read, understand and verify are far more likely to be cited.

### Does it work with Yoast SEO?

Yes, and it is built to sit alongside Yoast rather than compete with it. Yoast keeps doing classic SEO - titles, meta descriptions, canonicals, sitemaps, schema - and 42A AI Visibility adds the agent layer on top of it: markdown twins, llms.txt and the MCP server. The plugin works at the request layer and never modifies your theme output or anything Yoast writes into your pages. If Yoast is already generating an llms.txt, the plugin detects it and leaves it exactly as it is instead of overriding it. It can only ever add signals an AI engine can read - it never removes or weakens one.

### Does it slow my site down?

No. Markdown documents are generated lazily, cached in transients and invalidated on save. The markdown, llms.txt and MCP paths short-circuit before theme rendering, so normal HTML page loads are untouched.

### What exactly does the plugin send to 42A?

Nothing, until you connect. When you click "Connect to 42A" it sends a single-use pairing code, your site URL, the plugin and WordPress versions, and the list of enabled agent-layer capabilities. While connected it sends your site token to fetch your status and vitals. Telemetry is a separate opt-in checkbox, off by default; when enabled it sends one daily aggregate - date and counts of MCP requests, markdown hits, llms.txt hits and per-tool calls - and never any content, URLs or personal data. Disconnecting or uninstalling revokes the token.

### Does it work with Rank Math?

Yes, and the same way it works with Yoast: Rank Math carries on handling classic SEO while 42A AI Visibility runs beside it and adds the agent layer. Nothing in your Rank Math settings, page output or sitemaps is touched, and any llms.txt or MCP discovery document your setup already serves is detected and respected rather than replaced. The two stay in sync and the plugin only ever improves what AI engines can see - it cannot hurt your existing SEO.

### Which AI search engines and crawlers does it work with?

The agent layer is built on open standards - markdown, llms.txt and MCP - so any AI engine or agent can consume it, including ChatGPT, Claude, Gemini, Perplexity and Copilot, along with AI crawlers such as GPTBot, ClaudeBot and PerplexityBot. The robots.txt audit covers 87 known AI bots, and the 42A platform tracks your visibility across the major assistants.

### Does it work with ChatGPT, Claude and Gemini specifically?

Yes. The markdown layer, llms.txt and MCP server make your content easy for ChatGPT and OpenAI’s crawlers (GPTBot, OAI-SearchBot), for Claude and ClaudeBot, and for Gemini and Google-Extended to read and cite - and the robots.txt audit verifies none of them are blocked. With a connected 42A account you can also monitor how each of those assistants mentions your brand.

### How does MCP help AI agents find my site?

MCP (Model Context Protocol) is an open standard that lets an AI agent query a site in a structured way instead of scraping HTML. The plugin runs a public, read-only MCP server exposing tools like search_content, get_page and list_recent_posts - plus product tools when WooCommerce is active - discoverable at /.well-known/mcp.json. Agents that speak MCP can then search, fetch and navigate your content directly and reliably.

### Does it work behind Cloudflare or another CDN?

Yes. Markdown responses are served with a Vary: Accept header, so a CDN caches the HTML and markdown versions of a URL separately instead of serving one in place of the other, and llms.txt, llms-full.txt and the MCP discovery documents are ordinary cacheable GET responses. Worth knowing: a CDN or firewall can block AI crawlers before a request ever reaches WordPress - which is exactly what the connected GEO report’s CDN AI-block detection check looks for.

### What happens after I connect my site to 42A?

Your wp-admin gains data, and nothing else changes. The plugin sends a single-use pairing code along with your site URL, the plugin and WordPress versions and the list of enabled agent-layer capabilities, and receives a site token scoped narrowly to reading your vitals and writing telemetry. The GEO Vitals and AI Visibility tabs then start filling in: the full ~30-check report with a fix per check, plus your brand’s mentions, sentiment and share of voice across ChatGPT, Claude, Gemini and Perplexity - graded by 42A’s crawlers from the outside rather than self-tested on your server. The agent layer itself is untouched: same endpoints, same output, same performance. Telemetry stays off unless you tick the separate opt-in box, and one click disconnects and revokes the token.

### Is it compatible with my theme or page builder?

Yes. The plugin works at the request layer: markdown, llms.txt and MCP responses are served before theme rendering even starts, and nothing in your theme’s HTML output is modified. Classic themes, block themes and page builders all work the same as they do today.

### What if my site already has an llms.txt from another plugin?

It is left alone. The plugin checks first and never overrides content your site already provides - whether that is a real file on your server or output from another plugin such as an SEO suite. It generates only the pieces you are missing, and the Agent Layer checks show which files it serves and which existing ones it is respecting. Remove the existing file later and the plugin starts serving its own version automatically.

### Does it work with WooCommerce?

Yes. Product pages get a structured details section in their markdown (price, currency, SKU, stock, categories), llms.txt includes your product categories, and the MCP server gains search_products and get_product tools automatically when WooCommerce is active.

### How is this different from an admin-automation MCP plugin?

Plugins such as Automattic’s wordpress-mcp expose authenticated admin automation - creating posts, managing settings - on your behalf. 42A AEL is the opposite: a zero-config, anonymous, read-only public-content MCP server, serving the same data any visitor sees, bundled with the whole agent layer of markdown, llms.txt and vitals. The two can coexist; they use different routes.

### Can other plugins add their own MCP tools?

Yes, through the ael42a_mcp_tools filter. Each tool definition carries a name, description, JSON Schema for its input and a callback. Tools flagged as requiring authentication are rejected until an authenticated transport ships in a future version.

### Does it support WordPress multisite?

Per-site activation is supported. Network-wide activation is not officially supported yet.

---

Generated by 42A · https://www.42a.ai/wordpress/ · plugin directory: https://wordpress.org/plugins/ael-42a/
