About

AI assistants like ChatGPT, Perplexity, or Claude crawl websites to index content — but they have to sift through navigation menus, cookie banners, sidebars, and other page elements to get to the actual text. The result: incomplete or poorly structured answers.

The netzSINN Markdown Plugin solves this by making your Joomla content available in clean, structured Markdown format — at the exact same URLs, without any extra effort on your part. Human visitors continue to see the normal website. AI agents and crawlers receive a clean, distraction-free version of your content.

No duplicate content, no extra pages, no separate maintenance.

Key Features

Works without any changes to your content

You don't need to touch a single article. The plugin automatically delivers clean Markdown at the same URLs your website already has — just add .md to any address, e.g. https://example.com/my-article.md.

Keeps human visitors completely unaffected

Normal website visitors continue to see your website exactly as before. The plugin is invisible to them.

Delivers structured metadata automatically

Every Markdown response includes a header block with title, date, author, category, tags, images, and description — packaged in a format that AI systems can read and use directly.

Works with all major Joomla templates and page builders

Cassiopeia, YOOtheme Pro, T4, Helix, Astroid, SP Page Builder, Quix — all fully supported. No extra configuration needed.

/llms.txt — a map of your content for AI crawlers

The plugin automatically provides a simple text file at yoursite.com/llms.txt. It lists all your published articles with their Markdown URLs — so AI tools can discover your entire content in one step, without having to visit every page individually. Articles that are excluded by your filter settings do not appear in this list.

RAG Export: export all articles as files (Pro Version Only)

The built-in batch exporter writes all published articles as .md files to a folder on your server (images/rag-export/ by default). This lets AI pipelines read your content directly from files — no HTTP request needed on each access. The exporter only re-exports articles that have actually changed.

How AI agents access your content

There are three methods that always work, plus one optional method:
MethodHow it works
.md URL suffix
Any visitor (or bot) can add .md to an article URL
?output=markdown
Works as a query parameter on any article or category page
Accept: text/markdown header
Standard HTTP content negotiation for API clients
User-Agent detection (optional, off by default)
Automatically serves Markdown to known AI crawlers like GPTBot, ClaudeBot, PerplexityBot
<link rel="alternate"> in the page source
The plugin adds a small tag to every article page — crawlers that read the HTML source see immediately that a Markdown version is available
HTTP Link header (optional, off by default)
An extra line in the server response tells tools that read HTTP headers — without having to open the page at all
/llms.txt
A plain-text list of all your articles at yoursite.com/llms.txt — crawlers can discover your entire content at once

Installation

  1. Download the ZIP file
  2. In Joomla: System → Extensions → Install → Upload Package File
  3. Enable the plugin: System → Plugins → System – netzSINN Markdown
  4. Done — the plugin works immediately with no further setup required

To check that everything is working, add .md to any article URL on your site and open it in a browser.

Settings

Basic tab

ParameterDefaultDescription
Show alternate link
Yes
Adds an <link rel="alternate" type="text/markdown">-Tag to the HTML Header section with the .md URL
Send HTTP Link header
No

Sends a Link: HTTP header so API clients that don't parse HTML also find the Markdown URL

Enable /llms.txt
Yes

Serves a plain-text article index at /llms.txt for AI crawlers

Show category
Yes
Includes the article category in the metadata header
Show tags
Yes
Include tags
Show author
Yes
Includes the author name
Show date
Yes
Includes the publication date
Show description
Yes
Includes the meta description
Show images
Yes
Includes intro and fulltext image URLs
Show custom fields
No
Adds published Joomla custom fields as an extra section at the bottom
Category article limit
0 (no limit)
Limits the number of articles shown on category overview pages

Filtering tab

Controls which pages deliver Markdown output. Useful if you only want to expose certain sections of your site.
SettingsOptions
Page assignment
All pages / Selected pages only / All pages except selected
Menu items
Choose specific menu items
Categories
Choose specific content categories

Example: Set Page assignment to "Selected pages only" and pick your Blog category — Markdown will only be delivered for those articles.

The same filter also applies to the batch exporter. Articles that are excluded will not be written to the export folder.

Export / RAG tab (Pro Feature)

SettingDefaultWhat it does
License Key
Key to activate pro features
Enable export
No
Activates the batch export endpoint
Secret token
Password that protects the export URL from unauthorised access
Export directory
images/rag-export
Server folder where .md files are written
Batch size
20
Number of articles processed per export run
Request delay
200 ms
Pause between internal requests to avoid overloading the server
Open export page
Button that opens the export overview page directly (visible once a token is set)

Start Export (Browser):
/?output=markdown-export&secret=YOUR-TOKEN&format=html

Cron-Endpoint (JSON):
/?output=markdown-export&secret=YOUR-TOKEN

Settings tab

ParameterDefaultDescription
User-Agent detection
No
Automatically detects known AI crawlers and serves Markdown without requiring a .md UR
Rewrite internal links
Yes
Converts internal links in Markdown output to .md URLs so crawlers can follow them
Content selector
For non-standard templates: enter a custom selector to tell the plugin where your content is
Debug mode
No
Shows a full diagnostic report at ?output=markdown&debug=1. Lists all active settings, which detection method was used, and whether the page filter allows this article. Useful for troubleshooting. Disable again after use — the report is publicly visible.

System Requirements

  • Joomla 5.3+ or Joomla 6.x
  • PHP 8.1+
  • No additional PHP extensions, Composer packages, or external services required.

Changelog

  • v1.5.0
    • New option to send an HTTP `Link` header, helping crawlers find the Markdown version of a page.
    • Automatically adds a `Vary: Accept` header to improve caching and ensure correct content delivery (HTML vs. Markdown).
    • New `/llms.txt` endpoint provides a plain-text list of all articles for AI crawlers.
    • The debug report now provides more detailed information for easier troubleshooting.
    • The alternate link to the Markdown version is now correctly added to every HTML page.
    • A potential 404 error when accessing the new `/llms.txt` endpoint has been resolved.
    • Added helpful explanations in the plugin settings for the "User-agent detection" and "Debug mode" features.
    • Internal code improvements for better stability and easier maintenance.
  • v1.4.2
    • Fix: Improvements on RAG-Export Rotuine
  • v1.4.1
    • Fix: Improvements on RAG Export Routine
  • v1.4.0
    • Fix: Article filters work correctly in all situations
    • Fix: Export process more stable and reliable
    • New: Export page shows better progress and statistics
    • New: Back to homepage button added
    • Change: Export page redesigned for clarity
    • Language: Export page now fully translatable
  • v1.3.3
    • Fix: Removed an outdated entry from the plugin file
    • Fix: Added missing GPL notices to some files
    • Fix: Added LICENSE.txt so the GPL notice is complete for Joomla Directory checks
    • Fix: Export now reads URL values the Joomla-safe way
    • mprovement: License data decoding is now clearer to avoid review warnings
  • v1.3.2
    • New: "Developer" license type – a single key unlocks all netzSINN plugins at once
    • Improvement: Pro license keys are now verified to belong specifically to this plugin, preventing keys from other plugins being used here
  • v1.3.1
    • refactor: package cleanup
  • v1.3.0
    • Pro licence required for the Export / RAG endpoint — verified offline, no external API call needed
    • Licences remain valid for all Pro features after the support period ends; only updates and support are time-limited
    • Admin notice shown in the Joomla backend when the support period has expired, with a link to netzsinn.de
    • New licence key field in the "Export / RAG" settings tab
  • v1.2.0
    • Export now saves individual files to the server instead of streaming — easier to use with AI tools
    • Only changed or new pages are re-exported; run the export repeatedly until everything is done
    • New browser page shows export progress (exported, skipped, errors) with action buttons
    • Configurable delay between requests prevents server overload during large exports
    • Export activity is now written to a log file for troubleshooting
    • Quick-link button in the plugin settings opens the export page directly — no manual URL needed
    • Secret token field is now shown as plain text to avoid saving issues in some Joomla setups
  • v1.1.4
    • Licence notice added to all plugin files — required for Joomla Extension Directory listing
  • v1.1.3
    • Plugin settings now take effect immediately for all visitors — previously cached pages with old settings could persist until cache expiry
  • v1.1.2
    • Fixed: cache was not cleared when saving plugin settings in the admin — changes now reliably take effect
  • v1.1.1
    • Fixed: Markdown cache is now cleared automatically when plugin settings are saved
  • v1.1.0
    • New advanced setting to define a custom content area selector — useful for non-standard templates
    • Custom fields of type URL, rich text (editor), and date are now included in Markdown output
    • New setting to limit the number of articles shown on category pages
    • Fixed: corrupted compressed page responses no longer cause errors
  • v1.0.4
    • Fixed: special characters (e.g. German umlauts) now display correctly in all cases
  • v1.0.3
    • Fixed: German umlauts and other special characters were displayed as garbled text
    • Fixed: headings containing links are now correctly detected and handled
    • Fixed: Joomla custom fields list no longer appears as an unwanted bullet list in the output
  • v1.0.2
    • Fixed: full page content (intro texts, section headings, custom field displays) is now included in Markdown output
    • Fixed: duplicate headings are no longer removed if they appear as legitimate section headings
    • Fixed: category pages now also get a proper top-level heading
  • v1.0.1
    • Fixed: .md URLs no longer trigger a Joomla 404 error
    • Fixed: top-level heading is now always present in the Markdown output
    • Internal links are rewritten to .md URLs so AI crawlers can follow them
  • v1.0.0
    • First official release
    • Three always-active detection methods: `.md` URL suffix, `?output=markdown`, `Accept: text/markdown`
    • Optional User-Agent detection (off by default): GPTBot, ClaudeBot, PerplexityBot, YouBot, cohere-ai, Applebot-Extended, Meta-ExternalAgent, Bytespider
    • YAML frontmatter: `title`, `url`, `date`, `description`, `author`, `categories`, `tags`, `intro_image`, `fulltext_image`
    • Semantic DOM extraction: `<main>``<article>``<body>`
    • H1 downgrade when body heading matches frontmatter title
    • Custom Fields rendered as `## Custom Fields` body section
    • Category listing in Markdown
    • `<link rel="alternate" type="text/markdown">` in HTML head
    • Joomla Cache API integration (guests only)
    • Homepage support: article ID resolved from active menu item when `id=0`
    • Debug mode: `?output=markdown&debug=1`
    • Built-in DOMDocument HTML-to-Markdown converter — no Composer dependency
    • Full template compatibility: Cassiopeia, YOOtheme Pro, T4, Helix, Astroid, SP Page Builder, Quix
    • Unit-tested converter logic: 31 tests, 62 assertions (PHPUnit 11, PHP 8.4)

License

GNU general public license

Download

Please, support this extension and review on Joomla Extension Directory JED!