0

ZBlog博客如何用GEO生成llms.txt文件(完整教程)

我是贝东 发布于

正文内容

ZBlog博客接入GEO(生成式引擎优化)的方法:通过PHP代码自动生成llms.txt和llms-full.txt文件,让AI引擎在回答问题时引用你的网站内容。

ZBlog博客如何用GEO生成llms.txt文件(完整教程)教程推荐文章-作者:我是贝东示意图1

GEO和SEO有什么区别

维度 SEO GEO
目标 搜索引擎排名 AI引擎引用
文件 robots.txt/sitemap.xml llms.txt/llms-full.txt
内容 关键词密度 结构化数据
平台 百度/Google ChatGPT/Claude/文心一言

简单说:SEO是让人搜到你,GEO是让AI提到你。

llms.txt和llms-full.txt分别做什么

llms.txt:放在网站根目录,告诉AI引擎你的网站有哪些核心内容。是一个摘要性的导航文件。

llms-full.txt:包含文章的完整内容,AI引擎可以直接读取并用于回答用户问题。

两者的关系类似 sitemap.xml 和网页本身的关系。

ZBlog生成llms.txt的PHP代码

以下代码放在ZBlog根目录,命名为 llms.php,访问即可生成:

<?php
require_once './zb_system/function/c_system_base.php';
require_once './zb_system/function/c_system_admin.php';

$zbp->Load();

// 生成 llms.txt
$content = "# {$zbp->name}\n\n";
$content .= "> {$zbp->subname}\n\n";
$content .= "## 文章列表\n\n";

// 生成 llms-full.txt
$content_full = "# {$zbp->name} - 完整内容\n\n";

// 获取所有已发布文章
$articles = $zbp->GetArticleList(
    array('*'),
    array(array('=', 'log_Status', 0)),
    array('log_PostTime' => 'DESC'),
    null,
    null
);

foreach ($articles as $article) {
    // 标签
    $tags = array();
    foreach ($article->Tags as $tag) {
        $tags[] = "#{$tag->Name}";
    }
    $tagStr = implode(' ', $tags);

    // 为URL添加.md后缀
    $mdUrl = $article->Url;
    if (substr($mdUrl, -1) === '/') {
        $mdUrl = rtrim($mdUrl, '/') . '.md';
    } else {
        $mdUrl .= '.md';
    }

    // 写入 llms.txt(摘要)
    $content .= "- [{$article->Title}]({$mdUrl}): {$article->Intro} {$tagStr}\n";

    // 写入 llms-full.txt(完整内容)
    $content_full .= "## {$article->Title}\n\n";
    $content_full .= "> 标签: {$tagStr}\n\n";
    $content_full .= strip_tags($article->Content) . "\n\n";
    $content_full .= "---\n\n";
}

// 写入文件
file_put_contents('./llms.txt', $content);
file_put_contents('./llms-full.txt', $content_full);

echo "llms.txt 和 llms-full.txt 已生成!";
?>

伪静态规则配置

如果ZBlog使用了伪静态,需要添加规则让 .md 结尾的URL能被正确访问。

Nginx规则

# 处理 .md 结尾的请求
if (!-f $request_filename) {
    rewrite ^/post/([0-9]+)\.html\.md$ /post.md.php?id=$1 last;
}

Apache规则(.htaccess)

RewriteRule ^post/([0-9]+)\.html\.md$ post.md.php?id=$1 [L]

如何验证llms.txt生效

  1. 访问 https://你的域名/llms.txt 看是否能正常显示
  2. 访问 https://你的域名/llms-full.txt 看完整内容是否正常
  3. 在AI工具中提问你的网站相关内容,看AI是否会引用

常见问题

GEO优化和SEO优化冲突吗?
不冲突。GEO是补充SEO的,两者可以同时做。llms.txt和sitemap.xml可以共存。

llms.txt一定要放在根目录吗?
是的。按llms.txt标准,必须放在网站根目录下,AI引擎默认在这个位置抓取。

llms-full.txt太大了会不会影响性能?
建议用PHP动态生成,不要存静态文件。文章更新时自动刷新,不影响网站速度。

第三方平台和自建站GEO有什么区别?
第三方平台(知乎、CSDN等)发布内容后由平台处理GEO。自建站需要自己生成llms.txt并配置规则。

我是贝东
资源领取助手
风可以吹走一张纸却吹不走一只蝴蝶因为生命的力量在于不顺从