{"id":356893,"date":"2026-08-27T23:38:48","date_gmt":"2026-08-27T23:38:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/iz-md-pages\/"},"modified":"2026-08-27T23:38:14","modified_gmt":"2026-08-27T23:38:14","slug":"iz-md-pages","status":"publish","type":"plugin","link":"https:\/\/bho.wordpress.org\/plugins\/iz-md-pages\/","author":15764021,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"IZ MD Pages","header_author":"Ivan Zhuck","header_description":"WordPress plugin for generating and serving Markdown pages.","assets_banners_color":"","last_updated":"2026-08-27 23:38:14","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/izhuck.ru\/","header_plugin_uri":"","header_author_uri":"https:\/\/izhuck.ru\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":57,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"ivanzhuck","date":"2026-08-27 23:38:14","revision":3669634}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3669634,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3669634,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3669634,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3669634,"resolution":"1","location":"assets","locale":"","width":1000,"height":660},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3669634,"resolution":"2","location":"assets","locale":"","width":1000,"height":700},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3669634,"resolution":"3","location":"assets","locale":"","width":1000,"height":700},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3669634,"resolution":"4","location":"assets","locale":"","width":1000,"height":698}},"screenshots":{"1":"General settings page","2":"Templates settings page","3":"Documentation page","4":"Markdown meta box"}},"plugin_section":[],"plugin_tags":[2353,529,4608,4610,186],"plugin_category":[55],"plugin_contributors":[223402],"plugin_business_model":[],"class_list":["post-356893","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-content","plugin_tags-markdown","plugin_tags-md","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-ivanzhuck","plugin_committers-ivanzhuck"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/iz-md-pages\/assets\/icon.svg?rev=3669634","icon":"https:\/\/ps.w.org\/iz-md-pages\/assets\/icon.svg?rev=3669634","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/iz-md-pages\/assets\/screenshot-1.png?rev=3669634","caption":"General settings page"},{"src":"https:\/\/ps.w.org\/iz-md-pages\/assets\/screenshot-2.png?rev=3669634","caption":"Templates settings page"},{"src":"https:\/\/ps.w.org\/iz-md-pages\/assets\/screenshot-3.png?rev=3669634","caption":"Documentation page"},{"src":"https:\/\/ps.w.org\/iz-md-pages\/assets\/screenshot-4.png?rev=3669634","caption":"Markdown meta box"}],"raw_content":"<!--section=description-->\n<p><strong>IZ MD Pages<\/strong> transforms your WordPress website into a dual-format content hub by generating and serving clean, fast, and structured <strong>Markdown<\/strong> pages alongside standard HTML.<\/p>\n\n<p>Optimized for <strong>AI search engines, LLMs, developer documentation, CLI tools, and feed readers<\/strong>, IZ MD Pages enables instant retrieval of your content in plain text Markdown with zero boilerplate.<\/p>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li><strong>Dedicated Markdown Endpoints &amp; Query Params<\/strong>: Access the Markdown version of any post or page seamlessly via clean URLs (e.g. <code>https:\/\/example.com\/sample-post\/md<\/code>) or query parameters (<code>https:\/\/example.com\/sample-post\/?md<\/code>), with automated canonical 301 redirects.<\/li>\n<li><strong>Automatic Discovery Link Headers<\/strong>: Injects standard <code>&lt;link rel=\"alternate\" type=\"text\/markdown\"&gt;<\/code> into your <code>&lt;head&gt;<\/code>, making Markdown endpoints automatically discoverable by web crawlers, AI assistants, and browser extensions.<\/li>\n<li><strong>Advanced Gutenberg &amp; Classic Editor Conversion<\/strong>: Converts Gutenberg blocks (headings, paragraphs, lists, quotes, tables, code blocks, images, embeds) and classic HTML into clean standard Markdown.<\/li>\n<li><strong>Flexible Post Type Templates<\/strong>: Customize layout templates for each enabled post type using powerful placeholders (e.g., <code># {%post_title%}\\n\\n{%post_content%}<\/code>).<\/li>\n<li><strong>Universal Header &amp; Footer Templates<\/strong>: Configure global Markdown headers and footers (such as metadata banners, licensing, or call-to-actions) appended to all rendered Markdown pages.<\/li>\n<li><strong>Rich Placeholder Engine<\/strong>:\n\n<ul>\n<li><strong>Core Fields<\/strong>: <code>{%post_title%}<\/code>, <code>{%post_content%}<\/code>, <code>{%post_excerpt%}<\/code>, <code>{%post_url%}<\/code>, <code>{%post_date%}<\/code>, <code>{%post_date_gmt%}<\/code>, <code>{%post_time%}<\/code>, <code>{%post_modified%}<\/code>, <code>{%thumbnail_url%}<\/code>, <code>{%thumbnail_id%}<\/code>.<\/li>\n<li><strong>Author Info<\/strong>: <code>{%author_name%}<\/code>, <code>{%author_email%}<\/code>, <code>{%author_url%}<\/code>, <code>{%author_bio%}<\/code>, <code>{%author_first_name%}<\/code>, <code>{%author_last_name%}<\/code>.<\/li>\n<li><strong>Taxonomies<\/strong>: <code>{%categories%}<\/code>, <code>{%tags%}<\/code>, <code>{%taxonomy:taxonomy_name%}<\/code> with customizable separators and prefixing (<code>\\n*<\/code>, <code>\\t<\/code>, <code>:before<\/code>, <code>:leading<\/code>).<\/li>\n<li><strong>Comments &amp; Counts<\/strong>: <code>{%comments%}<\/code>, <code>{%comments_count%}<\/code>.<\/li>\n<li><strong>Custom Fields (Post Meta)<\/strong>: <code>{%meta:key%}<\/code> with recursive formatting for complex nested arrays and objects.<\/li>\n<\/ul><\/li>\n<li><strong>Per-Post Granular Controls<\/strong>: Dedicated meta box on edit screens to disable Markdown generation for specific posts or provide custom manual Markdown overrides with a single click reset.<\/li>\n<li><strong>Developer-Friendly &amp; Extensible<\/strong>: Over 15 WordPress filter hooks allowing full customization of template rendering, block conversions, custom placeholder evaluation, and final page output.<\/li>\n<li><strong>High Performance<\/strong>: Pure PHP conversion with no external dependencies or remote API calls.<\/li>\n<\/ul>\n\n<h3>How to contribute<\/h3>\n\n<p>If you would like to help with the development of this plugin, please visit its GitHub repository: <a href=\"https:\/\/github.com\/IvanZhuck\/iz-md-pages\">https:\/\/github.com\/IvanZhuck\/iz-md-pages<\/a>. The repository contains the source code and tools for development.<\/p>\n\n<!--section=installation-->\n<h3>Automatic Installation<\/h3>\n\n<ol>\n<li>Log in to your WordPress admin dashboard.<\/li>\n<li>Navigate to <strong>Plugins &rarr; Add New<\/strong>.<\/li>\n<li>Search for <strong>IZ MD Pages<\/strong>.<\/li>\n<li>Click <strong>Install Now<\/strong> and then <strong>Activate<\/strong>.<\/li>\n<\/ol>\n\n<h3>Manual Installation<\/h3>\n\n<ol>\n<li>Download the plugin ZIP archive.<\/li>\n<li>Upload the uncompressed <code>iz-md-pages<\/code> directory to your <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<\/ol>\n\n<h3>Post-Installation Setup<\/h3>\n\n<ol>\n<li>Go to <strong>Settings &rarr; IZ MD Pages<\/strong> to configure enabled post types, URL format (Endpoint <code>\/md<\/code> or Query Var <code>?md<\/code>), and front page options.<\/li>\n<li>Visit <strong>Settings &rarr; IZ MD Pages &rarr; Templates<\/strong> to customize post type Markdown templates, headers, and footers.<\/li>\n<li>Refer to <strong>Settings &rarr; IZ MD Pages &rarr; Documentation<\/strong> for detailed guides, syntax references, and developer hooks.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20visitors%20and%20ai%20agents%20access%20the%20markdown%20version%20of%20a%20post%3F\"><h3>How do visitors and AI agents access the Markdown version of a post?<\/h3><\/dt>\n<dd><p>By default, you can append <code>\/md<\/code> to any post or page permalink (e.g. <code>https:\/\/example.com\/my-article\/md<\/code>). You can also switch the URL format to query parameter mode (<code>?md<\/code>) in the plugin settings.<\/p><\/dd>\n<dt id=\"does%20this%20affect%20my%20site%27s%20regular%20html%20frontend%20or%20seo%3F\"><h3>Does this affect my site's regular HTML frontend or SEO?<\/h3><\/dt>\n<dd><p>No. Your standard HTML pages remain completely untouched. The plugin only outputs Markdown when the dedicated <code>\/md<\/code> endpoint or <code>?md<\/code> parameter is requested. Furthermore, discovery tags (<code>&lt;link rel=\"alternate\" type=\"text\/markdown\"&gt;<\/code>) are added to your HTML head to inform crawlers of the alternate format.<\/p><\/dd>\n<dt id=\"can%20i%20disable%20markdown%20generation%20for%20specific%20posts%3F\"><h3>Can I disable Markdown generation for specific posts?<\/h3><\/dt>\n<dd><p>Yes. On any post or page edit screen, locate the <strong>Markdown Page<\/strong> meta box and check <strong>Disable Markdown generation for this post<\/strong>.<\/p><\/dd>\n<dt id=\"can%20i%20write%20custom%20markdown%20manually%20for%20a%20specific%20post%20instead%20of%20using%20the%20template%3F\"><h3>Can I write custom Markdown manually for a specific post instead of using the template?<\/h3><\/dt>\n<dd><p>Yes. In the <strong>Markdown Page<\/strong> meta box, check <strong>Use custom Markdown for this post<\/strong> and enter your custom Markdown in the textarea.<\/p><\/dd>\n<dt id=\"are%20custom%20taxonomies%20and%20acf%20%2F%20post%20meta%20supported%20in%20templates%3F\"><h3>Are custom taxonomies and ACF \/ post meta supported in templates?<\/h3><\/dt>\n<dd><p>Yes! You can use <code>{%taxonomy:your_tax_name%}<\/code> for any custom taxonomy, and <code>{%meta:your_field_key%}<\/code> for any custom post field or ACF value.<\/p><\/dd>\n<dt id=\"can%20i%20override%20templates%20or%20markdown%20conversion%20in%20my%20theme%20code%3F\"><h3>Can I override templates or Markdown conversion in my theme code?<\/h3><\/dt>\n<dd><p>Yes. IZ MD Pages provides extensive filter hooks such as <code>iz_md_post_type_template_{$postType}<\/code>, <code>iz_md_post_template_{$postId}<\/code>, <code>iz_md_render_block_{$blockName}<\/code>, <code>iz_md_render_custom_placeholder_{$tag}<\/code>, and <code>iz_md_page_content<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>The first public release.<\/li>\n<li>Support for <code>\/md<\/code> URL endpoint and <code>?md<\/code> query variable routing with canonical 301 redirection.<\/li>\n<li>Gutenberg block renderer and HTML-to-Markdown converter.<\/li>\n<li>Flexible post type templates with customizable header and footer options.<\/li>\n<li>Advanced placeholder engine supporting core post attributes, author fields, taxonomies, comments, and custom post meta.<\/li>\n<li>Post edit screen meta box with enable\/disable toggles and manual Markdown editing.<\/li>\n<li>Automatic discovery alternate link header insertion.<\/li>\n<li>Complete developer filter hooks architecture.<\/li>\n<\/ul>","raw_excerpt":"Generate and serve clean, lightweight, and AI\/LLM-friendly Markdown versions of your WordPress posts, pages, and custom post types.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/356893","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=356893"}],"author":[{"embeddable":true,"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ivanzhuck"}],"wp:attachment":[{"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=356893"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=356893"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=356893"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=356893"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=356893"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bho.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=356893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}