MarkdownPress
Plugin is generating "markdown cache" to be able for AI to consume web content
by Jitka Klingenbergová · github.com/juditth/markdownpress · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/juditth/markdownpress/archive/refs/heads/main.zipReadme
MarkdownPress
Created by Jitka Klingenbergová
MarkdownPress automatically generates Markdown versions of all your WordPress content and serves them to AI crawlers and LLM tools.
Plugin Details
- Tested up to: 6.7
- Stable tag: 1.4.0
- License: GPLv2 or later
- License URI: https://www.gnu.org/licenses/gpl-2.0.html
Features
- Converts all published posts, pages, and custom post types to clean Markdown.
- Smart Serving: Detects
Accept: text/markdownheader and serves MD files automatically. - LLM Ready: Generates
llms.txtandllms-full.txt(following the /llms.txt standard). - Fast Response: Uses
.htaccessrewrite rules for ultra-fast direct serving (~2ms). - Page Builder Support: Special handling for Bricks, Elementor, and WooCommerce content (using HTTP fallback rendering).
- Batch Processing: Generates content in small batches via Cron to prevent server overload.
- SEO & Robot friendly: Adds
X-Robots-Tag: noindexto all Markdown files. - Auto-Update: Built-in support for self-hosted updates via GitHub.
Technical Details
Database / Storage
MarkdownPress does not use any custom database tables. All data is stored in:
- WP Options: Plugin settings are stored in a single
mdp_optionsrecord. - Filesystem: Generated Markdown files, queue state, and status are stored in
wp-content/markdownpress/; multisite installs use a separatesites/<blog-id>-<domain>/subdirectory for each site.
Update System
This plugin includes an integrated update checker that connects to GitHub for updates. You don't need to manually upload new versions.
Performance
The plugin is designed to be invisible to your human visitors.
- Generation happens in the background via WordPress Cron.
- Serving is handled by Apache (
.htaccess) where possible, bypassing PHP entirely.
Installation
- Upload the plugin to the
/wp-content/plugins/directory. - Activate the plugin through the 'Plugins' menu in WordPress.
- Go to Settings > MarkdownPress to configure your preferences.
- Click Generate Now to build your first markdown mirror.
Serving Markdown
You can access the markdown version of any page by either:
- Sending an HTTP header
Accept: text/markdown. - Adding
?format=markdownto the URL.
Example: curl -H "Accept: text/markdown" https://your-site.com/about/
Changelog
= 1.4.0 =
- Added optional JSON-LD schema output for HTTP Fetch rendering.
- Filtered low-value BreadcrumbList schema from appended JSON-LD blocks.
- Hardened admin AJAX status access and cache path handling.
- Restricted sitemap imports to same-site URLs.
= 1.3.1 =
- Fixed browser encoding by routing ?format=markdown through PHP with explicit UTF-8 headers.
- Added UTF-8 normalization and Czech mojibake repair before writing generated Markdown files.
- Hardened repair for HTTP fetch bodies, summary exports, and llms files.
= 1.3.0 =
- Added separate default cache directories for each site in WordPress multisite.
- Added host-aware Apache rewrite rules so llms.txt and llms-full.txt are served from the matching site cache.
= 1.2.9 =
- Added Mioweb Base64 serialized content decoding as a fallback after normal HTML conversion.
- Extracted only visible builder copy from decoded Mioweb payloads to avoid style/config noise.
= 1.2.8 =
- Fixed fatal error when on-the-fly markdown generation runs before rewrite globals are available.
- Fixed on-demand markdown generation for taxonomy archive URLs requested with ?format=markdown.
- Prevented HTTP fallback from recursively requesting the markdown endpoint.
= 1.2.7 =
- Added integrated Error Log viewer to the admin dashboard.
- Added "Refresh" and "Clear logs" actions directly in the UI.
- Fixed progress bar visibility issues.
= 1.2.6 =
- Fixed PHP 8.4 fatal error (moved initialization to 'init' hook).
- Improved content extraction for WooCommerce and Bricks Builder.
- Added support for on-the-fly markdown generation for missed URLs.
- Fixed .htaccess path resolution and added detailed error logging.
- Updated settings UI with clearer descriptions for rendering methods.
= 1.2.5 =
- Fixed security issues (escaping, sanitization).
- Replaced direct PHP filesystem calls with WordPress alternatives.
- Consistent Text Domain usage.
- Added nonce verification for downloads.
- Removed duplicate settings link.
= 1.2.7 =
- Enhanced logging: Now records both successful (OK) and failed generations with detailed reasons and URLs.
- Improved Markdown conversion: Strict block-level separation for better headline rendering.
- New: Added "View Markdown" link to the WordPress Admin Bar for quick access.
- Encoding: Explicitly enforced UTF-8 charset in headers and .htaccess to fix special character issues.
- Admin UI: Added automatic log refreshing every 15 seconds and clearer method descriptions.
- Optimization: Re-implemented layout filtering to ensure cleaner content extraction.
= 1.2.5 =
- Forced absolute URLs for all images in Markdown output for better AI compatibility.
= 1.2.3 =
- Added "Stop Generation" button to halt active processing.
- Fixed button icon alignment in the admin interface.
= 1.2.2 =
- Added error logging system.
- Support for ZIP download of all Markdown files.
- UI improvements for the status dashboard.
= 1.0.0 =
- Initial release.
Read the full README on GitHub →
Releases
| Tag | Published |
|---|---|
| 1.4.0 | May 11, 2026 |
| 1.3.1 | Apr 16, 2026 |
| 1.3.0 | Apr 16, 2026 |
| 1.2.7 | Feb 26, 2026 |
| 1.2.5 | Feb 21, 2026 |
| 1.2.4 | Feb 21, 2026 |
These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.