The plugin sends a User-Agent-conditional X-Robots-Tag: AI crawlers (GPTBot, ClaudeBot, PerplexityBot, …) get index, follow so they will use the Markdown variant, while traditional search engines (Bingbot, Googlebot, …) get noindex, follow so the canonical HTML page remains the sole entry in SERPs. To keep shared caches from collapsing the two variants into one, the response carries Vary: User-Agent and Cache-Control: private, max-age=0, must-revalidate. These signals work on standard WordPress hosting. They can be overridden by edge layers in specific hosting / CDN configurations: Some managed WordPress hosts (Kinsta, WPEngine, Pressable, SiteGround, and others) ship default edge caching that treats static-looking file extensions like .md as long-lived static assets and rewrites the plugin's Cache-Control header to a public, long-max-age value. Some CDNs (most notably Cloudflare on its default cache key) ignore Vary: User-Agent entirely — they cache one variant per URL and serve it to every visitor regardless of UA. When one of these is in front of your site, the first .md request to reach the edge caches the response for everyone afterwards. The plugin is still doing the right thing at origin, but visitors only ever see the cached copy. Diagnosing it. Open a terminal and run: curl -skI -A "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" https://example.com/your-page.md Headers to look for: cf-cache-status: HIT (Cloudflare), x-kinsta-cache: HIT, x-cache: HIT (generic) — the response is coming from the edge cache. age: <large number> — the response has been sitting in cache for that many seconds. cache-control: public, max-age=<large> instead of the plugin's private, max-age=0 — your host or CDN has rewritten it. Then add a cache-busting query string and try again: curl -skI -A "Mozilla/5.0 (compatible; bingbot/2.0; …)" "https://example.com/your-page.md?cb=12345" If the headers are now correct (x-robots-tag: noindex, follow for Bingbot, index, follow for an AI UA), the plugin is fine — the edge is the source of the problem. Fixing it. The fix has to be applied at the layer that is caching, not in WordPress. Common remedies: On the CDN, exclude *.md URLs from any "Cache Everything" rule, or add a Bypass Cache rule for them. On managed hosts, contact support and ask them to exempt *.md from the host's edge cache (so the plugin's Cache-Control: private is honoured). If neither is available, enable Allow search engines to index .md (advanced) at One-V LLM Serve → Settings — the plugin then sends index, follow to every UA. The behavior is consistent at the cost of allowing search engines to index the Markdown variants alongside the HTML pages.