{"id":261379,"date":"2025-11-18T12:27:44","date_gmt":"2025-11-18T12:27:44","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/md4ai\/"},"modified":"2026-03-24T09:45:47","modified_gmt":"2026-03-24T09:45:47","slug":"md4ai","status":"publish","type":"plugin","link":"https:\/\/kin.wordpress.org\/plugins\/md4ai\/","author":15006385,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.3.0","stable_tag":"1.3.0","tested":"6.9.4","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"md4AI","header_author":"Codekraft","header_description":"Designed to optimise and serve content for generative engines (GEO)","assets_banners_color":"","last_updated":"2026-03-24 09:45:47","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":20,"downloads":376,"num_ratings":0,"support_threads":2,"support_threads_resolved":1,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"codekraft","date":"2025-11-18 12:27:11"},"1.1.0":{"tag":"1.1.0","author":"codekraft","date":"2025-11-22 22:34:22"},"1.2.0":{"tag":"1.2.0","author":"codekraft","date":"2025-12-09 16:33:07"},"1.3.0":{"tag":"1.3.0","author":"codekraft","date":"2026-03-24 09:45:47"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3415617,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3489807,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/wp-admin\\\/tools.php?page=md4ai\",\"preferredVersions\":{\"php\":\"8.4\",\"wp\":\"latest\"},\"features\":{\"networking\":true},\"steps\":[{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"ai-services\"},\"options\":{\"activate\":true}},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"md4ai\"},\"options\":{\"activate\":true}},{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"}]}"}},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.2.0","1.3.0"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2353,2591,244604,4608,186],"plugin_category":[],"plugin_contributors":[133085],"plugin_business_model":[],"class_list":["post-261379","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-geo","plugin_tags-llms-txt","plugin_tags-markdown","plugin_tags-seo","plugin_contributors-codekraft","plugin_committers-codekraft"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/md4ai\/assets\/icon.svg?rev=3415617","icon":"https:\/\/ps.w.org\/md4ai\/assets\/icon.svg?rev=3415617","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>The <strong>md4AI<\/strong> plugin provides a powerful, multi-layered approach to Generative Engine Optimization (GEO).<\/p>\n\n<h3>1. Automatic AI Bot Detection (Zero-Config)<\/h3>\n\n<p>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.<\/p>\n\n<h3>2. Per-Post Custom Markdown (Metabox)<\/h3>\n\n<p>The plugin adds a new metabox to your post and page editor, giving you full control over the AI-optimized version of your content.\nServing an md version of the website is particular useful if your website has editors like Elementor \/ Beaver Builder \/ Divi Builder \/ other div bloated editors because bots usually skips complex and too much nested content.<\/p>\n\n<ul>\n<li><strong>Generate Custom Markdown:<\/strong> Convert your post's content into Markdown with one click.<\/li>\n<li><strong>Manually Edit:<\/strong> Modify and enhance the Markdown to be exactly as you want AIs to see it.<\/li>\n<li><strong>(Optional) Enhance with AI:<\/strong> If you also use the <strong><a href=\"https:\/\/wordpress.org\/plugins\/ai-services\/\">AI Services<\/a><\/strong> plugin, you can use the \"Generate with AI\" button to automatically add FAQs, discussion questions, or key takeaways extracted from your post.<\/li>\n<li><strong>Serve Enhanced Content:<\/strong> When an AI bot visits this <em>specific post<\/em>, it will be served your new, custom-tailored Markdown version, giving it far richer data.<\/li>\n<li><strong>Automatic Fallback:<\/strong> If you don't create a custom version, the plugin falls back to the automatic on-the-fly conversion.<\/li>\n<\/ul>\n\n<h3>3. Site-Wide AI Instructions (llms.txt)<\/h3>\n\n<p>The plugin adds a new main page under 'Utilities' with dedicated tabs for configuration and insights. From here, you can create and manage a <code>llms.txt<\/code> file for your entire site.<\/p>\n\n<ul>\n<li><strong>What is <code>llms.txt<\/code>?<\/strong> This is a file, similar to <code>robots.txt<\/code>, 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.<\/li>\n<li><strong>Manage Content:<\/strong> Use the settings page to write your <code>llms.txt<\/code> content, which will then be served automatically to bots that look for it.<\/li>\n<li><strong>Learn More:<\/strong> You can find more details on this new standard at <a href=\"https:\/\/llmstxt.org\/\">https:\/\/llmstxt.org\/<\/a>.<\/li>\n<\/ul>\n\n<p>This combination gives you full control, from automatic optimization to granular, AI-enhanced, per-post content and site-wide AI directives.<\/p>\n\n<h3>4. GEO\/AIO Insights &amp; Validation<\/h3>\n\n<p>The dedicated GEO\/AIO 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.<\/p>\n\n<ul>\n<li><strong>The Validation Process<\/strong>: We ask a Large Language Model (LLM) to complete a \"knowledge card\" about your site (e.g., brand name, main topics, product categories).<\/li>\n<li><strong>Ground Truth Check<\/strong>: The AI response is immediately compared with real data extracted from your WordPress database (e.g., site title, author names, WooCommerce categories)<\/li>\n<li><strong>Final Score<\/strong>: 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).<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>md4ai<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li><strong>(Optional but Recommended):<\/strong> Install and configure the <strong><a href=\"https:\/\/wordpress.org\/plugins\/ai-services\/\">AI Services<\/a><\/strong> plugin to enable the \"Generate with AI\" features in the post metabox.<\/li>\n<li>The automatic bot detection is now live.<\/li>\n<li>Go to the new <strong>\"md4AI\" options page<\/strong> in your dashboard (usually under 'Settings') to configure your site-wide <code>llms.txt<\/code> file.<\/li>\n<li>Go to any post or page edit screen to find the <strong>\"md4AI Custom Markdown\"<\/strong> metabox to customize content for that specific page.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20md4ai%3F\"><h3>What is md4AI?<\/h3><\/dt>\n<dd><p>md4AI is a plugin that optimizes your website for Generative Engines (GEO) by serving custom Markdown and a site-wide llms.txt file.<\/p><\/dd>\n<dt id=\"what%20is%20geo%3F\"><h3>What is GEO?<\/h3><\/dt>\n<dd><p>GEO is a new standard for Generative Engine Optimization (GEO) that helps guide LLMs in understanding your site's content and purpose.<\/p><\/dd>\n<dt id=\"how%20does%20it%20detect%20an%20ai%20bot%3F\"><h3>How does it detect an AI bot?<\/h3><\/dt>\n<dd><p>The plugin checks the incoming HTTP <code>User-Agent<\/code> string against an internal, pre-defined list of known AI and large language model (LLM) crawlers (e.g., gptbot, claudebot, google-extended, perplexitybot, etc.).<\/p><\/dd>\n<dt id=\"how%20does%20the%20ai%20services%20integration%20work%3F\"><h3>How does the AI Services integration work?<\/h3><\/dt>\n<dd><p>If you have the <code>ai-services<\/code> plugin installed, md4AI adds a \"Generate with AI\" button to its <strong>post metabox<\/strong>. This takes the generated Markdown for that post and sends it, along with a prompt, to your chosen AI provider. The AI-enhanced text (e.g., your post <em>plus<\/em> a new FAQ section) then replaces the content in the metabox, ready to be served to bots.<\/p><\/dd>\n<dt id=\"what%27s%20the%20difference%20between%20the%20custom%20markdown%20and%20the%20llms.txt%20file%3F\"><h3>What's the difference between the Custom Markdown and the llms.txt file?<\/h3><\/dt>\n<dd><p>They serve two different, important purposes:<\/p>\n\n<ul>\n<li><strong>Custom Markdown (Per Post\/Page):<\/strong> This is controlled via a <strong>metabox<\/strong> on each post\/page. It allows you to create a specific, enhanced Markdown <em>version of that page's content<\/em>. This is what an AI bot will receive <em>instead<\/em> of the HTML when it crawls that specific URL.<\/li>\n<li><strong>llms.txt (Site-Wide):<\/strong> This is controlled from the plugin's main <strong>options page<\/strong>. It's a <em>single file<\/em> for your entire site, similar to <code>robots.txt<\/code>. It doesn't contain post content, but rather gives <em>general instructions<\/em> and context to AI crawlers (e.g., site purpose, useful links, etc.). For more details, see <a href=\"https:\/\/llmstxt.org\/\">https:\/\/llmstxt.org\/<\/a>.<\/li>\n<\/ul><\/dd>\n<dt id=\"what%27s%20the%20difference%20between%20%27automatic%27%20and%20%27manual%27%20markdown%3F\"><h3>What's the difference between 'Automatic' and 'Manual' Markdown?<\/h3><\/dt>\n<dd><p>This applies to your posts and pages:<\/p>\n\n<ul>\n<li><strong>Automatic:<\/strong> If you do nothing, the plugin automatically converts your post's HTML to Markdown on-the-fly when a bot visits.<\/li>\n<li><strong>Manual:<\/strong> If you use the metabox to \"Generate\" or \"Generate with AI,\" you create a <em>static<\/em> version that is saved to your database. This <em>saved<\/em> version will be served to bots instead. This allows you to add enhanced content (like FAQs) that only the AI sees.<\/li>\n<\/ul><\/dd>\n<dt id=\"does%20this%20affect%20regular%20search%20engine%20optimization%20%28seo%29%3F\"><h3>Does this affect regular search engine optimization (SEO)?<\/h3><\/dt>\n<dd><p>No. Regular users and traditional search engine crawlers (like standard Googlebot) will continue to receive your standard HTML page. This functionality is specifically targeted at AI agents.<\/p><\/dd>\n<dt id=\"are%20there%20any%20performance%20concerns%3F\"><h3>Are there any performance concerns?<\/h3><\/dt>\n<dd><p>No. For automatic detection, the plugin runs early and immediately stops execution (<code>exit;<\/code>) after serving the Markdown content. For manual generation, the content is pre-generated and saved, so serving it is extremely fast.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>The user can now select the preferred model for the post description generation<\/li>\n<li>Prevent admin bar links from leaking when extracting header and footer links. (thanks to @alh0319 for reporting this issue)<\/li>\n<li>Fix: llms.txt file 404s. (thanks to @alh0319 for reporting this issue)<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>UI enhancements<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Store and Display access logs (source and search terms only)<\/li>\n<li>Updated dependencies<\/li>\n<li>Updated dashboard UI<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Enhanced admin UI<\/li>\n<li>GEO insights page<\/li>\n<li>Added crawler stats<\/li>\n<li>Added integration with the AI Services plugin.<\/li>\n<li>Added \"Generate with AI\" functionality to enhance content using prompts (e.g., add FAQs, summaries).<\/li>\n<li>Implemented REST API endpoints for generating base .md and .txt content.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Added metaboxes to the post editor to manually generate and store custom Markdown (.md) file.<\/li>\n<li>The plugin now serves the custom, manually-generated content to bots if it exists, falling back to the automatic conversion if not.<\/li>\n<li>Initial release of the md4AI plugin.<\/li>\n<li>Includes a list of 14 known AI and search bots.<\/li>\n<li>Implements basic HTML to Markdown conversion for optimal AI consumption.<\/li>\n<\/ul>","raw_excerpt":"Optimise content for generative engines (GEO) by serving custom Markdown and a site-wide llms.txt.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/261379","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=261379"}],"author":[{"embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/codekraft"}],"wp:attachment":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=261379"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=261379"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=261379"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=261379"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=261379"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=261379"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}