SEOries Markdown Generator

Description

SEOries Markdown Generator is an independent WordPress plugin developed by Mahmut Orkun Köksalan, built to provide clean, structured Markdown representations of WordPress content for AI systems, Large Language Models (LLMs), and automated markdown consumers.

Key Capabilities & Architectural Principles

  • Canonical URL Negotiation: Delivers text/markdown directly over canonical URLs via standard HTTP Accept: text/markdown content negotiation. Normal visitors and web browsers continue receiving standard HTML.
  • Public .md Policy: Direct public .md URLs (e.g. /post-slug.md) are disabled by default and return 404 Not Found to prevent URL fragmentation and preserve canonical SEO integrity.
  • AI Bot Automatic Delivery: Optional automated Markdown delivery for recognized AI search indexers and user-action bots (OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User) and training bots (GPTBot, ClaudeBot).
  • Search Engine Protection: Major search engine crawlers (Googlebot, Bingbot, YandexBot) always receive standard HTML, ensuring zero interference with traditional search indexation.
  • Access Control & Privacy: Drafts, pending reviews, private posts, trashed items, and password-protected content are strictly excluded from public Markdown delivery.
  • Robots Directives & Noindex: Robots meta directives and headers are not access control mechanisms. Directives such as noindex do not prevent Markdown delivery; instead, robots directives are preserved and forwarded in the Markdown response headers (X-Robots-Tag) where applicable.
  • User-Agent Advisory: User-Agent matching is an ergonomic content-representation selector, not a security boundary or authentication mechanism.
  • DOM-Driven Content Extraction: Generic HTML parsing using native DOM & XPath, extracting clean semantic content without hard-coded theme or page-builder dependencies.
  • Safe CSS Selectors: Configure global, post-type, per-post (meta box), and archive-level main content and excluded selectors with built-in fail-safe protection.
  • High-Performance Caching: Integrates with WordPress Object Cache API (Redis / Memcached) with automatic Transients fallback, conditional HTTP (ETag / 304 Not Modified), and event-driven cache invalidation.
  • Buffer-Isolated Raw Delivery: Unified output buffer management ensuring newlines, frontmatter, and code fences are never corrupted by third-party HTML minifiers or theme output filters.
  • Admin Preview & Download: Authorized post editors can preview generated Markdown, inspect live extraction diagnostics, copy to clipboard, or download .md files directly from the WordPress editor.
  • Official Documentation: Comprehensive guides, bot user-agent tables, and integration tutorials are available at https://ai-markdown.seories.com/docs/

Installation

  1. Upload the seories-markdown-generator directory to the /wp-content/plugins/ directory.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. Configure your preferences under Settings > SEOries Markdown Generator.
  4. Test delivery by requesting any published post or archive with Accept: text/markdown.

FAQ

Where can I find documentation and technical guides?

Comprehensive technical documentation, AI crawler reference tables, and setup guides are available at https://ai-markdown.seories.com/docs/ . Official product information is available at https://ai-markdown.seories.com/ .

Who is the author of this plugin?

SEOries Markdown Generator is developed by Mahmut Orkun Köksalan.

How do I request Markdown format for a post or page?

Send an HTTP GET request to the canonical URL of any published post with the Accept: text/markdown header:
curl -i -H “Accept: text/markdown” https://example.com/my-post/

Why are public .md URLs returning 404 Not Found?

The plugin adheres to modern Web architecture and SEO best practices by serving alternative content representations from the canonical URL via HTTP Content Negotiation. Standalone .md endpoints are disabled by default to prevent duplicate content indexing.

Are draft or password-protected posts accessible via Markdown?

No. Only published, publicly viewable, non-password-protected content can be delivered as public Markdown.

How does the plugin handle robots and noindex directives?

Robots directives are presentation indexing metadata, not access control. The plugin preserves detected robots rules (such as noindex or noarchive) and sends them as X-Robots-Tag HTTP response headers in the Markdown response so consumers and crawlers receive consistent indexing guidance.

Can I exclude specific banners, widgets, or sidebars from the Markdown output?

Yes. Navigate to Settings > SEOries Markdown Generator > Selector & Kurallar to define global, post-type-specific, or archive-specific CSS selectors to strip (e.g. .site-banner, #sidebar, .author-bio).

How does caching and invalidation work?

Markdown responses are cached using the WordPress Object Cache (if available) or Transients API. When content is published, updated, trashed, or settings change, the cache generation key is automatically incremented.

How do I translate the plugin into other languages?

Translations for official WordPress.org releases are managed via translate.wordpress.org. For manual zip distributions, place compiled translation files (.po / .mo) inside the plugin’s languages/ directory or wp-content/languages/plugins/ using the standard naming format seories-markdown-generator-{locale}.mo (e.g. seories-markdown-generator-tr_TR.mo). A complete translation template is provided at languages/seories-markdown-generator.pot.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“SEOries Markdown Generator” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

0.1.0

  • Initial stable release.
  • HTTP Accept header content negotiation engine (Accept: text/markdown).
  • Selectable AI Bot automatic delivery with search, user, and training categories.
  • Traditional search engine (Googlebot, Bingbot, YandexBot) HTML protection.
  • Content eligibility engine (publish-only, password-protected fail-closed).
  • Robots directive header forwarding (X-Robots-Tag).
  • Safe CSS selector validator with fail-safe root container protection.
  • Object Cache and Transients caching layer with conditional HTTP (ETag / 304).
  • Automated multi-event cache invalidation on content, taxonomy, and settings update.
  • Tabbed admin settings panel under Settings > SEOries Markdown Generator.
  • Admin single-post Markdown preview modal and secure download endpoint.
  • Raw response buffer isolation preventing newline stripping.
  • Complete PHPUnit test suite (363 tests, 1211 assertions).