# LLM Ready

A Craft CMS plugin that makes your site machine-readable by serving clean Markdown versions of your content to AI crawlers and LLMs — no extra templates required.

-   **Role:** Solo developer — plugin architecture, content transformation, caching
-   **Stack:** PHP, Craft CMS, Twig, Markdown, YAML
-   **Links:** [Plugin Store](https://plugins.craftcms.com/llm-ready?craft5) · [Code](https://github.com/johnfmorton/craft-llm-ready)

## What it does

Append .md to any entry URL on a Craft CMS site running LLM Ready, and the plugin converts the page to clean Markdown with YAML front matter. It works out of the box with zero configuration — no template changes, no separate URL structure.

The plugin detects AI crawlers three ways: the .md URL suffix, Accept: text/markdown content negotiation, and user-agent detection for known bots like GPTBot, ClaudeBot, and PerplexityBot. It auto-generates a /llms.txt site index following the llms.txt specification, injects <link rel="alternate"> discovery tags into HTML pages, and caches Markdown output with automatic invalidation when entries are saved.

## Why it matters

LLM-readability is becoming a real concern for content sites, and most solutions require significant template work or external tooling. LLM Ready solves it at the CMS level with a single install. It’s in use on my own Craft sites and has generated active discussion in the Craft CMS community on Discord.

## Why I built it

I saw a gap between how AI tools consume web content and how most CMS-driven sites serve it. Rather than waiting for someone else to solve it, I built the plugin I wanted to use myself — which is how most of my tools start.

![](https://static.supergeekery.com/jfm-site-assets/_portfolio2100w/llm-ready-thumbnail.png)

---

[View All Work](/work)
