SEO 优化续篇:站点描述、Sitemap 修复与隐私政策踩坑

#前言

谈谈本站是如何优化SEO的 那篇文章里,我整理了博客搭建初期踩过的 SEO 坑。但博客上线之后,随着对细节的不断打磨,又发现了几个容易被忽略的问题。

这篇文章是那篇的姐妹篇,专门讲三个上线之后才发现的 SEO 细节问题

  1. 站点 subtitle 的 SEO 优化——你以为只是个副标题,但搜索引擎看重它
  2. Sitemap 中 index.html 后缀修复——生成工具自动加的,但 canonical 和 sitemap 不一致会扣分
  3. 评论区隐私政策链接引发的 404——评论区合规要求引入的政策链接,结果自己先挂了

每一段都是实操经验,建议你也检查一下自己的站有没有同样的问题。


#一、站点 subtitle:一个被低估的 SEO 字段

#1.1 原始问题

博客刚搭好时,我在 _config.yml 里写了一句:

1
subtitle: '恒德乃足,复归于朴'

这句话出自《道德经》,看着挺有格调,但仔细想想——**搜索引擎拿到这个 subtitle 能理解我的博客是干什么的吗?**不能。它只会觉得这是一个哲学网站,或者干脆忽略这个字段。

#1.2 subtitle 的作用

Hexo 的 subtitle 字段会被注入到两个关键位置:

  • <title> 标签标题 | subtitle 的格式
  • <meta name="description">:某些主题会用它来生成站点描述

对搜索引擎来说,title 和 description 是判断页面内容最直接的信号。一个”有格调但不相关”的 subtitle,本质上是浪费了首页最宝贵的 SEO 位置。

#1.3 优化思路

优化 subtitle 的核心原则是:告诉搜索引擎你的博客在讲什么

我分析了站内所有文章的内容分布(比如 Karpathy 官宣Vibe Coding时代落幕 这类 AI 编程文章,以及 月入9W美元 这类创业案例文章):

内容主题 占比
AI 编程工具实战(Claude Code、OpenCode、Loop) 主力
创业案例复盘(独立开发、微 SaaS、一人公司) 第二大
开源项目评测 第三
Hexo 博客搭建与 SEO 优化 基建

基于这个分布,把 subtitle 改成了:

1
subtitle: 'AI编程实战 · 创业案例复盘 · 开源项目评测 · Hexo博客搭建手记'

#1.4 效果对比

维度 旧版(恒德乃足,复归于朴) 新版(关键词型)
搜索引擎理解 ❌ 不相关,可能被忽略 ✅ 内容定位清晰
用户第一印象 ❌ 不知道你这站讲什么 ✅ 一眼看懂
关键词匹配 ❌ 零匹配 ✅ 覆盖主要搜索意图
长尾流量 ❌ 无 ✅ 每个短语都是一个搜索入口

#1.5 检查你的站

打开你的 _config.yml,看看 subtitle 字段。如果它是一句诗词、格言、或者空着的,可以考虑换成一个关键词描述。文艺范和 SEO 在这个场景下确实不可兼得


#二、Sitemap 中的 index.html 后缀:一个隐蔽的扣分项

#2.1 发现问题

有一天检查 Sitemap 时,发现 URL 格式不统一:

1
2
3
4
5
6
7
<!-- 文章页:正常 -->
<loc>https://blog.vastnext.com/tech/32350.html</loc>

<!-- 页面页:多了一个 index.html -->
<loc>https://blog.vastnext.com/about/index.html</loc>
<loc>https://blog.vastnext.com/categories/index.html</loc>
<loc>https://blog.vastnext.com/privacy/index.html</loc>

而页面的 canonical URL 设置的是不带 index.html 的格式:

1
<link rel="canonical" href="https://blog.vastnext.com/about/">

Sitemap 和 canonical URL 不一致,会让搜索引擎困惑:到底哪个才是正确的 URL?虽然两者最终指向同一个页面,但重复的 URL 形式会分散权重。关于 canonical URL 的更多细节,在 上一篇 SEO 文章 的 JSON-LD 部分有提到。

#2.2 根因

Hexo 的 pretty_urls 配置默认是:

1
2
3
# _config.yml
pretty_urls:
trailing_index: true # 默认保留 index.html

trailing_index: true 意味着 Hexo 在生成 URL 时会保留 index.html 后缀。对文章页来说,因为用的是 permalink: :category/:abbrlink.html 格式,不受这个影响。但页面(about、categories、privacy 等)的路径天生是 xxx/index.html,所以就被带上了。

#2.3 修复

一行配置搞定:

1
2
3
# _config.yml
pretty_urls:
trailing_index: false # 去掉 index.html

改成 false 后,Hexo 生成的所有 URL 都会自动去掉 index.html 后缀。重新生成后:

1
2
3
4
<!-- 修复后 -->
<loc>https://blog.vastnext.com/about/</loc>
<loc>https://blog.vastnext.com/categories/</loc>
<loc>https://blog.vastnext.com/privacy/</loc>

Sitemap 和 canonical URL 完全一致了。

#2.4 检查你的站

打开你的 Sitemap(你的域名/sitemap.xml),搜索 index.html。如果发现有,说明你也有同样的问题。修完后记得同时检查 canonical URL 是否也一致——两者必须统一。


#三、评论区隐私政策链接引发的 404

#3.1 起因

给博客接入 Twikoo 评论系统 后,在评论区底部发现了一个”隐私政策”的链接。Twikoo 默认会在评论框附近显示这个链接,指向的是 /privacy/ 路径。

问题在于:这个路径对应的页面我当时还没创建。访问 /privacy/ 直接返回 404,而评论区又把这个链接展示给所有访客——这相当于在评论区贴了一个失效链接,用户体验和 SEO 都不好。

#3.2 解决方案

要解决这个问题,最直接的方式就是创建一个真实的隐私政策页面。

source/privacy/index.md 创建了一个完整的隐私政策页面,内容涵盖:

  • 信息收集与使用说明
  • 第三方服务披露
  • Cookie 与本地存储说明
  • 用户权利与联系方式

创建后,/privacy/ 路径就能正常访问了,评论区底部的隐私政策链接也不再是死链。

#3.3 额外发现:隐私协议弹窗

在创建隐私政策页面的过程中,还注意到 AnZhiYu 主题内置了一个”隐私协议弹窗”功能:

1
2
3
4
# _config.anzhiyu.yml
agreementPopup:
enable: false
url: /privacy

这个弹窗会在用户首次访问时弹出一个隐私协议确认框,链接指向 /privacy/。不过目前我把它关闭了(enable: false)——弹窗对用户体验有影响,等后续看是否有合规需要再开启。

#3.4 这件事的启示

说起来有点好笑:评论区需要一个隐私政策链接,但这个链接指向的页面本身不存在。这其实是一个很典型的”合规需求引发的技术债务”——加了一个功能,但没补全它依赖的基础设施。

如果你是 用 Hexo 搭建纯静态博客 的博主,也用了 Twikoo 或其他评论系统,建议检查一下:

  1. 评论区底部是否有隐私政策链接?
  2. 这个链接指向的页面是否存在?
  3. 如果存在,内容是否覆盖了你的实际数据处理情况?

#总结

这三个问题有一个共同点:它们都是博客上线正常运行之后才会暴露出来的细节问题。搭建博客时看不见,但搜索引擎和访客会替你发现。

问题 发现方式 修复成本 影响
subtitle 不相关 自查 SEO 效果 一行配置 首页 SEO 权重
Sitemap 有 index.html 检查 Sitemap 一行配置 URL 权重分散
隐私政策链接 404 访客点击发现 新建一个页面 用户体验 + 合规

如果我的 上一篇 SEO 文章 是”搭建阶段的 SEO 优化”,那这篇就是”运营阶段的 SEO 复盘”。博客不是搭完就结束的,SEO 是一次次迭代出来的


本文于 2026-07-22 发布,使用的技术版本:Hexo 7、AnZhiYu 1.6.14。