# How to get cited by LLMs: a practical AI SEO guide (llms.txt, .md, JSON-LD)

> AI Release · @ai_release1 · https://ai-release.net/guides/kak-popast-v-otvety-llm-ai-seo_en.html

Many website owners see their content cited by ChatGPT, Perplexity, or Claude — while their own articles stay invisible. This guide fixes that. You will learn three complementary methods to make your site readable for large language models (LLMs, neural networks that generate text and answer questions): the `llms.txt` file, clean `.md` copies of articles, and JSON-LD structured data. The guide works for any website — WordPress, static HTML, or a custom CMS — and requires no programming skills beyond copying text and uploading files.

## Requirements and Preparation
![Illustration: Requirements and Preparation](https://ai-release.net/guides/img/kak-popast-v-otvety-llm-ai-seo-en-1.jpg)

- A website with hosting that allows file upload: FTP (File Transfer Protocol), a file manager in the control panel, or an SSH terminal.
- A plain text editor: VS Code, Notepad++, or the built-in editor in your hosting panel.
- Access to the HTML `<head>` of your pages. In WordPress, any SEO plugin (Yoast, Rank Math) can insert JSON-LD for you.
- A browser and, ideally, a terminal. On Windows, PowerShell works for testing commands.
- Optional: access to a chatbot with a web-browsing feature to verify results.

No paid tools are required. The whole setup takes about one hour.

## Step-by-Step Instructions
![Illustration: Step-by-Step Instructions](https://ai-release.net/guides/img/kak-popast-v-otvety-llm-ai-seo-en-2.jpg)

1. **Create the `llms.txt` file in the site root.**
   `llms.txt` — a plain text file in Markdown format that summarizes your site for AI crawlers. Think of it as `robots.txt`, but instead of rules, it gives helpful descriptions.
   **Example:** create a file named exactly `llms.txt` and upload it to the root directory so it opens at `https://yoursite.com/llms.txt`.
   Start with a title and a short description:
   ```
   # YourSite

   > YourSite helps small business owners learn AI SEO.
   > We publish practical guides with copy-paste examples.
   ```
   Expected result: visiting `https://yoursite.com/llms.txt` in a browser shows plain text, not an HTML page.
   Why: LLM crawlers fetch this file first to decide which pages deserve attention, so a clean summary improves your chances.

2. **List your key pages with descriptions.**
   Use a bullet list with the format `Page name: description`. The description is one or two sentences that tell the model exactly what the page covers.
   **Example:**
   ```
   ## Public pages

   - How to write meta descriptions: step-by-step guide with formulas and ready templates.
   - JSON-LD for beginners: what structured data is and five copy-paste examples.
   ```
   Expected result: every important page appears exactly once, with a description that fits in one line.
   Why: models parse bad HTML navigation poorly; a clean list removes all noise.

3. **Add the `Optional` section for raw files.**
   The `llms.txt` convention includes an `Optional:` part for content that improves understanding but is not strictly required.
   **Example:**
   ```
   ## Optional

   - Full article: JSON-LD for beginners: raw markdown copy, no navigation.
   ```
   Expected result: the crawler knows a clean version of the article exists.

4. **Create `.md` copies of your best articles.**
   Markdown (`.md`) — a lightweight plain-text format where `#` makes headings and `text` makes links. LLMs read it much faster than HTML.
   **Example:** for every long article, save a copy as `article-name.md` and host it at `https://yoursite.com/guides/json-ld.md`.
   Remove sidebars, cookie banners, and ads. Keep headings, paragraphs, lists, and code blocks.
   Expected result: the file opens as clean text; GitHub or any markdown viewer renders it with proper headings.
   Why: a raw file with zero boilerplate helps both the crawler and the model focus on your actual content.

5. **Add JSON-LD markup to your pages.**
   JSON-LD — a JSON block embedded in HTML that describes the page’s meaning, like author, headline, and publication date. Search engines and AI pipelines read it as a structured fact sheet.
   **Example:** insert inside the `<head>` of your article, or add via an SEO plugin:
   ```json
   {
     "@context": "https://schema.org",
     "@type": "Article",
     "headline": "JSON-LD for beginners",
     "description": "What structured data is and five copy-paste examples.",
     "author": { "@type": "Organization", "name": "YourSite" },
     "datePublished": "2025-01-15"
   }
   ```
   Expected result: the page source now contains a `<script type="application/ld+json">` block. Paste the page URL into Google’s Rich Results Test — it should show a valid Article.

6. **Test everything from a terminal.**
   **Example:** run:
   ```bash
   curl https://yoursite.com/llms.txt
   ```
   Expected result: the terminal prints your text, starting with `# YourSite`.
   Then check the markdown file:
   ```bash
   curl -I https://yoursite.com/guides/json-ld.md
   ```
   Expected result: `HTTP 200` with `content-type: text/markdown` or `text/plain`.
   Why: a `404` or wrong content type means crawlers silently ignore your file.

7. **Verify with a chatbot and update regularly.**
   Open a chatbot with web access and say: “What does YourSite offer?” or “Summarize the guide about JSON-LD from yoursite.com.”
   Expected result: the model cites your content and repeats the key facts from your descriptions.
   Update `llms.txt` every time you publish a major article. In practice, indexing takes anywhere from a few days to several weeks. To be confident your content is high quality before publishing, follow a structured testing approach like the one in [How to Test and Evaluate AI Models: A QA Guide for Machine Learning](https://ai-release.net/guides/kak-testirovat-i-otsenivat-kachestvo-ii-modeley-gayd-po.html?utm_source=tg&utm_medium=channel&utm_campaign=guide_inline&utm_content=guide_to_guide).

If you prefer full control over how models use your data — for example, on your own machine — read [How to run AI models locally on your PC: a beginner's guide](https://ai-release.net/guides/kak-zapustit-ii-model-lokalno-na-svoem-kompyutere-gayd.html?utm_source=tg&utm_medium=channel&utm_campaign=guide_inline&utm_content=guide_to_guide). For choosing which models to optimize for, the [Best AI models and neural networks in 2026](https://ai-release.net/guides/luchshie-nejroseti-i-modeli-2026.html?utm_source=tg&utm_medium=channel&utm_campaign=guide_inline&utm_content=guide_to_guide) guide helps.

## Possible Problems and Solutions
![Illustration: Possible Problems and Solutions](https://ai-release.net/guides/img/kak-popast-v-otvety-llm-ai-seo-en-3.jpg)

**Problem 1: `llms.txt` returns 404.**
Symptom: `curl https://yoursite.com/llms.txt` shows `404 Not Found`, or the browser opens a CMS error page.
Solution:
1. Check the filename. It must be exactly `llms.txt`, lowercase, no spaces.
2. Check the file is in the root folder — the same level as `index.html` or `wp-config.php` — not inside `/images/` or `/blog/`.
3. Clear the CDN cache if you use Cloudflare.
4. Wait up to 24 hours for DNS changes if the site is new.

**Problem 2: Crawlers ignore your content.**
Symptom: you add all the files, and after a month a chatbot still answers without citing you.
Solution:
1. Make descriptions factual and specific. “World-class insights” is weak; “step-by-step guide with templates” is strong.
2. Ensure no CAPTCHA or login wall blocks bots.
3. Keep files static. If `llms.txt` is generated by JavaScript, crawlers will never see it.

**Problem 3: JSON-LD does not appear in tests.**
Symptom: Google Rich Results Test reports “could not detect structured data.”
Solution:
1. Put JSON-LD inside `<head>`, not in `<body>`.
2. Validate the JSON with a linter — one missing comma breaks the entire block.
3. If you use a plugin, confirm it is enabled for the exact post type you test.

## FAQ

**What is llms.txt?**
A proposed standard introduced by Jeremy Howard in 2024. It is a Markdown file in the site root that summarizes the site for AI crawlers, similar to how `robots.txt` guides search engine bots.

**Does llms.txt help with Google ranking?**
No. Google has stated that llms.txt is not a ranking factor. It targets AI assistants and retrieval crawlers (systems that fetch documents and then generate answers).

**Do I need all three: llms.txt, .md, and JSON-LD?**
Start with `llms.txt` for AI crawlers and JSON-LD for search engines. The `.md` copies are optional but valuable if your site is heavy on JavaScript, which many crawlers cannot render.

**What is the difference between llms.txt and sitemap.xml?**
A sitemap lists URLs for search engines to crawl. `llms.txt` explains what each page is about in plain language, so an LLM can decide which page matches a user’s question — that is the key difference.
