Title: Markivo GEO &amp; AEO Toolkit
Author: Neeraj Kumar
Published: <strong>November 8, 2026</strong>
Last modified: November 8, 2026

---

Search plugins

![](https://ps.w.org/markivo-geo-aeo-toolkit/assets/banner-772x250.png?rev=3790933)

![](https://ps.w.org/markivo-geo-aeo-toolkit/assets/icon.svg?rev=3790933)

# Markivo GEO & AEO Toolkit

 By [Neeraj Kumar](https://profiles.wordpress.org/neerajkumar1792000/)

[Download](https://downloads.wordpress.org/plugin/markivo-geo-aeo-toolkit.2.0.1.zip)

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

 [Support](https://wordpress.org/support/plugin/markivo-geo-aeo-toolkit/)

## Description

Markivo GEO & AEO Toolkit prepares your site for generative engine optimisation (
GEO) and answer engine optimisation (AEO). AI assistants, AI search engines and 
AI agents get clean, structured content and simple tools, while human visitors keep
seeing your normal pages.

Every feature has its own switch under **Settings > Markivo GEO & AEO**.

#### Content for AI

 * **Markdown content negotiation** – requests that send `Accept: text/markdown`
   receive the page as clean Markdown. Navigation, sidebars, forms, scripts and 
   ads are removed. Works on posts, pages, products, archives and search results.
 * **YAML front matter** – title, URL, language, description, author, dates, image,
   categories, tags and WooCommerce price, SKU and stock.
 * **Markdown REST API** – `/wp-json/markivo/v1/markdown?url=` or `?id=`, advertised
   on every post with `<link rel="alternate" type="text/markdown">`. Works behind
   any page cache.
 * **/llms.txt** – an index of your content in the llmstxt.org format, with an optional
   introduction you write.
 * **/llms-full.txt** – the full content of your posts in one Markdown file, paged
   with `?limit=` and `?offset=`.
 * **WooCommerce** – product price, stock, rating and attributes in Markdown and
   llms.txt.
 * **Hide content** – hide any post from llms.txt, llms-full.txt and agent search
   from its edit screen or by ID/URL. WooCommerce cart, checkout and account pages
   are always hidden.

#### Policy and discovery

 * **/agents.txt** – an access policy for AI agents with your own ALLOW / DISALLOW
   rules.
 * **Content Signals** – declare `search`, `ai-input` and `ai-train` preferences
   in robots.txt and response headers.
 * **robots.txt** – adds the Content-Signal line and references to llms.txt and 
   agents.txt.
 * **/.well-known/api-catalog** (RFC 9727), an MCP server card and an agent skills
   index.
 * **Discovery links** – `Link` headers and `<link>` tags that point agents to all
   of the above.

#### Tools for AI agents (WebMCP and MCP)

 * **WebMCP** – registers tools with the browser WebMCP API (`navigator.modelContext`),
   so in-browser agents can search your site, read pages and, on WooCommerce stores,
   manage the visitor’s own cart.
 * **Remote MCP server** – a Streamable HTTP MCP endpoint at `/wp-json/markivo/v1/
   mcp` for MCP clients, with read-only tools. An optional API key can be required.
 * **OpenAPI** – `/wp-json/markivo/v1/openapi` describes the API for tools such 
   as custom GPT actions.
 * Included tools: `get_site_info`, `search_content`, `get_markdown_content`, `get_llms_txt`,`
   list_terms`, `get_menu`, and with WooCommerce `woo_search_products`, `woo_get_product`,`
   woo_list_categories`, `woo_add_to_cart`, `woo_get_cart`, `woo_remove_from_cart`,`
   woo_apply_coupon`. Each tool can be turned off.
 * Cart tools only run from a page of your site in the visitor’s own browser session.
   They are never offered on the remote MCP server.

#### Safe by default

 * Only published, public, non-password-protected content of the post types you 
   choose is exposed.
 * Browsers always receive the normal HTML page, and every response sends `Vary:
   Accept`.
 * Optional per-IP rate limit for all endpoints of the plugin.
 * No external requests, no tracking, no cookies.

#### Developer hooks

 * `markivo_register_tools` (action) – register your own tools: `$tools->register('
   name', array( 'description' => '', 'inputSchema' => array(), 'callback' => 'fn'))`.
 * `markivo_post_types`, `markivo_should_convert`, `markivo_exclude_post`, `markivo_pre_convert_html`,`
   markivo_post_markdown`, `markivo_front_matter`.
 * `markivo_llms_txt`, `markivo_llms_full_txt`, `markivo_agents_txt`, `markivo_api_catalog`,`
   markivo_server_card`, `markivo_discovery_links`, `markivo_content_signal`.
 * `markivo_noise_classes`, `markivo_noise_ids` – elements removed before conversion.
 * `markivo_rate_limit`, `markivo_client_ip` – rate limit and client IP (for sites
   behind a proxy).

## Installation

 1. Upload the `markivo-geo-aeo-toolkit` folder to `/wp-content/plugins/`, or install
    it from the Plugins screen.
 2. Activate the plugin. All features are on by default except the MCP API key.
 3. Open Settings > Markivo GEO & AEO to switch features on or off and to write your
    llms.txt introduction.
 4. Test it: `curl -si https://example.com/ -H "Accept: text/markdown" | head -5` should
    show `Content-Type: text/markdown`, and `https://example.com/llms.txt` should show
    your content index.

## FAQ

### Will my visitors see Markdown?

No. Only requests whose Accept header contains `text/markdown` receive Markdown.
Browsers never send that header.

### /llms.txt or /agents.txt shows my theme’s 404 page or an old file.

If a physical file with the same name exists in your site root, the web server serves
it instead; the settings page warns you about this. Some server configurations do
not pass `.txt` requests to WordPress; ask your host to route missing files to `
index.php`. If another plugin also generates llms.txt, switch off one of them.

### I use a page cache or CDN and still get HTML for Accept: text/markdown.

Caches that serve pages before WordPress runs (for example LiteSpeed, Varnish or
Cloudflare) must vary on the `Accept` header or bypass the cache when it contains`
text/markdown`. The Markdown REST API and llms.txt work regardless.

### How do I connect an MCP client?

Use `https://example.com/wp-json/markivo/v1/mcp` as a remote (Streamable HTTP) MCP
server. If you turned on the API key, send it as `Authorization: Bearer <key>`.

### Does it change my content?

No. Nothing is written to your posts. The plugin only adds responses for clients
that ask for them.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Markivo GEO & AEO Toolkit” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Neeraj Kumar ](https://profiles.wordpress.org/neerajkumar1792000/)

[Translate “Markivo GEO & AEO Toolkit” into your language.](https://translate.wordpress.org/projects/wp-plugins/markivo-geo-aeo-toolkit)

### Interested in development?

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

## Changelog

#### 2.0.1

 * Added: Rating review prompt on the plugin settings screen.

#### 2.0.0

 * New name: Markivo GEO & AEO Toolkit.
 * Added: /llms.txt, /llms-full.txt and /agents.txt, each with its own switch.
 * Added: Markdown REST API with alternate links, YAML front matter and WooCommerce
   product data.
 * Added: Content Signals, robots.txt references, RFC 9727 API catalog, MCP server
   card and agent skills index.
 * Added: WebMCP browser tools, a remote MCP server, a tool manifest and an OpenAPI
   description, with per-tool switches.
 * Added: hide posts from llms.txt and agent search; optional per-IP rate limit.
 * Changed: page caches are bypassed through DONOTCACHEPAGE, no-cache headers and
   the LiteSpeed/NitroPack hooks.

#### 1.6.0

 * Markdown content negotiation for posts, pages, archives and search results.

## Meta

 *  Version **2.0.1**
 *  Last updated **2 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.9 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [AI](https://wordpress.org/plugins/tags/ai/)[geo](https://wordpress.org/plugins/tags/geo/)
   [llms.txt](https://wordpress.org/plugins/tags/llms-txt/)[markdown](https://wordpress.org/plugins/tags/markdown/)
   [mcp](https://wordpress.org/plugins/tags/mcp/)
 *  [Advanced View](https://wordpress.org/plugins/markivo-geo-aeo-toolkit/advanced/)

## Ratings

No reviews have been submitted yet.

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

[See all reviews](https://wordpress.org/support/plugin/markivo-geo-aeo-toolkit/reviews/)

## Contributors

 *   [ Neeraj Kumar ](https://profiles.wordpress.org/neerajkumar1792000/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/markivo-geo-aeo-toolkit/)