对 AI 智能体友好的网站
原则:每个 HTML 页面都有一个内容相同的 Markdown 双胞胎,并且智能体知道如何找到它。
运行 python3 scripts/check_seo_agents.py 可验证以下所有内容。
1. 每个页面的 .md 双胞胎
| HTML 页面 | 文件 | Markdown URL |
|---|---|---|
site/index.html → / | site/index.md | /index.md |
site/tutos/git-rebase/index.html → /tutos/git-rebase/ | site/tutos/git-rebase/index.md | /tutos/git-rebase/index.md |
例外:404.html(无双胞胎)。
创建或修改页面时,在同一个提交中同时修改两个文件。.md 不是摘要:它包含页面的所有有用内容(文本、步骤、代码、链接),不含装饰性元素。
.md 格式:
---
title: Git rebase 交互式操作,3 分钟搞定
description: 使用 git rebase -i 干净地重写提交,不破坏任何东西。
url: https://bytetuto.com/tutos/git-rebase/
lang: zh
updated: 2026-10-16
---
# Git rebase 交互式操作,3 分钟搞定
> 1-2 句话直接回答:本页面教授什么内容。
## 步骤
1. …
```bash
git rebase -i HEAD~3
```
## 另见
- [撤销提交](https://bytetuto.com/tutos/annuler-commit/index.md)
视频:https://www.youtube.com/watch?v=…
规则:
- YAML 前置元数据包含
title、description、url(= HTML 规范地址)、lang、updated(与页面值相同)。 - 只有一个
# 标题=<h1>。##/###层级与 HTML 一致。 - 链接使用绝对路径(
https://bytetuto.com/…),且指向.md文件(若目标页面有.md双胞胎)。 - 代码写在包含语言标识的 ``` 代码块中。不使用原始 HTML、装饰性表情符号、无文字说明的图片(必须使用
)。 - 在 HTML 的
<head>中添加:<link rel="alternate" type="text/markdown" href="…/index.md">
2. /llms.txt —— 面向智能体的目录
site/llms.txt,遵循 llmstxt.org 格式:# byteTuto,一个 > 引用来总结网站,然后是带有指向 .md 文件链接列表的 ## 部分:
## 教程
- [Git rebase 交互式操作](https://bytetuto.com/tutos/git-rebase/index.md): 干净地重写提交。
创建/删除页面时添加/移除对应的行。次要内容放入 ## Optional 部分。
当教程超过大约 10 个时:同时生成 site/llms-full.txt(所有 .md 文件的拼接)。
3. 服务器(已在 nginx/ 中配置)
.md文件以text/markdown; charset=utf-8格式提供,并带有X-Robots-Tag: noindex(防止 Google 出现重复内容——仅 HTML 版本被索引)。- 内容协商:带有
Accept: text/markdown头的请求访问/或/tutos/x/时会直接返回.md文件(HTML 响应包含Vary: Accept头)。 - 测试:
curl -s http://localhost:8088/index.md | head curl -s -H 'Accept: text/markdown' http://localhost:8088/ | head curl -sI http://localhost:8088/index.md | grep -i content-type # text/markdown
4. 可供导航的智能体读取的 HTML
- 内容直接呈现在初始 HTML 中(而非仅通过 JS 渲染)。
- 使用语义化标签、唯一的
<main>、层级化标题、<ol>/<ul>列表、<pre><code class="language-…">包裹的代码。 - 按钮使用
<button>,链接使用<a href>;每个控件都有可访问的名称(可见文本或aria-label)。 - 表单(如新闻通讯):每个字段都有
<label for>、明确的name和autocomplete属性,结果消息在 DOM 中可见。 - 不将内容置于强制交互之后(如隐藏的标签页:内容应保留在 DOM 中)。
- 保持 JSON-LD 结构化数据最新(参见
site-seo):智能体也会利用它们。
5. AI 爬虫(robots.txt)
项目选择:允许 AI 爬虫(确保在 ChatGPT、Claude、Perplexity、Google AI 中的可见性)。未经明确决定,不得为 GPTBot、ClaudeBot、PerplexityBot、Google-Extended 等添加 Disallow 指令。在文件末尾保留 Sitemap: 行。