Templates
The Templates tab controls how each content type is formatted in the generated Markdown output. Templates use a simple {{variable}} syntax - no coding required.
Template kinds
Each content type maps to one of three template kinds:
| Kind | Applies to |
|---|---|
| site | The top-level llms.txt index - the overall structure and section headings |
| post | Posts, pages, WooCommerce products, and custom post types |
| term | WooCommerce product categories and custom taxonomies |
The site template controls the skeleton of the whole file. Post and term templates control the per-item blocks that get assembled inside it.
Free vs Pro
Free users see read-only default templates for each content type. The defaults are well-structured and cover the common variables for each type - most sites don’t need to change them.
Pro users Pro can edit and save a custom template per content type. A Reset to default button is always available to restore the original. Pro users also get a live preview: select a sample item from the dropdown and the rendered output updates as you type.

Variable substitution
Write {{variable_name}} anywhere in a template. The plugin replaces it with the field value at generation time.
Variables available in all post templates
| Variable | Output |
|---|---|
{{title}} | The post/page title |
{{url}} | The canonical URL |
{{content}} | The full Markdown body |
{{excerpt}} | The post excerpt (or auto-generated first paragraph) |
{{published_date}} | Publication date |
{{modified_date}} | Last-modified date |
{{featured_image}} |  for the featured image |
Additional variables for posts
| Variable | Output |
|---|---|
{{author}} | Display name of the post author |
{{categories}} | Comma-separated list of categories (linked) |
{{tags}} | Comma-separated list of tags (linked) |
Additional variables for pages
| Variable | Output |
|---|---|
{{parent_page}} | Link to the parent page, if any |
Variables for WooCommerce products
| Variable | Output |
|---|---|
{{sku}} | Product SKU |
{{price}} | Current price (regular or sale) |
{{regular_price}} | Regular price |
{{sale_price}} | Sale price (empty if not on sale) |
{{stock_status}} | ”In stock” / “Out of stock” / “On backorder” |
{{stock_quantity}} | Numeric stock count (if managed) |
{{short_description}} | The WooCommerce short description field |
{{variations_section}} | Formatted list of product variations with per-variation pricing |
{{reviews_section}} | Customer reviews with star ratings (requires Include customer reviews in Settings) |
{{related_section}} | Related and upsell products (requires Include related/upsell products in Settings) |
{{weight}} | Product weight with unit |
{{dimensions}} | Product dimensions with unit |
Variables for the site index template
| Variable | Output |
|---|---|
{{site_name}} | Your site name |
{{site_tagline}} | Your site tagline |
{{site_description}} | The extended site description from Settings |
{{site_url}} | Your site URL |
{{pages_list}} | Auto-generated list of page entries |
{{posts_list}} | Auto-generated list of post entries |
{{products_list}} | Auto-generated list of product entries |
{{legal_list}} | Auto-generated list of legal/utility pages |
{{generated_date}} | Timestamp of the last generation run |
Variables for taxonomy templates (term kind)
| Variable | Output |
|---|---|
{{title}} | Taxonomy term name |
{{url}} | Term archive URL |
{{taxonomy}} | Taxonomy slug (e.g. product_cat) |
{{description}} | Term description |
{{count}} | Number of posts/products in this term |
Conditional blocks
Use {{#variable}}...{{/variable}} to show a block of text only when the variable is non-empty. This prevents stray headings or labels when a field has no value.
Example: Only show the SKU line when a product has a SKU set:
{{#sku}}**SKU:** {{sku}}
{{/sku}}
Example: Show a variations section only for variable products:
{{#variations_section}}
## Variations
{{variations_section}}
{{/variations_section}}
Conditionals can wrap any amount of text, including other variables.
Custom meta fields Pro
Any meta key listed under Settings → Advanced → Custom Field Mapping becomes available as {{meta_keyname}} in templates. For example, adding rating to the field mapping list lets you use {{meta_rating}} in post templates. Custom field mapping (together with ACF fields below) is a Pro feature.
ACF fields Pro
If Advanced Custom Fields (ACF) is active, use {{acf_fieldname}} to pull in any ACF field value by its field name. Conditional blocks work with ACF fields too:
{{#acf_summary}}**Summary:** {{acf_summary}}
{{/acf_summary}}
Bulk regeneration Pro
After editing a template, click Regenerate all in the Templates tab to re-run generation for every item that uses the changed template. Free users can trigger a full regeneration from the Generate tab at any time.
Per-page Markdown overrides Pro
When Post Editor Integration is enabled in Settings →, an AI Preview meta box appears in the WordPress post editor. From there you can:
- Preview the auto-generated Markdown for that specific post.
- Write a manual override that takes priority over the template output and persists through future regenerations.
- Reset to auto-generated output at any time.
Free users can preview any page’s Markdown from the Generate tab’s content list; editing and saving per-page overrides requires Pro.