Docsbook
概览

搜索引擎优化

Docsbook 会为你构建文档中可供机器读取的部分。它托管的每个页面都是服务器渲染的 HTML,其中包含已解析的 <title>、清理后的元描述、一个规范 URL、一个仅包含你实际翻译过的语言的 hreflang 集合、带有生成图像的 OpenGraph 和 X 卡片、一个 JSON-LD 图谱,以及站点地图中的一条记录,而 robots.txt 会指向该站点地图。你编写 Markdown;页面头部内容则由此生成。

本节介绍搜索结果——Google 和 Bing 会抓取、编入索引并进行排名的内容。另有两个相邻部分涵盖其他机器可访问的界面,且与本节不重叠: AEO 是结果上方的答案框,而 GEO 是被 AI 助手引用,而不是参与排名。

对你而言的代价#

三件事,其中一件并非可选。

  1. 开启 SEO 开关。 在管理面板的 设置 ▸ SEO & GEO 中,启用 SEO 开关。它在新项目中默认关闭,关闭期间每个页面都会以 noindex, nofollow 提供——标记全部由系统生成,而且所有内容都表示“不要将我编入索引”。这是 Docsbook 网站未出现在 Google 中最常见的单一原因。所有计划均免费。
  2. 写一个清晰的 # H1,以及一段能够回答页面问题的开场段落。 除非你覆盖它们,否则它们会成为标题和描述。
  3. 没有其他内容。 规范 URL、站点地图、robots.txt、卡片、JSON-LD 和 语言集群均由系统管理,并且没有可供配置的界面。

若要覆盖某个页面的生成行,请将其放入 frontmatter:

---
title: "Configure a webhook"
description: "Register a Docsbook webhook, choose its events, and verify the first delivery."
---

若要让某个页面不被编入索引,同时仍保持发布状态并可读:

---
noindex: true
---

robots: noindexnoindex: yesnoindex: 1 也同样接受。将其用于那些消耗抓取预算却从未带来点击的页面——例如 90,000 个字符的变更日志、内部工作笔记或未完成的占位页面。对于这类情况,网站级开关并不是正确的工具:关闭它会隐藏所有内容。

这些信号,以及每个信号的决定位置#

信号 Docsbook 的处理方式 位置
<title> 前置元数据 title → 正文 H1 → 文件名;工作区名称恰好追加一次 工作原理
<meta description> 前置元数据 description → 开头段落,去除标记后限制为 160 个字符 工作原理
规范 URL 自定义域名 → 产品路径 → 顶级域名短路径 → 所有者子域名;绝不会使用会发生重定向的 URL 工作原理
hreflang 仅包含此页面确实已翻译成的语言区域,以及 x-default 工作原理
OpenGraph / X 卡片 summary_large_image,每个页面配有一张生成的 1200×630 图片 工作原理
Robots 指令 预览 → 站点开关 → 页面 noindex,按此优先级处理 工作原理
sitemap.xml 每个页面加上真实翻译,lastmod 来源提交 工作原理
JSON-LD 每个页面包含 Organization + TechArticle + BreadcrumbList 工作原理
发现与重新抓取 站点地图、robots.txt、IndexNow 推送、缓存计时器 索引
Google 排名 将 Search Console 数据读取到管理面板,每个套餐均免费提供 索引

为什么这是正确的做法(证据)#

Docsbook 的做法 为什么这对爬虫有效 来源
提供完整的服务器渲染 HTML Google 会在队列中渲染 JavaScript,页面“可能会停留……几秒钟,但也可能需要更长时间”,而且“并非所有机器人都能运行 JavaScript” JavaScript SEO 基础知识
为每个页面提供独立的标题和描述 Google 的标题链接来源首先包括“<title> 元素中的内容”;并且“网站每个页面上相同或相似的描述没有帮助” 标题链接摘要
将规范网址指向返回 200 的 URL rel="canonical" 是“指定 URL 应成为规范网址的强烈信号”——只有目标地址能够解析时,Google 才能遵循这一信号 整合重复 URL
仅在 hreflang 中列出实际存在的翻译 “如果页面 X 链接到页面 Y,页面 Y 必须链接回页面 X。如果不是这样……这些注释可能会被忽略” 本地化版本
lastmod 使用实际的提交日期 Google 使用 <lastmod>,“如果它始终且经可验证地……准确” 构建站点地图
仅当页面包含相应内容时才输出 FAQPage / HowTo “不要添加有关用户不可见信息的结构化数据,即使该信息是准确的” 结构化数据简介
在每个页面上将侧边栏渲染为 HTML 链接 抓取预算会花费在可访问的内容上;“如果其中许多 URL 是重复的……这会浪费 Google 在你的网站上进行抓取的大量时间” 抓取预算
页面移动时返回 308 临时重定向会使失效 URL 仍然作为规范网址 整合重复 URL

Docsbook 不会声称的内容#

  • 这些都不会让页面获得排名。 上述每种机制都会让页面变得 可抓取明确无歧义并且正确呈现。Google 的页面体验 FAQ 对“是否存在单一的‘页面体验信号’……?”的回答是“不存在单一 信号”,而对于页面体验对排名有多重要,回答是“Google 搜索始终致力于展示最相关的内容,即使页面体验不佳也是如此”(页面体验)。 标记是底线,而不是杠杆。
  • 结构化数据被记录为资格信号,而非排名信号。 Google 自己的介绍谈论的是富媒体搜索结果,没有提及排名。
  • prioritychangefreq 在站点地图中对 Google 没有任何作用。“Google 会忽略 <priority><changefreq> 值。” Docsbook 为那些确实会读取这些值的 搜索引擎生成它们。
  • 抓取预算可能不是你的问题。 Google 的抓取预算指南面向“拥有(100 万个以上唯一页面)且内容变化 较为频繁(每周一次)的超大型网站”,以及“拥有(1 万个以上唯一 页面)且内容变化非常快(每天更新)的中型或更大型网站”——同时还说明,这些“只是帮助你对网站进行分类的大致估计,并非 精确阈值。”在大型变更日志上执行 noindex 仍然值得;但把一个 拥有 60 个页面的文档网站当作抓取预算紧急事件,则没有必要。
  • 不存在倍增效应。 流量取决于你的主题、竞争对手以及你的 域名。任何向你承诺某个百分比的平台,报出的都是其他人的网站数据。

限制#

  • 全站开关默认处于关闭状态,且作用于整个工作区。在每页的 noindex 标志之上,没有“将此部分编入索引,而不是那一部分”的控制项。
  • 在自定义域名上,SEO 开关和每页的 noindex 不会生效 — 页面会无条件以 index, follow 提供 — 并且没有 hreflang 集群、没有 BreadcrumbList、没有站点地图、没有页面移动重定向,也没有 GEO 页面级信号。规范 URL、标题、描述、卡片以及 TechArticle 节点在此处均正确。请参阅 工作原理
  • Search Console 中的排名仅涵盖 Docsbook 托管的主机。 位于您自己域名上的站点不属于 Docsbook 读取的资源。请参阅 索引
  • 在 Docsbook 之外进行重命名不会留下重定向。 通过 Docsbook 进行的移动会自动写入重定向;而 git mv 不会。

检查清单#

  • 设置 ▸ SEO & GEO 中的 SEO 开关已开启。
  • 每个页面都有一个明确的 # H1,或一个 frontmatter title
  • 开头段落用一到两句话回答页面所提出的问题。
  • 每个页面都可以从侧边栏访问;不存在孤立页面。
  • 不应参与排名的页面包含 noindex: true
  • 对于多语言文档,已启用翻译功能 以便每种语言都拥有自己的可建立索引的 URL。

Updated

此页面对您有帮助吗?