Select one or more tags, then press “Search Plugins”

Find Plugin with any / all of the selected criteria
Search Plugin

System Markdown Alternate Wordpress Plugin - Rating, Reviews, Demo & Download

System Markdown Alternate Preview Wordpress Plugin - Rating, Reviews, Demo & Download
No ratings yet
Free
Follow for free plugins, new theme releases and theme news

Plugin Description

System Markdown Alternate publishes a clean, machine-readable Markdown
representation of your content. Append .md to any supported permalink and you
get YAML front matter plus the post body converted to Markdown — with marketing
clutter, forms and navigation widgets stripped out.

https://example.com/my-post/    → HTML
https://example.com/my-post.md  → Markdown (front matter + content)

It is built for the era of AI assistants, agents and technical scrapers that
prefer plain Markdown over rendered HTML. It is not a generic SEO plugin.

Key features

  • .md endpoint for every supported, published, public post.
  • Content negotiation: the same Markdown is returned for Accept: text/markdown
    or ?format=markdown requests. The Accept header is parsed with q-values, so
    a client that prefers HTML (higher q) still gets HTML.
  • Vary: Accept on negotiable URLs, so caches and CDNs that honour it keep the
    HTML and Markdown representations of the same address apart. Because some page
    caches key by URL only and ignore Vary, the negotiated Markdown (and 406)
    responses are also sent non-cacheable, so safety never depends on Vary alone.
  • rel="alternate" link in the <head> of supported singular content.
  • Correct HTTP headers: Content-Type: text/markdown, X-Robots-Tag
    (default noindex, follow) and a Link: rel="canonical" back to the HTML.
  • Clean conversion: Gutenberg blocks are rendered individually (no injected
    related/CTA blocks), excluded blocks/shortcodes/CSS classes are removed, code
    blocks become fenced blocks, URLs are made absolute.
  • /llms.txt endpoint (optional): an index of your content for LLMs and AI
    agents. An optional enriched mode (off by default) adds a site summary, a
    curated “Key content” section, a description for each entry and an Optional
    section for older posts. Another optional toggle appends the last modified
    date
    (updated: YYYY-MM-DD) to every entry, so crawlers can spot changed
    content without re-fetching each URL.
  • Custom taxonomies in the front matter (optional, nothing selected by
    default): tick the taxonomies you want and their terms are added as a
    taxonomies: block, alphabetically ordered. Nothing is ever published
    automatically: a taxonomy registered by another plugin appears in the panel
    unticked, and taxonomies with no public term archive are labelled as internal.
  • Object cache with proactive invalidation on post edit, plugin update and
    settings change: a persistent object cache is used when one is available,
    falling back to transients otherwise.
  • Optional .md hit counter (off by default): counts how many times the
    Markdown endpoint is served, split bot vs human. Privacy by design: only
    aggregate daily totals are stored — no IP addresses, no user-agent strings,
    no per-visitor data, no cookies, no external calls.
  • Admin panel to choose which post types are exposed and to tune cache,
    exclusions and headers — no post type is exposed until you pick one.
  • Shortcodes [sysmda_md_url] (the Markdown URL) and
    [sysmda_md_download] (a link that saves the file instead of opening it).
  • Optional integrations, shown only when the related plugin is active:
    • Advanced Custom Fields: add a subtitle and a TL;DR (from ACF fields) as a
      preamble between the H1 and the body.
    • GenerateBlocks 2.x: a {{sysmda_md_url}} Dynamic Tag, available
      automatically, usable in element fields (e.g. a Button URL).

Developer filters

The output is customizable through filters:

  • sysmda_markdown_supported_post_types — post types that expose .md (default: none).
  • sysmda_markdown_excluded_post_formats — post formats that never expose a .md
    (default: every non-standard format; return an empty array to serve them all).
  • sysmda_markdown_robots_header — the X-Robots-Tag value ('' = no header).
  • sysmda_markdown_strict_406 — return 406 when the client accepts neither HTML nor
    Markdown (default true; false always serves the HTML default).
  • sysmda_markdown_canonical_url — canonical URL for the Link header ('' = no header).
  • sysmda_markdown_cache_ttl — cache TTL in seconds (0 = disabled).
  • sysmda_markdown_prewarm — rebuild a post’s Markdown cache in the background
    after every save instead of on the first request (default false).
  • sysmda_cache_control — the Cache-Control sent on the URLs the plugin owns
    (.md and /llms.txt); default public, max-age=0, must-revalidate, '' =
    no header at all. Setting a freshness lifetime here (s-maxage, max-age)
    makes stale Markdown possible: no page cache purges a .md on save.
  • sysmda_markdown_source_content — raw source content before rendering.
  • sysmda_markdown_rendered_html — cleaned HTML before conversion.
  • sysmda_markdown_preamble — Markdown inserted between the H1 and the body.
  • sysmda_markdown_output — final Markdown.
  • sysmda_markdown_excluded_block_names — Gutenberg blocks to drop.
  • sysmda_markdown_excluded_shortcodes — shortcodes to drop.
  • sysmda_markdown_excluded_classes — CSS classes whose elements are dropped.
  • sysmda_front_matter_enabled — emit the YAML front-matter block at all
    (default true; false starts the document at the # Title heading).
  • sysmda_front_matter_taxonomies — kill switch for the taxonomies: block
    (default: on as soon as one taxonomy is selected; false = never emit it).
  • sysmda_front_matter_taxonomy_slugs — which taxonomies are emitted. Receives
    the selection saved in the panel and may narrow it or extend it (return an
    empty array to opt out for a post).
  • sysmda_acf_field_keys — ACF fields appended to the source.
  • sysmda_acf_subtitle_key / sysmda_acf_tldr_key — ACF fields for subtitle/TL;DR.
  • sysmda_llms_txt_max_posts — max posts per type in /llms.txt.
  • sysmda_llms_txt_cache_ttl/llms.txt cache TTL in seconds (0 = disabled).
  • sysmda_llms_txt_enriched — enable the enriched /llms.txt output (default false).
  • sysmda_llms_txt_lastmod — append (updated: YYYY-MM-DD) to every /llms.txt
    entry (default false).
  • sysmda_llms_txt_summary — site summary paragraph (enriched mode only).
  • sysmda_llms_txt_key_content — featured content, post IDs or URLs (enriched mode only).
  • sysmda_llms_txt_main_posts — posts per type in the main sections before the
    overflow moves to Optional (enriched mode only, default 25).
  • sysmda_llms_txt_footer — free-form block appended at the end (enriched mode only).
  • sysmda_md_hits_bot_patterns — user-agent substrings the hit counter classifies as bot.
  • sysmda_md_hits_retention_days — retention of the daily hit-counter buckets (default 90).

Screenshots

  1. Settings — General: pick the content types that expose a <code>.md</code> (nothing is served until at least one is ticked) and set the cache TTL. The sidebar reports the <code>/llms.txt</code> status at a glance.

    Settings — General: pick the content types that expose a .md (nothing is served until at least one is ticked) and set the cache TTL. The sidebar reports the /llms.txt status at a glance.

  2. Settings — Markdown output: what stays out of the <code>.md</code>. Excluded shortcodes, blocks and CSS classes (leave empty for the built-in defaults), plus the custom taxonomies added to the front matter and the ACF fields.

    Settings — Markdown output: what stays out of the .md. Excluded shortcodes, blocks and CSS classes (leave empty for the built-in defaults), plus the custom taxonomies added to the front matter and the ACF fields.

  3. Settings — llms.txt: enable the endpoint, the enriched output and the last modified date on each entry, then add the site summary and the curated key content.

    Settings — llms.txt: enable the endpoint, the enriched output and the last modified date on each entry, then add the site summary and the curated key content.

  4. Settings — Integrations: the <code>[sysmda_md_url]</code> and <code>[sysmda_md_download]</code> shortcodes, with the GenerateBlocks and ACF detection status.

    Settings — Integrations: the [sysmda_md_url] and [sysmda_md_download] shortcodes, with the GenerateBlocks and ACF detection status.

  5. Settings — Advanced: the <code>X-Robots-Tag</code> header, the opt-in LiteSpeed cache bypass rules and the <code>.md</code> hit counter, split bot vs human.

    Settings — Advanced: the X-Robots-Tag header, the opt-in LiteSpeed cache bypass rules and the .md hit counter, split bot vs human.


Reviews & Comments