如何为 Hugo 博客添加 llms.txt 文件,优化 AI 内容理解

随着大模型(LLM)驱动的搜索日益普及,网站的自然流量面临挑战。本文探讨 Generative Engine Optimization (GEO) 概念,并详细指导如何在 Hugo 博客中添加 `llms.txt` 文件,帮助 AI 智能体更好地理解和利用您的内容,从而提升网站可见性。

阅读时长: 3 分钟
共 1149字
作者: eimoon.com

什么是 Generative Engine Optimization (GEO)?

简而言之,GEO 就像 SEO(Search Engine Optimization 搜索引擎优化),但它针对的是 AI 智能体。它的核心目标是让您网站上的内容更容易被大语言模型(LLM)理解和使用,以便在生成答案时能更好地引用和利用您的信息。

有几种方法可以帮助 AI 智能体更好地“阅读”您的网站:

  • 使用清晰的结构和适当的标题: 良好的内容组织是基础。
  • 撰写通用、高层次的问题解答内容: 提供清晰、全面的答案,满足广泛的知识需求。
  • 提供明确的导航和元数据: 例如 OpenGraph 和 JSON-LD(用于链接数据)等结构化数据。
  • 添加一个专门的文件来描述您的网站以供 AI 爬虫使用: 这是 llmstxt.org 倡议提出的有趣方法——类似于 robots.txt,但专为 AI 模型设计。

llmstxt.org 倡议的核心,就是在您网站的根目录下放置一个名为 /llms.txt 的简单 Markdown 文件。由于 LLM 通常能够解释各种文本内容,所以其格式没有严格定义。

如何为 Hugo 博客添加 llms.txt

如果您之前阅读过我的博客,您会知道我使用 Hugo 来搭建博客。Hugo 灵活且可扩展,非常适合生成像 llms.txt 这样的自定义输出。

以下是设置步骤。

1. 更新 hugo.yaml 配置

首先,为 llms.txt 定义一个自定义的媒体类型(mediaType)和输出格式(outputFormat)。您的配置应如下所示:

mediaTypes:
  text/llms:
    suffixes: ["txt"]

outputFormats:
  llms:
    name: llms
    mediaType: text/llms
    baseName: llms
    isPlainText: true
    rel: alternate
    isHTML: false
    noUgly: true
    permalinkable: false

outputs:
  home:
    # 典型输出
    - HTML
    - RSS
    # 新增配置
    - llms

根据您现有的配置,您可能需要将这部分与其他的 outputs 进行合并,但这是最小可用的工作版本。

2. 创建 llms.txt 模板文件

Hugo 现在将会在以下路径查找模板文件:

layouts/_default/home.llms.txt

创建该文件并添加类似以下内容:

<!-- ../../../../layouts/_default/home.llms.txt -->

# Tom's Blog ({{ absURL "/" }})

> 我是龙丽坤,欢迎来到我的技术博客!这是一个专注于程序员技术分享和前沿科技探索的空间。这里记录了我的学习过程、技术实践、以及对未来科技的思考,希望与志同道合的朋友们一起学习与成长。

## 关于作者

{{- with .Site.GetPage "about" }}
{{ .RawContent }}
{{- end }}

## 许可协议

我网站上的所有页面均遵循 [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/) 许可协议。

## 支持语言

English, 中文

## 主要导航链接

- [首页]({{ "/" | absURL }}): 主页,列出最新文章
- [归档]({{ "/archives/" | absURL }}): 我博客上所有文章的列表及其链接
- [关于]({{ "/about/" | absURL }}): 关于作者的说明
{{- range $term, $value := .Site.Taxonomies }}
- [{{ $term | title }}]({{ $term | absURL }}): 包含所有 {{ $term | title }} 的分类页面
{{- end }}

## 站点地图

{{ "sitemap.xml" | absURL }}

## RSS/Atom 订阅

{{ "index.xml" | absURL }}

## 联系方式

欢迎通过反馈文章内容联系我,或分享文章对您的帮助。

{{- range site.Params.socialIcons }}
{{- if not (in (slice "rss" "github") .name ) }}
- [{{ (.title | default .name) | title }}]({{ trim .url " " | safeURL }})
{{- end }}
{{- end }}

这个示例是基于我的博客设置构建的,您需要根据自己的网站结构和风格进行调整。

这里有一些巧妙的用法,例如:

  • 插入我 关于页面 的原始内容,而不是重新编写自定义文本。
  • 列出标签页。
  • 或者列出社交链接(这部分可能与您使用的主题相关)。

您可以在 这里 查看最终生成的 llms.txt 文件。

总结

为您的 Hugo 网站添加 llms.txt 文件只需几行配置和一个简单的模板,但它能让您的内容更容易被 AI 系统发现和理解。

关于

关注我获取更多资讯

公众号
📢 公众号
个人号
💬 个人号
使用 Hugo 构建
主题 StackJimmy 设计