robots.txt、站点地图和标记:网站是怎么跟机器说话的

一个网站有两类读者:人和机器。后者不关心页面长什么样 —— 它关心三个很无聊的文件里写了什么。

人看的是页面。机器读的是文档:它的结构、它的标记,以及根目录下三个人永远不会打开的文件。它们决定了什么进得了搜索结果、一条链接在聊天软件里怎么展开,以及有人问起你公司时助手会怎么说。

robots.txt

最小的一个文件,也是最危险的一个。它说明爬虫可以去哪儿,而多出来的一行就能把整个网站从搜索里抹掉 —— 通常发生在某次发布时,因为测试环境那条规则一直没删。

它做不到的事:把一个页面藏起来。禁止抓取不等于禁止收录;一个被挡住的页面可能仍然留在结果里,只是没有描述。如果某个页面必须不出现在搜索里,那要在页面本身用 `noindex` 说,不是在 `robots.txt` 里。这里只关掉服务性的接口。

站点地图

一份你认定为「页面」的地址清单。它不影响排名,影响速度:没有它,搜索靠顺着链接找你的页面;有了它,搜索一次拿到整份清单。

两个常见错误。第一个是手工维护的地图:它永远落后最新那次发布。第二个是地图里装着已经跳转的地址和标了 noindex 的页面 —— 这是一场你明知给的数据是错的、还是给了出去的对话。

页面标记

标题按层级排,不按字号排。给组织和文章用的 `JSON-LD` —— 富媒体搜索结果就是从它长出来的。给聊天软件用的 Open Graph:没有它,链接展开出来就是一个空白方块,而这是唯一一种所有人一眼就能看见错误的格式。

社交卡片最好是磁盘上的图片,而不是临时画出来的:临时生成会跟着运行时一起挂掉,文件不会。

llms.txt

一个新文件,可选,而且还在争论中。想法很简单:给语言模型的一段简短说明 —— 这个产品是什么、给谁的、东西在哪儿。规矩和 meta 一样:**不要在里面写你会忘记更新的数字。** 一个助手会引用的文件里放着过期的价格,比不放价格更糟。

模板在这件事上做了什么

`robots.txt`、站点地图和 `llms.txt` 都随模板一起发出来,并且和站点配置绑在一起,而不是另写一份。地图会走一遍路线和文章。`JSON-LD` 和 Open Graph 是从画社交卡片用的同一套 meta 组装出来的 —— 每条路线每种语言一张图,所以一个中文页面不会展开出英文标题。

02继续读

博客里的更多内容

两篇,不会更多。 更长的一条会把文章结尾变成第二个目录页,而读者已经选过一次了。