Markdown Conversion · Nuxt AI Ready · Nuxt SEO

[NuxtSEO Pro](https://nuxtseo.com/ "Home")

- [Modules](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)
- [Tools](https://nuxtseo.com/tools)
- [Pro](https://nuxtseo.com/pro)
- [Learn SEO](https://nuxtseo.com/learn-seo/nuxt) [Releases](https://nuxtseo.com/releases)

[Sign In](https://nuxtseo.com/auth/github)

[Nuxt SEO on GitHub](https://github.com/harlan-zw/nuxt-seo)

[User Guides](https://nuxtseo.com/docs/ai-ready/getting-started/introduction)

[API](https://nuxtseo.com/docs/ai-ready/api/config)

[Releases](https://nuxtseo.com/docs/ai-ready/releases/v1)

AI Ready

- [Switch to AI Ready](https://nuxtseo.com/docs/ai-ready/getting-started/introduction)
- [Switch to Nuxt SEO](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)
- [Switch to Robots](https://nuxtseo.com/docs/robots/getting-started/introduction)
- [Switch to Sitemap](https://nuxtseo.com/docs/sitemap/getting-started/introduction)
- [Switch to OG Image](https://nuxtseo.com/docs/og-image/getting-started/introduction)
- [Switch to Schema.org](https://nuxtseo.com/docs/schema-org/getting-started/introduction)
- [Switch to Link Checker](https://nuxtseo.com/docs/link-checker/getting-started/introduction)
- [Switch to SEO Utils](https://nuxtseo.com/docs/seo-utils/getting-started/introduction)
- [Switch to Site Config](https://nuxtseo.com/docs/site-config/getting-started/introduction)
- [Switch to Skew Protection](https://nuxtseo.com/docs/skew-protection/getting-started/introduction)

Search…```k`` /`

v1.1.2

- [Discord Support](https://discord.com/invite/275MBUBvgP)

### Getting Started

- [Introduction](https://nuxtseo.com/docs/ai-ready/getting-started/introduction)
- [Installation](https://nuxtseo.com/docs/ai-ready/getting-started/installation)

### Core Concepts

- [AI Content Signals](https://nuxtseo.com/docs/ai-ready/guides/content-signals)
- [llms.txt Generation](https://nuxtseo.com/docs/ai-ready/guides/llms-txt)
- [Markdown Conversion](https://nuxtseo.com/docs/ai-ready/guides/markdown)
- [Model Context Protocol (MCP)](https://nuxtseo.com/docs/ai-ready/guides/mcp)
- [Runtime Sync (Optional)](https://nuxtseo.com/docs/ai-ready/guides/runtime-indexing)
- [Cloudflare Deployment](https://nuxtseo.com/docs/ai-ready/guides/cloudflare)
- [IndexNow](https://nuxtseo.com/docs/ai-ready/guides/indexnow)
- [CLI](https://nuxtseo.com/docs/ai-ready/guides/cli)

### Advanced

- [RAG Setup](https://nuxtseo.com/docs/ai-ready/advanced/rag-example)

Core Concepts

# Markdown Conversion

[Copy for LLMs](https://nuxtseo.com/docs/ai-ready/guides/markdown.md)

[mdream](https://github.com/harlan-zw/mdream) converts HTML pages to markdown during prerendering and runtime.

## [Build-Time](#build-time)

During `nuxi generate`:

1. Nuxt plugin queues `.md` route for each rendered page (`/about/` → `/about/index.md`)
2. Prerender middleware fetches HTML, converts to markdown, extracts metadata
3. `ai-ready:page:markdown` hook fires per page
4. Content appended to `page-data.jsonl` and streamed to `llms-full.txt`
5. Route serves raw markdown

Metadata extracted: title, description, headings, updatedAt (from `article:modified_time` etc).

## [Runtime](#runtime)

Markdown served when:

- Path ends in `.md` (explicit), OR
- `Accept` includes `text/markdown` AND NOT `text/html` AND `sec-fetch-dest` ≠ `document`

Targets API clients (Claude Code, curl, [Bun](https://bun.sh)) while excluding browsers.

```
curl https://example.com/about.md
curl -H "Accept: text/markdown" https://example.com/about
```

## [Configuration](#configuration)

nuxt.config.ts

```
export default defineNuxtConfig({
  aiReady: {
    mdreamOptions: {
      minimal: true,
    },
    markdownCacheHeaders: {
      maxAge: 3600,
      swr: true,
    },
  },
})
```

## [Hooks](#hooks)

### [`'ai-ready:mdreamConfig'`](#ai-readymdreamconfig)

Modify mdream options before conversion:

server/plugins/mdream-config.ts

```
export default defineNitroPlugin((nitroApp) => {
  nitroApp.hooks.hook('ai-ready:mdreamConfig', (options) => {
    if (options.origin?.includes('/blog/'))
      options.ignoreElements = [...(options.ignoreElements || []), '.author-bio']
  })
})
```

### [`'ai-ready:page:markdown'`](#ai-readypagemarkdown)

Modify markdown output at runtime:

server/plugins/markdown-footer.ts

```
export default defineNitroPlugin((nitroApp) => {
  nitroApp.hooks.hook('ai-ready:page:markdown', (ctx) => {
    ctx.markdown = \`---\ntitle: ${ctx.title}\n---\n\n${ctx.markdown}\`
  })
})
```

See [Nitro Hooks](https://nuxtseo.com/docs/ai-ready/nitro-api/nitro-hooks) for context types.

[Edit this page](https://github.com/nuxt-seo-pro/nuxt-ai-ready/edit/main/docs/content/2.guides/1.markdown.md)

[Markdown For LLMs](https://nuxtseo.com/docs/ai-ready/guides/markdown.md)

Did this page help you?

### Related

[Nitro Hooks](https://nuxtseo.com/docs/ai-ready/nitro-api/nitro-hooks) [Configuration](https://nuxtseo.com/docs/ai-ready/api/config) [AI-Optimized Content](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen/ai-optimized-content)

[llms.txt Generation Configure llms.txt and llms-full.txt output for AI discovery.](https://nuxtseo.com/docs/ai-ready/guides/llms-txt) [Model Context Protocol (MCP) Connect AI agents like Claude to your Nuxt site via MCP servers with built-in tools and resources.](https://nuxtseo.com/docs/ai-ready/guides/mcp)

On this page

- [Build-Time](#build-time)
- [Runtime](#runtime)
- [Configuration](#configuration)
- [Hooks](#hooks)

[GitHub](https://github.com/harlan-zw/nuxt-seo) [ Discord](https://discord.com/invite/275MBUBvgP)

### [NuxtSEO](https://nuxtseo.com/ "Home")

- [Getting Started](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)
- [MCP](https://nuxtseo.com/docs/nuxt-seo/guides/mcp)

Modules

- [Robots](https://nuxtseo.com/docs/robots/getting-started/introduction)
- [Sitemap](https://nuxtseo.com/docs/sitemap/getting-started/introduction)
- [OG Image](https://nuxtseo.com/docs/og-image/getting-started/introduction)
- [Schema.org](https://nuxtseo.com/docs/schema-org/getting-started/introduction)
- [Link Checker](https://nuxtseo.com/docs/link-checker/getting-started/introduction)
- [SEO Utils](https://nuxtseo.com/docs/seo-utils/getting-started/introduction)
- [Site Config](https://nuxtseo.com/docs/site-config/getting-started/introduction)
- [Skew Protection](https://nuxtseo.com/docs/skew-protection/getting-started/introduction)
- [AI Ready](https://nuxtseo.com/docs/ai-ready/getting-started/introduction)

### [NuxtSEO Pro](https://nuxtseo.com/pro "Nuxt SEO Pro")

- [Getting Started](https://nuxtseo.com/pro)
- [Dashboard](https://nuxtseo.com/pro/dashboard)
- [Pro MCP](https://nuxtseo.com/pro/docs/getting-started/mcp-setup)

### [Learn SEO](https://nuxtseo.com/learn-seo "Learn SEO")

Nuxt

- [Mastering Meta](https://nuxtseo.com/learn-seo/nuxt/mastering-meta)
- [Controlling Crawlers](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers)
- [Launch & Listen](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen)
- [Routes & Rendering](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering)
- [Staying Secure](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/security)

Vue

- [Vue SEO Guide](https://nuxtseo.com/learn-seo/vue)
- [Mastering Meta](https://nuxtseo.com/learn-seo/vue/mastering-meta)
- [Controlling Crawlers](https://nuxtseo.com/learn-seo/vue/controlling-crawlers)
- [SPA SEO](https://nuxtseo.com/learn-seo/vue/spa)
- [SSR Frameworks](https://nuxtseo.com/learn-seo/vue/ssr-frameworks)
- [SEO Checklist](https://nuxtseo.com/learn-seo/checklist)
- [Pre-Launch Warmup](https://nuxtseo.com/learn-seo/pre-launch-warmup)
- [Backlinks & Authority](https://nuxtseo.com/learn-seo/backlinks)

### [Tools](https://nuxtseo.com/tools "SEO Tools")

- [Social Share Debugger](https://nuxtseo.com/tools/social-share-debugger)
- [Robots.txt Generator](https://nuxtseo.com/tools/robots-txt-generator)
- [Meta Tag Checker](https://nuxtseo.com/tools/meta-tag-checker)
- [HTML to Markdown](https://nuxtseo.com/tools/html-to-markdown)
- [XML Sitemap Validator](https://nuxtseo.com/tools/xml-sitemap-validator)
- [Schema.org Validator](https://nuxtseo.com/tools/schema-validator)
- [Keyword Idea Generator](https://nuxtseo.com/tools/keyword-generator)
- [Keyword Research](https://nuxtseo.com/tools/keyword-research)
- [SERP Analyzer](https://nuxtseo.com/tools/serp-analyzer)
- [Domain Rankings](https://nuxtseo.com/tools/domain-rankings)

Copyright © 2023-2026 Harlan Wilton - [MIT License](https://github.com/harlan-zw/nuxt-seo/blob/main/license) · [mdream](https://mdream.dev)