PHPackages                             b13/ai-bots-love-markdown - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. b13/ai-bots-love-markdown

ActiveTypo3-cms-extension

b13/ai-bots-love-markdown
=========================

Serve page content as Markdown for AI bots

0.2.1(3mo ago)9892↓48.6%1[2 issues](https://github.com/b13/ai-bots-love-markdown/issues)[1 PRs](https://github.com/b13/ai-bots-love-markdown/pulls)GPL-2.0-or-laterPHPPHP ^8.2

Since Jan 21Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/b13/ai-bots-love-markdown)[ Packagist](https://packagist.org/packages/b13/ai-bots-love-markdown)[ RSS](/packages/b13-ai-bots-love-markdown/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (4)Used By (0)

AI Bots Love Markdown - Serve TYPO3 pages as Markdown for AI crawlers
=====================================================================

[](#ai-bots-love-markdown---serve-typo3-pages-as-markdown-for-ai-crawlers)

This TYPO3 extension provides an alternative Markdown representation of your pages for AI bots and crawlers.

This makes content accessible not just for humans and screen readers, but also for AI systems that consume and process web content.

Features
--------

[](#features)

- Converts any TYPO3 page to Markdown on-the-fly via content negotiation
- Works automatically with your existing page templates - no TypoScript configuration needed
- Extracts content from `` element (or `` as fallback)
- Automatic `` tag for Markdown discovery
- Strips navigation, header, footer, and other non-content elements
- Includes page metadata (title, dates, description, categories) as YAML front matter

Installation
------------

[](#installation)

Use `composer req b13/ai-bots-love-markdown` or install it via TYPO3's Extension Manager.

After installation, add the site set to your site configuration:

```
dependencies:
  - b13/ai-bots-love-markdown
```

Configuration
-------------

[](#configuration)

### Site Settings

[](#site-settings)

The extension provides two settings that can be configured per site (both enabled by default):

SettingDefaultDescription`ai_bots_love_markdown.enableContentNegotiation``true`Enable content negotiation via `Accept: text/markdown` header`ai_bots_love_markdown.enableDiscoveryTag``true`Add `` tag to HTML pages for Markdown discoveryTo override these settings, add them to your site's `settings.yaml`:

```
ai_bots_love_markdown:
  enableContentNegotiation: true
  enableDiscoveryTag: false
```

Currently, the suffix `/ai-bots-love.md` is hardcoded on purpose.

Usage
-----

[](#usage)

### Access Methods

[](#access-methods)

1. **Accept header**: Request any page with `Accept: text/markdown` header

    ```
    curl -H "Accept: text/markdown" https://example.com/my-page/

    ```
2. **URL suffix**: Append `/ai-bots-love.md` to any page URL

    ```
    https://example.com/ai-bots-love.md

    ```

### Output Format

[](#output-format)

The extension outputs Markdown with YAML front matter, extracting metadata from HTML meta tags with fallback to TYPO3 page record data:

```
---
title: "From og:title >  > page record"
url: "From canonical URL > request URL"
description: "From og:description > meta description > page record"
image: "From og:image (if present)"
author: "From meta author > page record"
date: 2024-01-15
modified: 2024-01-20
keywords:
  - From meta keywords
categories:
  - From TYPO3 categories
type: "From og:type (if present)"
site: "From og:site_name (if present)"
locale: "From og:locale (if present)"
---

# Page Title

Content converted to Markdown...
```

**Metadata Priority:**

- `title`: og:title → `` tag → page record
- `url`: canonical link → request URL
- `description`: og:description → meta description → page record
- `image`: og:image (if present)
- `author`: meta author → page record
- `date`/`modified`: page record (crdate/tstamp)
- `keywords`: meta keywords (if present)
- `categories`: TYPO3 sys\_category (from database)

### Auto-Discovery

[](#auto-discovery)

The extension automatically adds a `` tag to all HTML pages for Markdown discovery:

```

```

### Opt-in Behavior

[](#opt-in-behavior)

Pages are only converted to Markdown if they contain the `` tag. This means:

- Pages without the site set enabled won't be converted
- You can disable conversion for specific pages by disabling the discovery tag

Technical Details
-----------------

[](#technical-details)

### How It Works

[](#how-it-works)

1. A PSR-15 middleware intercepts requests with `Accept: text/markdown` header or `/ai-bots-love.md` suffix
2. The normal page rendering proceeds (your existing templates, TypoScript, etc.)
3. The middleware checks if the response contains the markdown alternate link tag
4. If present, it extracts `` content (or `` as fallback)
5. The HTML is converted to Markdown using league/html-to-markdown
6. Navigation, header, footer, and other non-content elements are stripped
7. Page metadata is added as YAML front matter

### Response Headers

[](#response-headers)

The Markdown response includes:

- `Content-Type: text/markdown; charset=utf-8`
- `X-Robots-Tag: noindex` (to prevent indexing of Markdown version)

### Best Practices for Templates

[](#best-practices-for-templates)

For best results, wrap your main content in a `` element:

```

    ...
    ...

    ...

```

License
-------

[](#license)

The extension is licensed under GPL v2+, same as the TYPO3 Core.

Background &amp; Authors
------------------------

[](#background--authors)

This extension was created by b13 GmbH in 2026 to enable AI systems to better consume website content. As AI crawlers become increasingly important for content discovery and processing, providing a clean Markdown representation helps ensure your content is accurately understood and indexed by AI systems.

Huge credits to Dries Buytaert's inspiration on this topic:

- [The Third Audience](https://dri.es/the-third-audience)
- [RSS Auto-Discovery](https://dri.es/rss-auto-discovery)

[Find more TYPO3 extensions we have developed](https://b13.com/useful-typo3-extensions-from-b13-to-you) that help us deliver value in client projects. As part of the way we work, we focus on testing and best practices to ensure long-term performance, reliability, and results in all our code.

###  Health Score

40

—

FairBetter than 88% of packages

Maintenance75

Regular maintenance activity

Popularity27

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~3 days

Total

3

Last Release

111d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/165630?v=4)[Benni Mack](/maintainers/bmack)[@bmack](https://github.com/bmack)

---

Top Contributors

[![bmack](https://avatars.githubusercontent.com/u/165630?v=4)](https://github.com/bmack "bmack (8 commits)")

### Embed Badge

![Health badge](/badges/b13-ai-bots-love-markdown/health.svg)

```
[![Health](https://phpackages.com/badges/b13-ai-bots-love-markdown/health.svg)](https://phpackages.com/packages/b13-ai-bots-love-markdown)
```

###  Alternatives

[netresearch/rte-ckeditor-image

Image support in CKEditor for the TYPO3 ecosystem - by Netresearch

63991.3k4](/packages/netresearch-rte-ckeditor-image)[christophlehmann/imageoptimizer

Optimize uploaded/processed images with binaries of your choice

46501.8k](/packages/christophlehmann-imageoptimizer)[b13/assetcollector

Add CSS and SVG files and strings as inline style tag/inline svg to the html code.

10118.4k](/packages/b13-assetcollector)[causal/fal-protect

Protect everything within /fileadmin/ based on associated folder and file restrictions (visibility, user groups and dates of publication).

1269.5k](/packages/causal-fal-protect)[mautic/mautic-typo3

Add-on TYPO3 extension that enhances the "EXT:marketing\_automation" TYPO3 extension by connecting it to the Mautic Marketing Automation platform: Determine "Persona" from Mautic segments. Also provides additional services e.g. language synchronisation between Mautic and TYPO3.

236.3k](/packages/mautic-mautic-typo3)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
