Markdown for AI Agents
Markdown for AI Agents is a lightweight WordPress plugin that enables HTTP content negotiation for your site’s content. When a client (like an AI agent or a custom script) requests a page with the Accept: text/markdown header, the plugin intercepts the request and returns a clean, structured Markdown representation of the post or page content. This is ideal for AI crawlers, RAG (Retrieval-Augmented Generation) systems, and non-browser clients that prefer machine-friendly text over complex HTML. Important note: This plugin is primarily a developer/integration tool. Human visitors browsing your site will never see any difference — the Markdown output is only served when explicitly requested via the Accept: text/markdown HTTP header. Normal browser requests always receive the standard HTML page. Key Features: Automatically detects Accept: text/markdown headers. Converts HTML content to clean Markdown using the League HTMLToMarkdown library. Strips away theme layout, navigation, headers, footers, and sidebars — serving only the main content. Adds useful HTTP response headers: Content-Type: text/markdown, Vary: Accept, and X-Markdown-Word-Count. Respects WordPress visibility rules and filters. No configuration required — works out of the box for posts, pages, and custom post types. How It Works This plugin uses a standard web technique called HTTP content negotiation. The same URL on your site can serve different representations of the same content depending on what the client asks for: A regular browser sends Accept: text/html → receives your normal HTML page. An AI agent sends Accept: text/markdown → receives a clean Markdown version of the same page. No extra URLs, no duplicate content, no configuration needed. The plugin hooks into WordPress’s template_redirect action, detects the Accept header, captures the rendered HTML, converts it to Markdown, and returns it with appropriate headers. Why Markdown for AI Agents? When building RAG (Retrieval-Augmented Generation) applications or AI pipelines that ingest web content, HTML is extremely noisy. A typical WordPress page contains thousands of tokens worth of HTML tags, inline styles, navigation menus, scripts, and layout markup — none of which carries meaning for an AI model. Serving clean Markdown instead can reduce token consumption by up to 60%, which means: Lower API costs — fewer tokens ingested when loading pages into vector stores or LLM pipelines. Faster processing — less text for the model to parse, filter, and discard. Better retrieval accuracy — higher signal-to-noise ratio improves the quality of RAG results. Simpler pipelines — no need for custom HTML stripping logic on the client side; the plugin handles it server-side. Any AI agent, crawler, or ingestion script that sends Accept: text/markdown in its request header will automatically receive the clean Markdown version — no extra URLs, no separate endpoints, no changes to your content workflow.
Top keywords
- markdown15×3.38%
- content10×2.25%
- html9×2.03%
- text9×2.03%
- accept8×1.80%
- ai8×1.80%
- accept text6×1.35%
- page6×1.35%
- text markdown6×1.35%
- accept text markdown5×1.13%
- clean5×1.13%
- clean markdown4×0.90%
Mescio for Agents
Mescio for Agents makes your WordPress site AI-ready by silently serving posts, pages and WooCommerce products as clean, structured Markdown to any AI agent or LLM pipeline that requests it — using the standard HTTP Accept: text/markdown content negotiation header. Human visitors using a browser are completely unaffected. Mescio for Agents only activates when an AI agent or crawler explicitly asks for Markdown. Why Markdown? Feeding raw HTML to an AI is expensive and noisy. A heading like ## About Us costs ~3 tokens in Markdown vs 12–15 tokens as HTML — before accounting for wrappers, navigation bars and script tags that carry zero semantic value. This blog post you are reading takes 16,180 tokens in HTML and 3,150 tokens in Markdown. That is an 80% reduction. Markdown has become the lingua franca for AI systems. Mescio for Agents lets your site speak it natively, at zero cost to your human visitors. How it works When an HTTP client sends a request with Accept: text/markdown, Mescio for Agents intercepts the WordPress request lifecycle before any template is rendered, converts the post content to clean Markdown, and returns it with the correct Content-Type: text/markdown header. curl https://yoursite.com/your-post/ \ -H "Accept: text/markdown" Features Zero configuration — works out of the box on any singular post, page or custom post type /llms.txt endpoint — auto-generated index of all your content in the llmstxt.org standard format, so AI agents can discover what’s on your site /llms-full.txt endpoint — full site content in a single Markdown file, ready for RAG pipelines WooCommerce support — product pages include price, SKU, stock status, rating, attributes and gallery; products are grouped by category in llms.txt YAML front matter — every document includes structured metadata (title, description, URL, date, categories, tags, featured image) Multilingual — detects language via WPML, Polylang, TranslatePress or WordPress locale; emits Content-Language and Link: rel=alternate headers REST API endpoint — /wp-json/mescio-for-agents/v1/markdown?id= or ?url= Page builder cleanup — aggressively strips Elementor, Divi, WPBakery and Beaver Builder layout noise Token count header — X-Markdown-Tokens tells AI pipelines how large the document is before processing Content Signals — emits Content-Signal: ai-train=yes, search=yes, ai-input=yes Correct HTTP caching — Vary: Accept ensures CDNs cache HTML and Markdown versions separately Response headers Content-Type: text/markdown; charset=utf-8 Content-Language: it (or detected language) Vary: Accept X-Markdown-Tokens: 725 Content-Signal: ai-train=yes, search=yes, ai-input=yes Link: ; rel="alternate"; hreflang="en" (when translations available) Multilingual plugin support WPML — reads language and available translations automatically Polylang — reads language and links to translated post IDs TranslatePress — reads trp_language post meta Manual — configure primary language and additional languages in Settings → Mescio for Agents REST API GET /wp-json/mescio-for-agents/v1/markdown?id=42 GET /wp-json/mescio-for-agents/v1/markdown?url=https://yoursite.com/my-page/ Developer hooks Filter: mescio_enabled_post_types — add or remove post types dynamically. Filter: mescio_pre_convert_content — modify the HTML before conversion to Markdown. Filter: mescio_post_convert_content — modify the Markdown after conversion. Privacy This plugin does not collect, store or transmit any personal data. It does not set cookies. It does not make external HTTP requests.