[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fJrBDbej5fMhgkmrJS7DNs3oH3iyx8JcXsv8mEoHVymA":3,"$f6KSfTD_3v_Xh91JOyGx5BoWiDy700hcXBVox2xe92MY":119,"$fIOsXUIaqe07PkhIJK4Hea1mXpoB9RmbpeM8urGJjeuo":124},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"discovery_status":28,"vulnerabilities":29,"developer":30,"crawl_stats":26,"alternatives":36,"analysis":26,"fingerprints":26},"markdown-negotiator","Umay AI Markdown","1.1.1","Umay Ajans","https:\u002F\u002Fprofiles.wordpress.org\u002Fumayajans\u002F","\u003Cp>Modern AI agents (ChatGPT, Claude, Perplexity, Gemini, etc.) work much better with Markdown than HTML. Umay AI Markdown inspects the incoming \u003Ccode>Accept\u003C\u002Fcode> header and, only when \u003Ccode>text\u002Fmarkdown\u003C\u002Fcode> is requested, intercepts the response and serves a clean, agent-friendly Markdown representation of the page.\u003C\u002Fp>\n\u003Cp>Browsers, search engines, and any client that does not explicitly ask for Markdown receive the unchanged HTML response. There is no settings page, no cron job, and no external service call.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Zero configuration — install, activate, done.\u003C\u002Fli>\n\u003Cli>Only triggers when \u003Ccode>Accept: text\u002Fmarkdown\u003C\u002Fcode> is present. Regular visitors and search engines are never affected.\u003C\u002Fli>\n\u003Cli>Hybrid content extraction: uses \u003Ccode>the_content\u003C\u002Fcode> for posts\u002Fpages, falls back to a DOM-based extractor for archives, taxonomies, and the homepage.\u003C\u002Fli>\n\u003Cli>Powered by the industry-standard \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fthephpleague\u002Fhtml-to-markdown\" rel=\"nofollow ugc\">league\u002Fhtml-to-markdown\u003C\u002Fa> library.\u003C\u002Fli>\n\u003Cli>Transient-cached for 12 hours per URL (sha256-keyed). Auto-invalidated on \u003Ccode>save_post\u003C\u002Fcode>, term edits, theme switches, and menu updates.\u003C\u002Fli>\n\u003Cli>Built-in IP rate limiter (30 requests \u002F minute by default) to mitigate abuse.\u003C\u002Fli>\n\u003Cli>Strict input sanitization, header injection protection, libxml entity hardening (XXE-safe), and full WordPress Coding Standards compliance.\u003C\u002Fli>\n\u003Cli>PSR-4 autoloaded, namespaced OOP code. No globals.\u003C\u002Fli>\n\u003Cli>Sends \u003Ccode>Vary: Accept\u003C\u002Fcode>, \u003Ccode>X-Robots-Tag: noindex\u003C\u002Fcode>, and \u003Ccode>X-Content-Type-Options: nosniff\u003C\u002Fcode> on every Markdown response.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>What gets sent to AI agents\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Each Markdown response includes a YAML front-matter block with the page title, site name, canonical URL, and ISO-8601 generation timestamp, followed by the page body converted to Markdown. Navigation, footer, sidebars, scripts, styles, comment forms, related posts, and other page chrome are stripped before conversion.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Filters\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Two filters are available for advanced customization:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>umay_mdn_bypass\u003C\u002Fcode> — Return \u003Ccode>true\u003C\u002Fcode> to skip Markdown handling for the current request.\u003C\u002Fli>\n\u003Cli>\u003Ccode>umay_mdn_cache_ttl\u003C\u002Fcode> — Override the default 12-hour cache lifetime (in seconds, minimum 60).\u003C\u002Fli>\n\u003Cli>\u003Ccode>umay_mdn_rate_limit\u003C\u002Fcode> — Override the default 30-requests-per-minute rate limit.\u003C\u002Fli>\n\u003Cli>\u003Ccode>umay_mdn_converter_options\u003C\u002Fcode> — Modify the league\u002Fhtml-to-markdown converter options array.\u003C\u002Fli>\n\u003C\u002Ful>\n","Serves clean Markdown to AI agents (ChatGPT, Claude, Perplexity) on Accept: text\u002Fmarkdown. HTML stays default for browsers. Zero-config.",0,170,"2026-05-20T16:47:00.000Z","7.0.2","6.0","7.4",[18,19,20,21,22],"ai-agents","content-negotiation","geo","llm","markdown","https:\u002F\u002Fwww.umayajans.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmarkdown-negotiator.1.1.1.zip",100,null,"2026-07-22T17:31:50.256Z","no_bundle",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},"umayajans",1,30,94,"2026-08-28T23:30:51.489Z",[37,55,72,87,102],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":11,"num_ratings":11,"last_updated":47,"tested_up_to":48,"requires_at_least":49,"requires_php":16,"tags":50,"homepage":53,"download_link":54,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"markdown-for-ai-agents","Markdown for AI Agents","1.0.0","Selvakumar Duraipandian","https:\u002F\u002Fprofiles.wordpress.org\u002Fselvasudar\u002F","\u003Cp>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 \u003Ccode>Accept: text\u002Fmarkdown\u003C\u002Fcode> header, the plugin intercepts the request and returns a clean, structured Markdown representation of the post or page content.\u003C\u002Fp>\n\u003Cp>This is ideal for AI crawlers, RAG (Retrieval-Augmented Generation) systems, and non-browser clients that prefer machine-friendly text over complex HTML.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Important note:\u003C\u002Fstrong> This plugin is primarily a developer\u002Fintegration tool. Human visitors browsing your site will never see any difference — the Markdown output is only served when explicitly requested via the \u003Ccode>Accept: text\u002Fmarkdown\u003C\u002Fcode> HTTP header. Normal browser requests always receive the standard HTML page.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Automatically detects \u003Ccode>Accept: text\u002Fmarkdown\u003C\u002Fcode> headers.\u003C\u002Fli>\n\u003Cli>Converts HTML content to clean Markdown using the League HTMLToMarkdown library.\u003C\u002Fli>\n\u003Cli>Strips away theme layout, navigation, headers, footers, and sidebars — serving only the main content.\u003C\u002Fli>\n\u003Cli>Adds useful HTTP response headers: \u003Ccode>Content-Type: text\u002Fmarkdown\u003C\u002Fcode>, \u003Ccode>Vary: Accept\u003C\u002Fcode>, and \u003Ccode>X-Markdown-Word-Count\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Respects WordPress visibility rules and filters.\u003C\u002Fli>\n\u003Cli>No configuration required — works out of the box for posts, pages, and custom post types.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>How It Works\u003C\u002Fh3>\n\u003Cp>This plugin uses a standard web technique called \u003Cstrong>HTTP content negotiation\u003C\u002Fstrong>. The same URL on your site can serve different representations of the same content depending on what the client asks for:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>A regular browser sends \u003Ccode>Accept: text\u002Fhtml\u003C\u002Fcode> \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> receives your normal HTML page.\u003C\u002Fli>\n\u003Cli>An AI agent sends \u003Ccode>Accept: text\u002Fmarkdown\u003C\u002Fcode> \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> receives a clean Markdown version of the same page.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>No extra URLs, no duplicate content, no configuration needed. The plugin hooks into WordPress’s \u003Ccode>template_redirect\u003C\u002Fcode> action, detects the \u003Ccode>Accept\u003C\u002Fcode> header, captures the rendered HTML, converts it to Markdown, and returns it with appropriate headers.\u003C\u002Fp>\n\u003Ch3>Why Markdown for AI Agents?\u003C\u002Fh3>\n\u003Cp>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.\u003C\u002Fp>\n\u003Cp>Serving clean Markdown instead can reduce token consumption by up to 60%, which means:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Lower API costs\u003C\u002Fstrong> — fewer tokens ingested when loading pages into vector stores or LLM pipelines.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Faster processing\u003C\u002Fstrong> — less text for the model to parse, filter, and discard.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Better retrieval accuracy\u003C\u002Fstrong> — higher signal-to-noise ratio improves the quality of RAG results.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Simpler pipelines\u003C\u002Fstrong> — no need for custom HTML stripping logic on the client side; the plugin handles it server-side.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Any AI agent, crawler, or ingestion script that sends \u003Ccode>Accept: text\u002Fmarkdown\u003C\u002Fcode> in its request header will automatically receive the clean Markdown version — no extra URLs, no separate endpoints, no changes to your content workflow.\u003C\u002Fp>\n","Serve clean Markdown versions of WordPress content to AI agents using HTTP content negotiation.",500,890,"2026-03-09T01:32:00.000Z","6.9.5","6.9",[51,19,21,22,52],"ai","rag","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmarkdown-for-ai-agents.1.0.0.zip",{"slug":56,"name":57,"version":58,"author":59,"author_profile":60,"description":61,"short_description":62,"active_installs":63,"downloaded":64,"rating":11,"num_ratings":11,"last_updated":65,"tested_up_to":14,"requires_at_least":49,"requires_php":66,"tags":67,"homepage":70,"download_link":71,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"llm-override","LLM Override","1.2.2","Fran Barbero","https:\u002F\u002Fprofiles.wordpress.org\u002Fvanguardhive\u002F","\u003Cp>\u003Cstrong>The AI era has a problem: ChatGPT, Claude, and Perplexity are making up facts about your brand.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>They crawl your raw HTML — a format built for humans — and hallucinate the gaps. Traditional SEO\u003Cbr \u002F>\ncannot fix this. A static sitemap cannot fix this. LLM Override fixes this.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>LLM Override\u003C\u002Fstrong> is a Machine-to-Machine (M2M) interception engine for WordPress. It speaks the\u003Cbr \u002F>\nlanguage AI crawlers actually understand: clean, structured Markdown with semantic context — served\u003Cbr \u002F>\nin real time, directly from your site, without modifying a single page.\u003C\u002Fp>\n\u003Ch3>How AI systems read your content\u003C\u002Fh3>\n\u003Cp>Most AI tools for WordPress generate a list of URLs. That tells an AI crawler \u003Cem>where\u003C\u002Fem> your content\u003Cbr \u002F>\nis. LLM Override tells AI crawlers \u003Cem>what your content means\u003C\u002Fem> — making your brand accurately\u003Cbr \u002F>\nrepresented across AI-powered search engines.\u003C\u002Fp>\n\u003Cp>When a bot visits your page, LLM Override intercepts the request before WordPress renders any HTML,\u003Cbr \u002F>\nand responds with a structured Markdown payload containing:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Your content, cleaned of scripts, ads, and UI noise\u003C\u002Fli>\n\u003Cli>A YAML frontmatter block with your canonical title, URL, and last-updated timestamp\u003C\u002Fli>\n\u003Cli>Your \u003Cstrong>Site Manifest\u003C\u002Fstrong> — verifiable organization facts included in your \u002Fllms.txt\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This is Generative Engine Optimization (GEO): making your content accessible and accurately represented to AI systems.\u003C\u002Fp>\n\u003Ch3>How it works\u003C\u002Fh3>\n\u003Col>\n\u003Cli>LLM Override adds a \u003Ccode>\u003Clink rel=\"alternate\" type=\"text\u002Fmarkdown\">\u003C\u002Fcode> tag into your page \u003Ccode>\u003Chead>\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>An AI crawler discovers this link and follows it — that’s the standard Content Negotiation protocol.\u003C\u002Fli>\n\u003Cli>It appends \u003Ccode>?view=raw\u003C\u002Fcode> to your URL and sends the request.\u003C\u002Fli>\n\u003Cli>LLM Override intercepts at the WordPress routing layer — no HTML is rendered, no theme loads.\u003C\u002Fli>\n\u003Cli>The crawler receives clean, semantic Markdown. Accurate content. No hallucinations.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Your human visitors never see any of this. Their experience is unchanged.\u003C\u002Fp>\n\u003Ch3>Core Features (Free)\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>M2M Interception Engine\u003C\u002Fstrong>\u003Cbr \u002F>\n✅ Intercepts AI bot requests via \u003Ccode>?view=raw\u003C\u002Fcode> — works on any page, any post type\u003Cbr \u002F>\n✅ Converts HTML to clean Markdown using \u003Ccode>league\u002Fhtml-to-markdown\u003C\u002Fcode>\u003Cbr \u002F>\n✅ Strips \u003Ccode>\u003Cscript>\u003C\u002Fcode>, \u003Ccode>\u003Cstyle>\u003C\u002Fcode>, \u003Ccode>\u003Ciframe>\u003C\u002Fcode>, and empty elements before conversion\u003Cbr \u002F>\n✅ Disables page caching (WP Rocket, LiteSpeed, W3TC, Cloudflare) for M2M requests to guarantee fresh content\u003Cbr \u002F>\n✅ Adds \u003Ccode>X-Robots-Tag: noindex\u003C\u002Fcode> to Markdown responses to prevent duplicate content flags\u003Cbr \u002F>\n✅ Adds \u003Ccode>X-Content-Processing\u003C\u002Fcode> transparency header declaring conversion method and source\u003Cbr \u002F>\n✅ Adds YAML frontmatter: title, canonical URL, last modified date, plugin version\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Content Rules\u003C\u002Fstrong>\u003Cbr \u002F>\n✅ \u003Cstrong>Site Manifest\u003C\u002Fstrong> — provide verifiable organization facts in your \u002Fllms.txt site manifest\u003C\u002Fp>\n\u003Cp>\u003Cstrong>llms.txt Standard Compliance\u003C\u002Fstrong>\u003Cbr \u002F>\n✅ Dynamic \u003Ccode>\u002Fllms.txt\u003C\u002Fcode> endpoint — always current, zero static files, works on any hosting\u003Cbr \u002F>\n✅ Extended \u003Ccode>\u002Fllms-full.txt\u003C\u002Fcode> endpoint — includes content snippets for deeper AI context\u003Cbr \u002F>\n✅ Semantic Blockquote — select a global context page via UI to auto-generate the site manifest\u003Cbr \u002F>\n✅ Link Grouping — automatically categorizes links by post type (Pages, Optional, etc.) per llmstxt.org specs\u003Cbr \u002F>\n✅ Both endpoints automatically respect \u003Ccode>noindex\u003C\u002Fcode> rules from Yoast SEO, Rank Math, SEOPress, and AIOSEO\u003Cbr \u002F>\n✅ Announces \u003Ccode>\u002Fllms.txt\u003C\u002Fcode> in your \u003Ccode>robots.txt\u003C\u002Fcode> for passive bot discovery\u003Cbr \u002F>\n✅ \u003Ccode>\u003Clink rel=\"alternate\" type=\"text\u002Fmarkdown\">\u003C\u002Fcode> auto-injected into every page \u003Ccode>\u003Chead>\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Precision Control\u003C\u002Fstrong>\u003Cbr \u002F>\n✅ Native WordPress metabox on every post\u002Fpage: exclude from AI manifests or override the M2M payload manually\u003Cbr \u002F>\n✅ “View as AI” button in the WordPress Admin Bar: see exactly what any AI bot receives from any page\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Shadow Analytics Lite\u003C\u002Fstrong>\u003Cbr \u002F>\n✅ Tracks global M2M interception hits with a simple counter in your dashboard\u003Cbr \u002F>\n✅ GDPR-compliant: IP addresses are hashed daily, never stored in plain text\u003Cbr \u002F>\n✅ Detects 58 known AI bots across 4 categories (Training, Query, Discovery, Scraping)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Enterprise Sanitization\u003C\u002Fstrong>\u003Cbr \u002F>\n✅ Strips Unicode corruption before delivery: BOM markers, Zero-Width Spaces, Non-Breaking Spaces, Soft Hyphens — the exact characters that cause parser errors in ChatGPT and Claude\u003Cbr \u002F>\n✅ Transient-based caching (12-hour TTL) for endpoint performance — with one-click AJAX flush\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Developer API\u003C\u002Fstrong>\u003Cbr \u002F>\n✅ 14 documented action\u002Ffilter hooks for extending behavior without modifying plugin files\u003Cbr \u002F>\n✅ Clean OOP architecture with full Composer autoloading\u003C\u002Fp>\n\u003Ch3>Built to WordPress standards\u003C\u002Fh3>\n\u003Cp>LLM Override is developed following strict WordPress coding standards. Every function prefixed,\u003Cbr \u002F>\nevery output escaped, every database query prepared, every nonce verified. No direct filesystem\u003Cbr \u002F>\noperations. No raw SQL injection. No short PHP tags.\u003C\u002Fp>\n\u003Cp>The plugin passes the official WordPress Plugin Check tool with zero errors and zero warnings.\u003C\u002Fp>\n\u003Ch3>LLM Override Pro — Industrial-scale GEO\u003C\u002Fh3>\n\u003Cp>The free version covers the complete core M2M engine. Large sites and agencies need scale.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Pro unlocks:\u003C\u002Fstrong>\u003Cbr \u002F>\n* 🤖 \u003Cstrong>AI Copilot\u003C\u002Fstrong> — per-post AI-generated Markdown with custom personas (GPT, Claude, DeepSeek, OpenRouter via BYOK)\u003Cbr \u002F>\n* ⚙️ \u003Cstrong>Batch Accelerator\u003C\u002Fstrong> — compile your entire site in the background via Action Scheduler, no timeouts\u003Cbr \u002F>\n* 📊 \u003Cstrong>Full GEO Analytics\u003C\u002Fstrong> — granular telemetry: which bots, which pages, which entities were injected\u003Cbr \u002F>\n* 🔬 \u003Cstrong>Autopilot llms.txt\u003C\u002Fstrong> — AI-drafted manifesto grounded in your actual content\u003Cbr \u002F>\n* 🏢 \u003Cstrong>Agency MCP Server\u003C\u002Fstrong> — expose a full Model Context Protocol endpoint for external agent orchestration\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fllmoverride.com\" rel=\"nofollow ugc\">Explore Pro features \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan>\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>GEO Compliance\u003C\u002Fh3>\n\u003Cp>LLM Override follows the principle of Content Faithfulness: everything served to\u003Cbr \u002F>\nAI bots is a faithful representation of your visible web content, optimized for\u003Cbr \u002F>\nmachine consumption but never altered in substance.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Content is converted from HTML to Markdown without semantic changes\u003C\u002Fli>\n\u003Cli>No content is added or removed from individual page responses\u003C\u002Fli>\n\u003Cli>Structured data (JSON-LD) is extracted directly from visible page content\u003C\u002Fli>\n\u003Cli>Full transparency via X-Content-Processing HTTP headers\u003C\u002Fli>\n\u003Cli>Content Faithfulness Score tracks parity between HTML and Markdown outputs\u003C\u002Fli>\n\u003C\u002Ful>\n","Make your content accessible and accurate for AI systems. The compliance-first GEO optimization toolkit for WordPress.",40,443,"2026-06-16T22:51:00.000Z","8.1",[68,20,21,22,69],"chatgpt","seo","https:\u002F\u002Fllmoverride.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fllm-override.1.2.2.zip",{"slug":73,"name":74,"version":75,"author":76,"author_profile":77,"description":78,"short_description":79,"active_installs":80,"downloaded":81,"rating":11,"num_ratings":11,"last_updated":82,"tested_up_to":48,"requires_at_least":83,"requires_php":16,"tags":84,"homepage":53,"download_link":86,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"md4ai","md4AI","1.3.0","Erik","https:\u002F\u002Fprofiles.wordpress.org\u002Fcodekraft\u002F","\u003Cp>The \u003Cstrong>md4AI\u003C\u002Fstrong> plugin provides a powerful, multi-layered approach to Generative Engine Optimization (GEO).\u003C\u002Fp>\n\u003Ch3>1. Automatic AI Bot Detection (Zero-Config)\u003C\u002Fh3>\n\u003Cp>md4AI automatically detects requests from a comprehensive list of known AI agents (like GPTBot, ClaudeBot, Google-Extended, etc.) and serves them a lightweight, on-the-fly Markdown version of your content instead of the standard HTML theme. This ensures a clean, parsable data feed for LLMs right out of the box.\u003C\u002Fp>\n\u003Ch3>2. Per-Post Custom Markdown (Metabox)\u003C\u002Fh3>\n\u003Cp>The plugin adds a new metabox to your post and page editor, giving you full control over the AI-optimized version of your content.\u003Cbr \u002F>\nServing an md version of the website is particular useful if your website has editors like Elementor \u002F Beaver Builder \u002F Divi Builder \u002F other div bloated editors because bots usually skips complex and too much nested content.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Generate Custom Markdown:\u003C\u002Fstrong> Convert your post’s content into Markdown with one click.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Manually Edit:\u003C\u002Fstrong> Modify and enhance the Markdown to be exactly as you want AIs to see it.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>(Optional) Enhance with AI:\u003C\u002Fstrong> If you also use the \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fai-services\u002F\" rel=\"ugc\">AI Services\u003C\u002Fa>\u003C\u002Fstrong> plugin, you can use the “Generate with AI” button to automatically add FAQs, discussion questions, or key takeaways extracted from your post.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Serve Enhanced Content:\u003C\u002Fstrong> When an AI bot visits this \u003Cem>specific post\u003C\u002Fem>, it will be served your new, custom-tailored Markdown version, giving it far richer data.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic Fallback:\u003C\u002Fstrong> If you don’t create a custom version, the plugin falls back to the automatic on-the-fly conversion.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>3. Site-Wide AI Instructions (llms.txt)\u003C\u002Fh3>\n\u003Cp>The plugin adds a new main page under ‘Utilities’ with dedicated tabs for configuration and insights. From here, you can create and manage a \u003Ccode>llms.txt\u003C\u002Fcode> file for your entire site.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>What is \u003Ccode>llms.txt\u003C\u002Fcode>?\u003C\u002Fstrong> This is a file, similar to \u003Ccode>robots.txt\u003C\u002Fcode>, that provides general instructions, context, and useful links to AI crawlers. It’s a new standard to help guide LLMs in understanding your site’s content and purpose.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Manage Content:\u003C\u002Fstrong> Use the settings page to write your \u003Ccode>llms.txt\u003C\u002Fcode> content, which will then be served automatically to bots that look for it.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Learn More:\u003C\u002Fstrong> You can find more details on this new standard at \u003Ca href=\"https:\u002F\u002Fllmstxt.org\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fllmstxt.org\u002F\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This combination gives you full control, from automatic optimization to granular, AI-enhanced, per-post content and site-wide AI directives.\u003C\u002Fp>\n\u003Ch3>4. GEO\u002FAIO Insights & Validation\u003C\u002Fh3>\n\u003Cp>The dedicated GEO\u002FAIO Insights tab provides a unique validation mechanism for your site’s AI presence, offering measurable scores (0-100) on how well your brand is understood by Generative Engines.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>The Validation Process\u003C\u002Fstrong>: We ask a Large Language Model (LLM) to complete a “knowledge card” about your site (e.g., brand name, main topics, product categories).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Ground Truth Check\u003C\u002Fstrong>: The AI response is immediately compared with real data extracted from your WordPress database (e.g., site title, author names, WooCommerce categories)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Final Score\u003C\u002Fstrong>: Based on this cross-check, the insight provides a score for brand identity and technical relevance, highlighting exactly where the AI provided incorrect or insufficient data (hallucinations or missing data).\u003C\u002Fli>\n\u003C\u002Ful>\n","Optimise content for generative engines (GEO) by serving custom Markdown and a site-wide llms.txt.",10,574,"2026-03-24T09:45:00.000Z","6.2",[51,20,85,22,69],"llms-txt","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmd4ai.1.3.0.zip",{"slug":88,"name":89,"version":6,"author":90,"author_profile":91,"description":92,"short_description":93,"active_installs":80,"downloaded":94,"rating":95,"num_ratings":96,"last_updated":97,"tested_up_to":14,"requires_at_least":83,"requires_php":98,"tags":99,"homepage":100,"download_link":101,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"one-v-llm-serve","One-V LLM Serve","onevteam","https:\u002F\u002Fprofiles.wordpress.org\u002Fonevteam\u002F","\u003Cp>\u003Cstrong>One-V LLM Serve\u003C\u002Fstrong> makes every public page on your WordPress site available as clean Markdown at the same URL with a \u003Ccode>.md\u003C\u002Fcode> extension — zero configuration required.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>https:\u002F\u002Fexample.com\u002Fabout\u002F      \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">←\u003C\u002Fspan> HTML page for humans\nhttps:\u002F\u002Fexample.com\u002Fabout.md    \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">←\u003C\u002Fspan> clean Markdown for AI\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>AI systems — ChatGPT, Perplexity, ClaudeBot, Google AI Overviews, and most RAG pipelines — parse Markdown far more efficiently than HTML. When these systems encounter an HTML page, they must strip navigation, headers, footers, sidebars, scripts, and tracking pixels before they can read the actual content. This noise introduces errors, increases token cost, and leads to lower-quality outputs.\u003C\u002Fp>\n\u003Cp>The Markdown file contains a configurable YAML frontmatter block followed by the page title, headings in correct hierarchy, and the body text. Nothing else.\u003C\u002Fp>\n\u003Ch4>Core features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Zero-config Markdown endpoint\u003C\u002Fstrong> for every public post, page, and custom post type\u003C\u002Fli>\n\u003Cli>\u003Cstrong>YAML frontmatter\u003C\u002Fstrong> with configurable fields (\u003Ccode>title\u003C\u002Fcode>, \u003Ccode>date\u003C\u002Fcode>, \u003Ccode>modified\u003C\u002Fcode>, \u003Ccode>url\u003C\u002Fcode>, \u003Ccode>description\u003C\u002Fcode>, \u003Ccode>image\u003C\u002Fcode>, \u003Ccode>tags\u003C\u002Fcode>, \u003Ccode>categories\u003C\u002Fcode>, \u003Ccode>lang\u003C\u002Fcode>, \u003Ccode>type\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ccode>\u002Fllms.txt\u003C\u002Fcode> discovery file\u003C\u002Fstrong> at the site root following the \u003Ca href=\"https:\u002F\u002Fllmstxt.org\" rel=\"nofollow ugc\">llmstxt.org\u003C\u002Fa> convention\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Taxonomy archives\u003C\u002Fstrong> as Markdown — \u003Ccode>\u002Fcategory\u002Fnews.md\u003C\u002Fcode>, \u003Ccode>\u002Ftag\u002Ffoo.md\u003C\u002Fcode>, custom taxonomies\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ccode>?format=markdown\u003C\u002Fcode> query parameter\u003C\u002Fstrong> as an alternative to the \u003Ccode>.md\u003C\u002Fcode> URL on any singular page\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Per-post exclude\u003C\u002Fstrong> via a sidebar checkbox on the post editor\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Works with Classic Editor and Gutenberg\u003C\u002Fstrong> via the \u003Ccode>the_content\u003C\u002Fcode> filter\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ACF integration\u003C\u002Fstrong> — opt-in per-post: pick which text, textarea, WYSIWYG, URL, email, or link fields to append below the body\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Filterable AI analytics\u003C\u002Fstrong> — per-hit events with full denormalised dimensions (UA bucket, referrer host, language, post type, response code), sticky filter bar that drives every chart and table live, six KPI tiles, a stacked-area time chart, three composition donuts (UA bucket \u002F referrer source \u002F language), four Top tables, a User-Agent classifier transparency table, and a Recent Activity stream. Referrers are tracked by \u003Cstrong>hostname only\u003C\u002Fstrong> — paths and query strings are stripped before storage so no PII is retained. Forward-compatible classification: when the bot or referrer catalogue is updated in a future release, historical rows are reclassified automatically — no Reset Analytics required.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Browser-bucket sub-classification\u003C\u002Fstrong> — anything that \u003Cem>looks\u003C\u002Fem> like a browser visit gets split into four kinds based on the \u003Ccode>Sec-Fetch-Site\u003C\u002Fcode>, \u003Ccode>Sec-Fetch-User\u003C\u002Fcode>, and \u003Ccode>Sec-CH-UA\u003C\u002Fcode> request headers a real browser sends: \u003Cstrong>verified user\u003C\u002Fstrong> (top-level navigation triggered by a click or address-bar Enter in a recognised browser), \u003Cstrong>headed agent\u003C\u002Fstrong> (real Chromium driven programmatically — Playwright, Puppeteer, Selenium), \u003Cstrong>script agent\u003C\u002Fstrong> (bare HTTP client imitating a browser UA — \u003Ccode>requests\u003C\u002Fcode>, \u003Ccode>httpx\u003C\u002Fcode>, LangChain, custom agents), \u003Cstrong>spoofer\u003C\u002Fstrong> (UA shape that no real browser would emit, like modern Chrome with a non-reduced UA). Visible as a stacked-bar breakdown on the User-Agents subpage so you can see at a glance how much of your “human” traffic is actually automation, and rendered inline as colour-coded slugs on every browser-bucket row in the Recent Activity table on the Analytics page. Detection is server-side fingerprinting of the request itself — no cookies, no JS, no IP.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Discoverability\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>\u003Ccode>Link: rel=\"alternate\"; type=\"text\u002Fmarkdown\"\u003C\u002Fcode>\u003C\u002Fstrong> HTTP header on every HTML page\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ccode>\u003Clink rel=\"alternate\">\u003C\u002Fcode>\u003C\u002Fstrong> tag in \u003Ccode>\u003Chead>\u003C\u002Fcode> for HTML-based discovery\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ccode>Allow: \u002F*.md$\u003C\u002Fcode>\u003C\u002Fstrong> directive in \u003Ccode>robots.txt\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>CORS \u003Ccode>Access-Control-Allow-Origin: *\u003C\u002Fcode>\u003C\u002Fstrong> on \u003Ccode>.md\u003C\u002Fcode> and \u003Ccode>\u002Fllms.txt\u003C\u002Fcode> so browser-based AI clients can fetch them\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Operations\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Transient caching\u003C\u002Fstrong> with automatic invalidation on \u003Ccode>save_post\u003C\u002Fcode>, on ACF field value saves, on any ACF field group change, and on plugin settings save\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“Clear cache” button\u003C\u002Fstrong> in the settings page\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin notice\u003C\u002Fstrong> on fallback HTTP fetch failures\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“Settings” link\u003C\u002Fstrong> next to the plugin row in Plugins screen\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“View .md” row action\u003C\u002Fstrong> in the Posts and Pages list tables\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Developer hooks\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>\u003Ccode>ovls_markdown\u003C\u002Fcode>\u003C\u002Fstrong> filter for the final Markdown output\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ccode>ovls_frontmatter\u003C\u002Fcode>\u003C\u002Fstrong> filter for adding, removing, or modifying frontmatter fields\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ccode>ovls_content_queries\u003C\u002Fcode>\u003C\u002Fstrong> filter for the HTML extraction XPath cascade\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How it works\u003C\u002Fh4>\n\u003Cp>Each request to \u003Ccode>\u002Fabout.md\u003C\u002Fcode> is captured by a WordPress rewrite rule and routed through the plugin’s content generator. The generator runs the post through \u003Ccode>apply_filters( 'the_content', ... )\u003C\u002Fcode> — the same pipeline WordPress uses on the front end — so Classic Editor, Gutenberg, and shortcodes all work without separate code paths. The rendered HTML is converted to Markdown via \u003Ccode>league\u002Fhtml-to-markdown\u003C\u002Fcode>, then cached in a WordPress transient.\u003C\u002Fp>\n\u003Cp>The cache is invalidated automatically on \u003Ccode>save_post\u003C\u002Fcode>, on ACF field\u002Fgroup changes, and whenever plugin settings are saved. A manual \u003Cstrong>Clear cache\u003C\u002Fstrong> button is also available on the settings page.\u003C\u002Fp>\n\u003Ch4>Access methods\u003C\u002Fh4>\n\u003Cp>There are three equivalent ways to request the Markdown version of a page:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>.md\u003C\u002Fcode> extension — \u003Ccode>https:\u002F\u002Fexample.com\u002Fabout.md\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>?format=markdown\u003C\u002Fcode> query — \u003Ccode>https:\u002F\u002Fexample.com\u002Fabout\u002F?format=markdown\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>Link: rel=\"alternate\"\u003C\u002Fcode> header — returned by every HTML page\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The \u003Ccode>.md\u003C\u002Fcode> URL is the recommended canonical form.\u003C\u002Fp>\n\u003Ch4>ACF integration\u003C\u002Fh4>\n\u003Cp>When \u003Ca href=\"https:\u002F\u002Fwww.advancedcustomfields.com\u002F\" rel=\"nofollow ugc\">Advanced Custom Fields\u003C\u002Fa> is active, ACF field rendering is opt-in at two levels:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Site defaults per post type\u003C\u002Fstrong> — at \u003Cstrong>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> One-V LLM Serve \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> ACF Defaults\u003C\u002Fstrong>, tick fields that should be appended to every post of a given post type.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Per-post override\u003C\u002Fstrong> — the \u003Cstrong>One-V LLM Serve\u003C\u002Fstrong> metabox on each post editor lists every supported ACF field applicable to that post. Tick fields to replace the site defaults for that one post.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Supported ACF types: \u003Ccode>text\u003C\u002Fcode>, \u003Ccode>textarea\u003C\u002Fcode>, \u003Ccode>wysiwyg\u003C\u002Fcode>, \u003Ccode>url\u003C\u002Fcode>, \u003Ccode>email\u003C\u002Fcode>, \u003Ccode>link\u003C\u002Fcode>. Each selected field is rendered under a \u003Ccode>## Field Label\u003C\u002Fcode> heading. Empty fields are skipped.\u003C\u002Fp>\n\u003Ch3>Disclaimer\u003C\u002Fh3>\n\u003Cp>This plugin is provided “as is”, without warranty of any kind, express or implied, in accordance with the GNU General Public License v2 or later. The authors and contributors are not liable for any direct, indirect, incidental, special, or consequential damages — including but not limited to data loss, lost profits, business interruption, search-ranking changes, or third-party claims — arising from the use of, or inability to use, this software, even if advised of the possibility of such damages.\u003C\u002Fp>\n\u003Cp>By installing and activating the plugin you acknowledge that:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>You are responsible for testing the plugin in a staging environment before deploying to production.\u003C\u002Fli>\n\u003Cli>You are responsible for the content this plugin exposes as Markdown — \u003Ccode>.md\u003C\u002Fcode> URLs and \u003Ccode>\u002Fllms.txt\u003C\u002Fcode> serve the same content as their HTML counterparts and are intended to be crawled and consumed by AI systems and third-party LLMs.\u003C\u002Fli>\n\u003Cli>The plugin does not transmit data to any external service. All Markdown generation, caching, and file writes happen on your own server.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Nothing in this disclaimer is intended to exclude or limit liability for matters that cannot lawfully be excluded under the consumer-protection laws of your jurisdiction. For the full legal terms see the GPLv2 license at \u003Ca href=\"https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-2.0.html\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-2.0.html\u003C\u002Fa>.\u003C\u002Fp>\n","Serve clean Markdown versions of every public page at the same URL with a .md extension for AI crawlers, LLMs, and GEO optimization.",236,90,8,"2026-07-14T08:27:00.000Z","8.0",[51,20,21,22,69],"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fone-v-llm-serve\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fone-v-llm-serve.1.1.1.zip",{"slug":103,"name":104,"version":105,"author":106,"author_profile":107,"description":108,"short_description":109,"active_installs":110,"downloaded":111,"rating":25,"num_ratings":112,"last_updated":113,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":114,"homepage":117,"download_link":118,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"llm-markdown","LLM Markdown – Expose Content as .md","1.0.1","Michael Sablone","https:\u002F\u002Fprofiles.wordpress.org\u002Fmichaelsablone\u002F","\u003Cp>LLM Markdown exposes your public WordPress posts and pages as real \u003Ccode>.md\u003C\u002Fcode> routes.  Simply append .md to any supported post or page URL to access its Markdown representation.\u003C\u002Fp>\n\u003Cp>Each Markdown document includes structured YAML front matter and clean content extracted from the rendered HTML.\u003C\u002Fp>\n\u003Cp>Designed for:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>LLM and AI ingestion\u003C\u002Fli>\n\u003Cli>Headless and hybrid workflows\u003C\u002Fli>\n\u003Cli>Content export pipelines\u003C\u002Fli>\n\u003Cli>SEO-friendly alternate representations\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>https:\u002F\u002Fexample.com\u002Fmy-post.md\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Real \u003Ccode>.md\u003C\u002Fcode> URLs\u003C\u002Fli>\n\u003Cli>YAML front matter (title, dates, taxonomy, URL)\u003C\u002Fli>\n\u003Cli>Selector-based content extraction\u003C\u002Fli>\n\u003Cli>Respects password protection\u003C\u002Fli>\n\u003Cli>Optional respect for noindex\u003C\u002Fli>\n\u003Cli>Per-post-type control\u003C\u002Fli>\n\u003Cli>Caching for performance\u003C\u002Fli>\n\u003Cli>Adds \u003Ccode>\u003Clink rel=\"alternate\" type=\"text\u002Fmarkdown\">\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>No Gutenberg lock-in. No content duplication. No custom post types required.\u003C\u002Fp>\n","Expose WordPress posts and pages as real .md URLs with YAML front matter for LLMs, AI ingestion, and headless workflows.",400,1234,5,"2026-05-28T02:05:00.000Z",[51,115,116,21,22],"content-export","headless","https:\u002F\u002Fcompiledrogue.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fllm-markdown.1.0.1.zip",{"error":120,"url":121,"statusCode":122,"statusMessage":123,"message":123},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fmarkdown-negotiator\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":32,"versions":125},[126],{"version":6,"download_url":24,"svn_tag_url":127,"released_at":26,"has_diff":128,"diff_files_changed":129,"diff_lines":26,"trac_diff_url":26,"vulnerabilities":130,"is_current":120},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmarkdown-negotiator\u002Ftags\u002F1.1.1\u002F",false,[],[]]