[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fLadZdcl2JIaVz1D4_txwL5n5h-BbJ7CZdPzY50vPq8o":3,"$fdkEGJQ5slzicOmTCaQbOBDmao_MbLx4V1WP5timAmm0":322,"$fNHIvE0vYYxt-CnHiUcm8jXNcJsjbh5Am1zL4HgOqp1Y":327},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"discovery_status":29,"vulnerabilities":30,"developer":31,"crawl_stats":27,"alternatives":37,"analysis":121,"fingerprints":300},"mescio-for-agents","Mescio for Agents","1.6.5","Mescio","https:\u002F\u002Fprofiles.wordpress.org\u002Fvinsmach\u002F","\u003Cp>\u003Cstrong>Mescio for Agents\u003C\u002Fstrong> 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 \u003Ccode>Accept: text\u002Fmarkdown\u003C\u002Fcode> content negotiation header.\u003C\u002Fp>\n\u003Cp>Human visitors using a browser are \u003Cstrong>completely unaffected\u003C\u002Fstrong>. Mescio for Agents only activates when an AI agent or crawler explicitly asks for Markdown.\u003C\u002Fp>\n\u003Ch4>Why Markdown?\u003C\u002Fh4>\n\u003Cp>Feeding raw HTML to an AI is expensive and noisy. A heading like \u003Ccode>## About Us\u003C\u002Fcode> costs ~3 tokens in Markdown vs 12–15 tokens as HTML — before accounting for \u003Ccode>\u003Cdiv>\u003C\u002Fcode> 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.\u003C\u002Fp>\n\u003Cp>Markdown has become the \u003Cem>lingua franca\u003C\u002Fem> for AI systems. Mescio for Agents lets your site speak it natively, at zero cost to your human visitors.\u003C\u002Fp>\n\u003Ch4>How it works\u003C\u002Fh4>\n\u003Cp>When an HTTP client sends a request with \u003Ccode>Accept: text\u002Fmarkdown\u003C\u002Fcode>, 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 \u003Ccode>Content-Type: text\u002Fmarkdown\u003C\u002Fcode> header.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>curl https:\u002F\u002Fyoursite.com\u002Fyour-post\u002F \\\n  -H \"Accept: text\u002Fmarkdown\"\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Zero configuration\u003C\u002Fstrong> — works out of the box on any singular post, page or custom post type\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ccode>\u002Fllms.txt\u003C\u002Fcode> endpoint\u003C\u002Fstrong> — auto-generated index of all your content in the \u003Ca href=\"https:\u002F\u002Fllmstxt.org\" rel=\"nofollow ugc\">llmstxt.org\u003C\u002Fa> standard format, so AI agents can discover what’s on your site\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ccode>\u002Fllms-full.txt\u003C\u002Fcode> endpoint\u003C\u002Fstrong> — full site content in a single Markdown file, ready for RAG pipelines\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WooCommerce support\u003C\u002Fstrong> — product pages include price, SKU, stock status, rating, attributes and gallery; products are grouped by category in \u003Ccode>llms.txt\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>YAML front matter\u003C\u002Fstrong> — every document includes structured metadata (title, description, URL, date, categories, tags, featured image)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multilingual\u003C\u002Fstrong> — detects language via WPML, Polylang, TranslatePress or WordPress locale; emits \u003Ccode>Content-Language\u003C\u002Fcode> and \u003Ccode>Link: rel=alternate\u003C\u002Fcode> headers\u003C\u002Fli>\n\u003Cli>\u003Cstrong>REST API endpoint\u003C\u002Fstrong> — \u003Ccode>\u002Fwp-json\u002Fmescio-for-agents\u002Fv1\u002Fmarkdown?id=\u003Cpost_id>\u003C\u002Fcode> or \u003Ccode>?url=\u003Cpermalink>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Page builder cleanup\u003C\u002Fstrong> — aggressively strips Elementor, Divi, WPBakery and Beaver Builder layout noise\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Token count header\u003C\u002Fstrong> — \u003Ccode>X-Markdown-Tokens\u003C\u002Fcode> tells AI pipelines how large the document is before processing\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Content Signals\u003C\u002Fstrong> — emits \u003Ccode>Content-Signal: ai-train=yes, search=yes, ai-input=yes\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Correct HTTP caching\u003C\u002Fstrong> — \u003Ccode>Vary: Accept\u003C\u002Fcode> ensures CDNs cache HTML and Markdown versions separately\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Response headers\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>Content-Type: text\u002Fmarkdown; charset=utf-8\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>Content-Language: it\u003C\u002Fcode> (or detected language)\u003C\u002Fli>\n\u003Cli>\u003Ccode>Vary: Accept\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>X-Markdown-Tokens: 725\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>Content-Signal: ai-train=yes, search=yes, ai-input=yes\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>Link: \u003Curl>; rel=\"alternate\"; hreflang=\"en\"\u003C\u002Fcode> (when translations available)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Multilingual plugin support\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>WPML\u003C\u002Fstrong> — reads language and available translations automatically\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Polylang\u003C\u002Fstrong> — reads language and links to translated post IDs\u003C\u002Fli>\n\u003Cli>\u003Cstrong>TranslatePress\u003C\u002Fstrong> — reads \u003Ccode>trp_language\u003C\u002Fcode> post meta\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Manual\u003C\u002Fstrong> — configure primary language and additional languages in Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Mescio for Agents\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>REST API\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>GET \u002Fwp-json\u002Fmescio-for-agents\u002Fv1\u002Fmarkdown?id=42\nGET \u002Fwp-json\u002Fmescio-for-agents\u002Fv1\u002Fmarkdown?url=https:\u002F\u002Fyoursite.com\u002Fmy-page\u002F\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Developer hooks\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Filter: \u003Ccode>mescio_enabled_post_types\u003C\u002Fcode>\u003C\u002Fstrong> — add or remove post types dynamically.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Filter: \u003Ccode>mescio_pre_convert_content\u003C\u002Fcode>\u003C\u002Fstrong> — modify the HTML before conversion to Markdown.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Filter: \u003Ccode>mescio_post_convert_content\u003C\u002Fcode>\u003C\u002Fstrong> — modify the Markdown after conversion.\u003C\u002Fp>\n\u003Ch4>Privacy\u003C\u002Fh4>\n\u003Cp>This plugin does not collect, store or transmit any personal data. It does not set cookies. It does not make external HTTP requests.\u003C\u002Fp>\n","Mescio for Agents serves your WordPress content as clean Markdown to AI agents and GPT crawlers. Human visitors never notice a thing.",20,516,0,"2026-03-16T13:35:00.000Z","6.9.4","6.0","8.0",[19,20,21,22,23],"agents","ai","llm","markdown","rest-api","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmescio-for-agents\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmescio-for-agents.1.6.5.zip",100,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":26,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},"vinsmach",2,30,94,"2026-05-20T06:58:14.724Z",[38,54,72,89,105],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":13,"downloaded":46,"rating":13,"num_ratings":13,"last_updated":47,"tested_up_to":15,"requires_at_least":48,"requires_php":49,"tags":50,"homepage":52,"download_link":53,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"lunatec-article-to-markdown","Lunatec Article to Markdown","1.0.0","lunatecsystemsltd","https:\u002F\u002Fprofiles.wordpress.org\u002Flunatecsystemsltd\u002F","\u003Cp>This plugin makes your WordPress posts accessible to AI agents, LLMs, and other automated systems by providing a clean, structured Markdown version of the content. It’s designed to work out of the box with zero configuration.\u003C\u002Fp>\n\u003Cp>Features:\u003Cbr \u002F>\n*   Append \u003Ccode>.md\u003C\u002Fcode> to any single post URL to get the Markdown version (e.g., \u003Ccode>\u002Fmy-post.md\u003C\u002Fcode>).\u003Cbr \u002F>\n*   Responds with Markdown for requests with an \u003Ccode>Accept: text\u002Fmarkdown\u003C\u002Fcode> header.\u003Cbr \u002F>\n*   Adds a \u003Ccode>\u003Clink rel=\"alternate\">\u003C\u002Fcode> tag to your posts for automatic discovery by crawlers.\u003Cbr \u002F>\n*   Includes post metadata (title, author, date, tags, categories) as YAML front matter.\u003C\u002Fp>\n","Exposes a clean Markdown version of WordPress posts for AI agents, LLMs, and crawlers.",143,"2026-01-27T15:28:00.000Z","6.2","8.1",[20,51,21,22,23],"content","https:\u002F\u002Fgithub.com\u002Ffujahgabriel\u002FLunatec-Article-to-Markdown","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flunatec-article-to-markdown.1.0.0.zip",{"slug":55,"name":56,"version":57,"author":58,"author_profile":59,"description":60,"short_description":61,"active_installs":26,"downloaded":62,"rating":13,"num_ratings":13,"last_updated":63,"tested_up_to":15,"requires_at_least":64,"requires_php":65,"tags":66,"homepage":70,"download_link":71,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"jumpsuitai-llms-txt","JumpsuitAI – llms.txt + Markdown Endpoints","1.1.4","Brad Phillips","https:\u002F\u002Fprofiles.wordpress.org\u002Fbradphillips\u002F","\u003Cp>JumpsuitAI – llms.txt + Markdown Endpoints automatically publishes:\u003C\u002Fp>\n\u003Cp>Plugin website: https:\u002F\u002Fjumpsuitai.com\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>\u002Fllms.txt\u003C\u002Fstrong> — a structured list of links to your public content\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u002Fllms-full.txt\u003C\u002Fstrong> — the entire documentation in a single file (optional, enable in settings)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>.md endpoints\u003C\u002Fstrong> — request a public URL with \u003Cstrong>.md\u003C\u002Fstrong> appended to get a lightweight Markdown representation\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>It also includes a simple \u003Cstrong>Groups & Content\u003C\u002Fstrong> screen to keep your output organized with sensible defaults (Pages and Posts), plus per-item controls like \u003Cstrong>Hide from LLMs\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>Pro (separate plugin)\u003C\u002Fh4>\n\u003Cp>JumpsuitAI – llms.txt + Markdown Endpoints Pro adds:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Custom groups and manual ordering\u003C\u002Fli>\n\u003Cli>Per-item short descriptions\u003C\u002Fli>\n\u003Cli>Optional section support\u003C\u002Fli>\n\u003Cli>Custom intro text and blockquote customization\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin uses Freemius for plugin updates and (optional) usage analytics. Any data collection is opt-in.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Service: Freemius\u003C\u002Fli>\n\u003Cli>Terms: https:\u002F\u002Ffreemius.com\u002Fterms\u002F\u003C\u002Fli>\n\u003Cli>Privacy: https:\u002F\u002Ffreemius.com\u002Fprivacy\u002F\u003C\u002Fli>\n\u003C\u002Ful>\n","Generate \u002Fllms.txt, \u002Fllms-full.txt & .md endpoints for AI\u002FLLMs in WordPress. Works with Yoast SEO, Rank Math, SEOPress & All in One SEO.",774,"2026-02-17T01:43:00.000Z","5.0","7.2",[20,67,68,22,69],"content-discovery","llms-txt","seo","https:\u002F\u002Fjumpsuitai.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fjumpsuitai-llms-txt.1.1.4.zip",{"slug":73,"name":74,"version":41,"author":75,"author_profile":76,"description":77,"short_description":78,"active_installs":79,"downloaded":80,"rating":13,"num_ratings":13,"last_updated":81,"tested_up_to":15,"requires_at_least":82,"requires_php":83,"tags":84,"homepage":87,"download_link":88,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"markdown-for-ai-agents","Markdown for AI Agents","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.",40,241,"2026-03-09T01:32:00.000Z","6.9","7.4",[20,85,21,22,86],"content-negotiation","rag","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmarkdown-for-ai-agents.1.0.0.zip",{"slug":90,"name":91,"version":41,"author":92,"author_profile":93,"description":94,"short_description":95,"active_installs":11,"downloaded":96,"rating":26,"num_ratings":97,"last_updated":98,"tested_up_to":15,"requires_at_least":16,"requires_php":83,"tags":99,"homepage":102,"download_link":103,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":104},"llm-markdown","LLM Markdown – Expose Content as .md","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.",238,1,"2026-02-26T22:46:00.000Z",[20,100,101,21,22],"content-export","headless","https:\u002F\u002Fcompiledrogue.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fllm-markdown.1.0.0.zip","2026-04-06T09:54:40.288Z",{"slug":106,"name":107,"version":108,"author":109,"author_profile":110,"description":111,"short_description":112,"active_installs":113,"downloaded":114,"rating":13,"num_ratings":13,"last_updated":115,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":116,"homepage":119,"download_link":120,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"ai-ready-wp","AI-Ready WP","4.1.0","studiomeyerio","https:\u002F\u002Fprofiles.wordpress.org\u002Fstudiomeyerio\u002F","\u003Cp>\u003Cstrong>AI-Ready WP\u003C\u002Fstrong> makes your WordPress site discoverable by AI agents and search engines. It generates the files and metadata that AI systems look for when trying to understand what your site offers.\u003C\u002Fp>\n\u003Cp>As AI agents become the new way people find businesses online, your site needs to speak their language. AI-Ready WP handles this automatically.\u003C\u002Fp>\n\u003Ch4>What It Does\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>AI Discovery\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>agents.json\u003C\u002Fstrong> — AI Agent Discovery standard (\u002F.well-known\u002Fagents.json). Tells AI systems what your site offers and how to interact with it.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>agent-card.json\u003C\u002Fstrong> — A2A Protocol (Agent-to-Agent) for agent interoperability (\u002F.well-known\u002Fagent-card.json).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>llms.txt\u003C\u002Fstrong> — LLM-readable content index (\u002Fllms.txt + \u002Fllms-full.txt). Like a sitemap for AI.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>JSON-LD schemas\u003C\u002Fstrong> — Organization\u002FLocalBusiness, WebSite with SearchAction, BreadcrumbList, FAQPage.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>REST API\u003C\u002Fstrong> — Endpoints for AI agents (\u002Fwp-json\u002Fairewp\u002Fv1\u002F).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>AI Bot Management\u003C\u002Fstrong> — Granular robots.txt control for 20+ AI bots. Block training bots, allow search bots.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>AI Crawler Analytics\u003C\u002Fstrong> — Track which AI bots visit your site and how often.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>IndexNow\u003C\u002Fstrong> — Instant indexing notifications to Bing and Yandex on content changes.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WP Abilities API\u003C\u002Fstrong> — Machine-readable abilities for the WordPress MCP Adapter (WP 6.9+).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>AI-Readiness Score\u003C\u002Fstrong> — Dashboard widget with 11 readiness checks.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>16 industry presets\u003C\u002Fstrong> — Restaurant, real estate, e-commerce, SaaS, agency, medical, legal, and more.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Auto-regeneration\u003C\u002Fstrong> — Files update automatically on content changes and daily via WP-Cron.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>SEO\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Meta title and description per page\u002Fpost (editor meta box).\u003C\u002Fli>\n\u003Cli>OpenGraph tags (og:title, og:description, og:image, og:type).\u003C\u002Fli>\n\u003Cli>Twitter Card tags (summary_large_image).\u003C\u002Fli>\n\u003Cli>Canonical URL override per page.\u003C\u002Fli>\n\u003Cli>Robots meta (noindex\u002Fnofollow) per page.\u003C\u002Fli>\n\u003Cli>XML Sitemap generation (\u002Fsitemap.xml).\u003C\u002Fli>\n\u003Cli>Focus keyword analysis with 6-point checklist (title, URL, meta, density, length, intro).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Who Is This For?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Business owners\u003C\u002Fstrong> who want their site found by ChatGPT, Claude, Perplexity, and other AI assistants.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Agencies\u003C\u002Fstrong> building client sites that need to be future-proof for AI discovery.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Developers\u003C\u002Fstrong> who want a lightweight, well-coded AI discovery solution.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How It Works\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Install and activate the plugin.\u003C\u002Fli>\n\u003Cli>Go to Settings > AI-Ready.\u003C\u002Fli>\n\u003Cli>Fill in your business information.\u003C\u002Fli>\n\u003Cli>Enable the features you need.\u003C\u002Fli>\n\u003Cli>Everything generates and updates automatically.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Your site immediately becomes discoverable by AI agents through standardized protocols.\u003C\u002Fp>\n\u003Ch3>Third-Party Services\u003C\u002Fh3>\n\u003Cp>This plugin connects to the following external service:\u003C\u002Fp>\n\u003Ch4>IndexNow API\u003C\u002Fh4>\n\u003Cp>When IndexNow is enabled, the plugin notifies search engines about content changes for faster indexing:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Service URLs:\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>\u003Ccode>https:\u002F\u002Fapi.indexnow.org\u002Findexnow\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>https:\u002F\u002Fwww.bing.com\u002Findexnow\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data sent:\u003C\u002Fstrong> Your site URL, the URLs of changed pages, and your IndexNow key\u003C\u002Fli>\n\u003Cli>\u003Cstrong>When:\u003C\u002Fstrong> On content publish or update\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Purpose:\u003C\u002Fstrong> Faster search engine indexing by Bing, Yandex, and other participating search engines\u003C\u002Fli>\n\u003Cli>\u003Cstrong>IndexNow:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwww.indexnow.org\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.indexnow.org\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>IndexNow Terms of Use:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwww.indexnow.org\u002Fterms\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.indexnow.org\u002Fterms\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>IndexNow Privacy:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwww.indexnow.org\u002Fprivacy\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.indexnow.org\u002Fprivacy\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bing IndexNow:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwww.bing.com\u002Findexnow\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.bing.com\u002Findexnow\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Microsoft Privacy Statement:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fprivacy.microsoft.com\u002Fen-us\u002Fprivacystatement\" rel=\"nofollow ugc\">https:\u002F\u002Fprivacy.microsoft.com\u002Fen-us\u002Fprivacystatement\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>IndexNow is enabled by default but can be disabled in Settings > AI-Ready. No other external connections are made.\u003C\u002Fp>\n","Make your WordPress site discoverable by AI agents. Generates agents.json, agent-card.json, llms.txt, JSON-LD schemas, SEO meta tags, and more.",10,287,"2026-03-12T18:37:00.000Z",[19,20,117,69,118],"llms","structured-data","https:\u002F\u002Fstudiomeyer.io\u002Fstore\u002Fai-ready-wp","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fai-ready-wp.4.1.0.zip",{"attackSurface":122,"codeSignals":185,"taintFlows":227,"riskAssessment":287,"analyzedAt":299},{"hooks":123,"ajaxHandlers":181,"restRoutes":182,"shortcodes":183,"cronEvents":184,"entryPointCount":13,"unprotectedCount":13},[124,130,135,139,143,147,151,155,158,162,164,166,170,174,178],{"type":125,"name":126,"callback":127,"file":128,"line":129},"filter","rest_pre_serve_request","closure","includes\u002Fclass-rest-api.php",101,{"type":131,"name":132,"callback":132,"file":133,"line":134},"action","init","mescio-for-agents.php",43,{"type":131,"name":136,"callback":137,"priority":97,"file":133,"line":138},"template_redirect","maybe_serve_markdown",70,{"type":131,"name":140,"callback":141,"file":133,"line":142},"rest_api_init","register_routes",73,{"type":125,"name":144,"callback":145,"priority":113,"file":133,"line":146},"rest_pre_dispatch","rest_rate_limit",74,{"type":125,"name":148,"callback":149,"priority":113,"file":133,"line":150},"rest_post_dispatch","rest_429_headers",76,{"type":125,"name":152,"callback":153,"file":133,"line":154},"query_vars","add_query_var",80,{"type":131,"name":136,"callback":156,"file":133,"line":157},"serve",81,{"type":131,"name":159,"callback":160,"priority":97,"file":133,"line":161},"parse_request","early_intercept",83,{"type":125,"name":152,"callback":153,"file":133,"line":163},87,{"type":131,"name":136,"callback":156,"file":133,"line":165},88,{"type":131,"name":167,"callback":168,"file":133,"line":169},"admin_menu","register_menu",91,{"type":131,"name":171,"callback":172,"file":133,"line":173},"admin_init","register_settings",92,{"type":131,"name":175,"callback":176,"file":133,"line":177},"add_meta_boxes","register_metabox",93,{"type":131,"name":179,"callback":180,"file":133,"line":35},"save_post","save_metabox",[],[],[],[],{"dangerousFunctions":186,"sqlUsage":197,"outputEscaping":199,"fileOperations":13,"externalRequests":13,"nonceChecks":97,"capabilityChecks":33,"bundledLibraries":226},[187,192,195],{"fn":188,"file":189,"line":190,"context":191},"preg_replace(\u002Fe)","includes\u002Fclass-markdown-generator.php",144,"preg_replace( '\u002F\\[et_pb_[^\\]]*\\].*?\\[\\\u002Fe",{"fn":188,"file":189,"line":193,"context":194},146,"preg_replace( '\u002F\\[\\\u002Fe",{"fn":188,"file":189,"line":80,"context":196},"preg_replace( '\u002F\u003Cem[^>]*>(.*?)\u003C\\\u002Fe",{"prepared":13,"raw":13,"locations":198},[],{"escaped":200,"rawEcho":113,"locations":201},207,[202,206,208,210,212,214,217,219,222,224],{"file":203,"line":204,"context":205},"includes\u002Fclass-admin.php",183,"raw output",{"file":203,"line":207,"context":205},219,{"file":203,"line":209,"context":205},415,{"file":203,"line":211,"context":205},435,{"file":203,"line":213,"context":205},439,{"file":215,"line":216,"context":205},"includes\u002Fclass-agents-txt.php",68,{"file":218,"line":207,"context":205},"includes\u002Fclass-llms-endpoints.php",{"file":220,"line":221,"context":205},"includes\u002Fclass-rate-limiter.php",278,{"file":128,"line":223,"context":205},105,{"file":133,"line":225,"context":205},164,[],[228,248,256,276],{"entryPoint":229,"graph":230,"unsanitizedCount":246,"severity":247},"serve (includes\u002Fclass-llms-endpoints.php:98)",{"nodes":231,"edges":243},[232,237],{"id":233,"type":234,"label":235,"file":218,"line":236},"n0","source","$_GET (x3)",122,{"id":238,"type":239,"label":240,"file":218,"line":241,"wp_function":242},"n1","sink","header() [Header Injection]",208,"header",[244],{"from":233,"to":238,"sanitized":245},false,3,"medium",{"entryPoint":249,"graph":250,"unsanitizedCount":246,"severity":247},"\u003Cclass-llms-endpoints> (includes\u002Fclass-llms-endpoints.php:0)",{"nodes":251,"edges":254},[252,253],{"id":233,"type":234,"label":235,"file":218,"line":236},{"id":238,"type":239,"label":240,"file":218,"line":241,"wp_function":242},[255],{"from":233,"to":238,"sanitized":245},{"entryPoint":257,"graph":258,"unsanitizedCount":275,"severity":247},"maybe_serve_markdown (mescio-for-agents.php:104)",{"nodes":259,"edges":272},[260,263,265,268],{"id":233,"type":234,"label":261,"file":133,"line":262},"$_SERVER (x3)",123,{"id":238,"type":239,"label":240,"file":133,"line":264,"wp_function":242},148,{"id":266,"type":234,"label":267,"file":133,"line":262},"n2","$_SERVER",{"id":269,"type":239,"label":270,"file":133,"line":225,"wp_function":271},"n3","echo() [XSS]","echo",[273,274],{"from":233,"to":238,"sanitized":245},{"from":266,"to":269,"sanitized":245},4,{"entryPoint":277,"graph":278,"unsanitizedCount":275,"severity":247},"\u003Cmescio-for-agents> (mescio-for-agents.php:0)",{"nodes":279,"edges":284},[280,281,282,283],{"id":233,"type":234,"label":261,"file":133,"line":262},{"id":238,"type":239,"label":240,"file":133,"line":264,"wp_function":242},{"id":266,"type":234,"label":267,"file":133,"line":262},{"id":269,"type":239,"label":270,"file":133,"line":225,"wp_function":271},[285,286],{"from":233,"to":238,"sanitized":245},{"from":266,"to":269,"sanitized":245},{"summary":288,"deductions":289},"The mescio-for-agents plugin v1.6.5 exhibits a generally strong security posture based on the provided static analysis and vulnerability history. The absence of known CVEs and a clean vulnerability history are highly positive indicators.  Furthermore, the plugin demonstrates good development practices with 100% of SQL queries using prepared statements and a high percentage of output being properly escaped. The presence of nonce and capability checks, though limited in number, is also a positive sign.",[290,292,295,297],{"reason":291,"points":113},"Dangerous function preg_replace(\u002Fe) usage",{"reason":293,"points":294},"Flows with unsanitized paths found",8,{"reason":296,"points":33},"Limited number of capability checks",{"reason":298,"points":33},"Limited number of nonce checks","2026-04-16T11:27:26.155Z",{"wat":301,"direct":310},{"assetPaths":302,"generatorPatterns":305,"scriptPaths":306,"versionParams":307},[303,304],"\u002Fwp-content\u002Fplugins\u002Fmescio-for-agents\u002Fincludes\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fmescio-for-agents\u002Fincludes\u002Fadmin.js",[],[304],[308,309],"mescio-for-agents\u002Fincludes\u002Fadmin.css?ver=","mescio-for-agents\u002Fincludes\u002Fadmin.js?ver=",{"cssClasses":311,"htmlComments":313,"htmlAttributes":314,"restEndpoints":316,"jsGlobals":319,"shortcodeOutput":321},[312],"mescio-metabox",[],[315],"data-mescio-enabled",[317,318],"\u002Fmescio-for-agents\u002Fv1\u002Fsettings","\u002Fmescio-for-agents\u002Fv1\u002Fpost-type-options",[320],"MescioAdmin",[],{"error":323,"url":324,"statusCode":325,"statusMessage":326,"message":326},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fmescio-for-agents\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":113,"versions":328},[329,334,341,348,355,362,369,376,383,390],{"version":6,"download_url":25,"svn_tag_url":330,"released_at":27,"has_diff":245,"diff_files_changed":331,"diff_lines":27,"trac_diff_url":332,"vulnerabilities":333,"is_current":323},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmescio-for-agents\u002Ftags\u002F1.6.5\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmescio-for-agents%2Ftags%2F1.6.4&new_path=%2Fmescio-for-agents%2Ftags%2F1.6.5",[],{"version":335,"download_url":336,"svn_tag_url":337,"released_at":27,"has_diff":245,"diff_files_changed":338,"diff_lines":27,"trac_diff_url":339,"vulnerabilities":340,"is_current":245},"1.6.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmescio-for-agents.1.6.4.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmescio-for-agents\u002Ftags\u002F1.6.4\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmescio-for-agents%2Ftags%2F1.6.3&new_path=%2Fmescio-for-agents%2Ftags%2F1.6.4",[],{"version":342,"download_url":343,"svn_tag_url":344,"released_at":27,"has_diff":245,"diff_files_changed":345,"diff_lines":27,"trac_diff_url":346,"vulnerabilities":347,"is_current":245},"1.6.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmescio-for-agents.1.6.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmescio-for-agents\u002Ftags\u002F1.6.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmescio-for-agents%2Ftags%2F1.6.2&new_path=%2Fmescio-for-agents%2Ftags%2F1.6.3",[],{"version":349,"download_url":350,"svn_tag_url":351,"released_at":27,"has_diff":245,"diff_files_changed":352,"diff_lines":27,"trac_diff_url":353,"vulnerabilities":354,"is_current":245},"1.6.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmescio-for-agents.1.6.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmescio-for-agents\u002Ftags\u002F1.6.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmescio-for-agents%2Ftags%2F1.6.1&new_path=%2Fmescio-for-agents%2Ftags%2F1.6.2",[],{"version":356,"download_url":357,"svn_tag_url":358,"released_at":27,"has_diff":245,"diff_files_changed":359,"diff_lines":27,"trac_diff_url":360,"vulnerabilities":361,"is_current":245},"1.6.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmescio-for-agents.1.6.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmescio-for-agents\u002Ftags\u002F1.6.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmescio-for-agents%2Ftags%2F1.6.0&new_path=%2Fmescio-for-agents%2Ftags%2F1.6.1",[],{"version":363,"download_url":364,"svn_tag_url":365,"released_at":27,"has_diff":245,"diff_files_changed":366,"diff_lines":27,"trac_diff_url":367,"vulnerabilities":368,"is_current":245},"1.6.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmescio-for-agents.1.6.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmescio-for-agents\u002Ftags\u002F1.6.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmescio-for-agents%2Ftags%2F1.5.0&new_path=%2Fmescio-for-agents%2Ftags%2F1.6.0",[],{"version":370,"download_url":371,"svn_tag_url":372,"released_at":27,"has_diff":245,"diff_files_changed":373,"diff_lines":27,"trac_diff_url":374,"vulnerabilities":375,"is_current":245},"1.5.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmescio-for-agents.1.5.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmescio-for-agents\u002Ftags\u002F1.5.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmescio-for-agents%2Ftags%2F1.4.0&new_path=%2Fmescio-for-agents%2Ftags%2F1.5.0",[],{"version":377,"download_url":378,"svn_tag_url":379,"released_at":27,"has_diff":245,"diff_files_changed":380,"diff_lines":27,"trac_diff_url":381,"vulnerabilities":382,"is_current":245},"1.4.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmescio-for-agents.1.4.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmescio-for-agents\u002Ftags\u002F1.4.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmescio-for-agents%2Ftags%2F1.3.0&new_path=%2Fmescio-for-agents%2Ftags%2F1.4.0",[],{"version":384,"download_url":385,"svn_tag_url":386,"released_at":27,"has_diff":245,"diff_files_changed":387,"diff_lines":27,"trac_diff_url":388,"vulnerabilities":389,"is_current":245},"1.3.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmescio-for-agents.1.3.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmescio-for-agents\u002Ftags\u002F1.3.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fmescio-for-agents%2Ftags%2F1.2.3&new_path=%2Fmescio-for-agents%2Ftags%2F1.3.0",[],{"version":391,"download_url":392,"svn_tag_url":393,"released_at":27,"has_diff":245,"diff_files_changed":394,"diff_lines":27,"trac_diff_url":27,"vulnerabilities":395,"is_current":245},"1.2.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmescio-for-agents.1.2.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fmescio-for-agents\u002Ftags\u002F1.2.3\u002F",[],[]]