---
title: "Markdown URL fallback (.md) · Sitebulb Labs"
description: "A .md twin of each page lets an agent fetch Markdown by convention when the server does not negotiate."
url: https://labs.sitebulb.com/docs/checks/content-accessibility/markdown-url-fallback/
---

# Markdown URL fallback (.md)

A .md twin of each page lets an agent fetch Markdown by convention when the server does not negotiate.

- Category

  [Content accessibility](https://labs.sitebulb.com/docs/checks/content-accessibility)

- Standard

  - Emerging checkEmerging
  - Off by default, turn on in settings

## What it checks

The llms.txt proposal suggests publishing a Markdown copy of each page at the page’s URL with `.md` appended. The extension requests that twin for the page being scanned:

- For a page such as `/docs/setup`, it requests `/docs/setup.md`.
- For a directory URL such as `/docs/`, it requests `/docs/index.html.md`, then `/docs/index.md`.
- For a URL that already ends in `.md`, there is nothing to probe.

A twin passes when it is served with a `text/markdown` content type.

## Results

| Status   | When                                                                    |
| -------- | ----------------------------------------------------------------------- |
| **Pass** | A `.md` twin is served as `text/markdown`                               |
| **Warn** | A twin exists and looks like Markdown, but has a different content type |
| **N/A**  | No `.md` twin was found                                                 |

## How to fix

Publish a Markdown version of each page at its URL plus `.md`, and at `index.html.md` for directory URLs. Serve them with the right content type:

```txt
Content-Type: text/markdown; charset=utf-8
```

Related: [Markdown content negotiation](https://labs.sitebulb.com/docs/checks/content-accessibility/markdown-negotiation) and [Markdown alternate link](https://labs.sitebulb.com/docs/checks/content-accessibility/markdown-link-alternate).
