27 个首页 991 个标题:h6 是 h5 的近四倍,而 Google 说顺序不影响 Search

h1 h2 h3 seo 的建议通常是一条关于顺序的规则,而 Google 明写这个顺序对 Search 没有影响。2026-09-08 读取的 27 个首页共 991 个标题,h6 出现 38 次、h5 只有 10 次,11 个首页的第一个标题不是 h1。

排名与引用6 分钟读完2575 次阅读
27 个首页 991 个标题:h6 是 h5 的近四倍,而 Google 说顺序不影响 Search

实测 · 2026-09-08 · 27 个首页 · 单次抓取 · 服务端 HTML 里的标题层级

样本与口径:2026-09-08 对 30 个首页各发一次 GET,桌面 Chrome UA,跟随跳转,不执行 JavaScript,出口在日本。三个站掉出样本 —— stackoverflow.com 与 medium.com 各返回 403,www.reddit.com 返回一个 8KB 的拦截页 —— 最终纳入 27 个。先剥掉 HTML 注释,再按源码顺序取出全部标题元素。

这 27 个首页一共 991 个标题,其中 h1 只有 26 个,而 h6 出现 38 次、h5 只有 10 次。一份嵌套大纲里 h6 不可能比 h5 多,除非层级被跳过去了。11 个首页的第一个标题不是 h1,有一个是 h5。中文圈讲 h1 h2 h3 seo 时常说层级要顺,但 Google 官方明写:乱序对 Search 没有影响。

怎么测的

每个站只请求首页一次,用桌面 Chrome 的 UA 而不是 Googlebot,把服务端返回的 HTML 原样落盘,再按字节顺序取出全部 h1 到 h6。所以下文说的「第一个标题」指的是源码里的第一个,不是屏幕上最先看到的那一个。

# 数一遍你自己首页的标题层级
curl -s https://example.com/ \
  | grep -oE '<h[1-6][ >]' | tr -d '<>' | sort | uniq -c

# 输出里 h6 比 h5 多,就说明有层级被跳过

计数前先剥注释。这一步不能省:有几个站的 head 里留着被注释掉的旧标记,不剥的话会把解析器永远看不到的标题算进去。我们带注释和不带注释各算了一遍,两次都是 991 —— 这一轮的修正没有改变任何数字,但把这句话说出来比直接端出一个干净结果诚实。

三条局限。第一,只读服务端返回的 HTML、不执行 JavaScript,所以用前端渲染生成标题的站在这里会显得比实际更空。第二,每个站只取首页一个地址,这是 27 个首页而不是 27 个站。第三条最重要:本次没有任何数据能把层级和排名或被引用联系起来,我们也没做这个实验。

Google 对标题顺序到底怎么说

它说顺序对 Search 没有影响。《SEO Starter Guide》原话是:「Having your headings in semantic order is fantastic for screen readers, but from Google Search perspective, it doesn't matter if you're using them out of order.」(Google SEO Starter Guide,2026-09-08 访问)。至于一页该有几个标题,同一页拒绝给数:「there's no magical, ideal amount of headings a given page should have. However, if you think it's too much, then it probably is.」

标题层级不是排名指令,它是这个页面被拼装出来的记录。

这句话把整篇测量的性质换掉了。下面没有一张表是评分表,从 h4 跳到 h6 的站也没有违反 Google 的任何规定。层级真正暴露的是选标签时的那个决定:有人按大纲深度选,有人按字号大小选。

991 个标题落在哪一级

分布歪得很有规律,只有一种解释说得通 —— 中间几级被当成样式在用。两级吃掉 86.1%,最底下两级还倒过来了。

层级数量占比用它的站
h1262.6%22 / 27
h247347.7%25 / 27
h338038.3%22 / 27
h4646.5%11 / 27
h5101.0%2 / 27
h6383.8%4 / 27

38 个 h6 对 10 个 h5,这是本次最硬的一个数。嵌套大纲里每个 h6 头上都得有一个 h5,一个面板上 h6 差不多是 h5 的四倍,说明 h6 是被拿去干别的了。这 38 个里 Cloudflare 一家占 24 个,而它的 h6 全是首页上那几个大数字:「4.5x faster」和「310B」都被标成六级标题,紧跟在一个写着「Region: Earth」的 h2 后面。Framer 再占 7 个。

全面板只有两个站用 h5。其中一个是 Vercel,它把这件事演示得最清楚:源码里前四个标题依次是 h5 的「Agent Stack」「Core Platform」「Tools」「Learn」,那是导航菜单的分组标签。这个页面是有 h1 的,在更靠后的位置。

11 个首页不是从 h1 开始的

27 个里有 11 个的第一个标题不是 h1,替代品散在四个层级上。这是面板上最常见的偏离,比跳级还常见。

源码首标题站数是哪几个
h116其余各站
h26figma · webflow · netlify · bbc · theverge · github
h33techcrunch · substack · about.gitlab
h51vercel
一个都没有1news.ycombinator

Hacker News 整页零个标题。它的版面是一套嵌套表格,来自这场争论开始之前的年代,排名照样好 —— 把下面这些当成缺陷之前,值得先把这个事实摆在旁边。

TechCrunch 特别在另一个地方。它源码里的第一个标题是一个 h3,内容是「Something went wrong. Disable your adblocker on TechCrunch」。那是一条藏在隐藏容器里的报错,却是任何解析这份文档的程序遇到的第一个结构标签。只数 h1 的话永远发现不了它。这跟首页缺 h1 是两件事,缺 h1 的站在这 27 个里有 5 个。

还有两个站发了文字完全一样的重复标题:Stripe 把同一句 h1 发了两遍,Framer 把「Design with an agent」当 h3 发了两遍。3 个站上共有 4 个空标题 —— 一个开标签、一个闭标签,中间什么都没有。

9 个站跳了级,跳法集中在最底下

15 次跳级分布在 9 个站,其中 10 次落在 h6。集中度本身就是结论:跳级不是均匀发生的,它发生在有人想要小字号、顺手抓了最小那个标题标签的时候。

站点次数怎么跳的
www.cloudflare.com5h2→h6 一次,h4→h6 四次
www.framer.com3h3→h6,三次
supabase.com1h2→h6
www.wired.com1h3→h6
linear.app1h1→h3
arstechnica.com1h1→h4
react.dev1h2→h4
www.theverge.com1h2→h4
techcrunch.com1h3→h5

27 个里有 18 个一次都没跳。21 个站从头到尾不用 h5 和 h6 —— 这是躲开整个问题的一种办法:一份到 h4 就收住的大纲,跳不进它根本没用的那一级。

h1 h2 h3 seo 这套说法哪部分对,哪部分越界了

对的部分是层级应该描述深度。越界的部分是承诺排名收益。排名那一半 Google 已经白纸黑字答过了,答案是乱序对 Search 没影响。所以改跳级的理由不该是流量。

  • 为读屏软件改 —— Google 那句话点名的受益者就是它,那是真实用户,不是流量的代称
  • 层级被当字号用的时候改,因为下一次改版会把文字挪走、把标签留在原地
  • 别指望重排层级换来排名变化,也别让任何人拿这个卖你服务
  • 别给一个已经在别的层级上说清主题的页面硬塞 h1 —— 这个面板上有 11 个首页就是从别的层级开始的,本次没有任何数据能把它们和其余的站区分开

还有一个理由,也是这个站最在意的那个。一个摘取程序判断一段文字从哪开始、到哪结束,手上能用的东西很少:这段文字上方的那个标题,以及下一个同级或更高级的标题。当「310B」是一个挂在 h2 底下的 h6,边界逻辑就没有可依据的东西了。这条讲的是能不能被引用,不是能不能排上去,展开写在怎么为 AI 答案组织页面结构里。我们没有任何测量能证明它改变了被引用的比例。这里给的是机制,不是结果。

五分钟版本:把上面那条命令对自己的首页跑一遍,只看两件事。源码里的第一个标题,是不是别人问「这页讲什么」时你会说的那句?你的 h6 数量,是不是比 h5 多?想知道爬虫在解析标题之前能不能拿到这个页面,可以从更前面一层的缺口诊断开始。

常见问题

你们是怎么测的?

2026-09-08 每个首页请求一次,桌面 Chrome UA,不执行 JavaScript,剥掉注释后按源码顺序取标题。剔除三个站后纳入 27 个。方法一节里那条命令能在任意单页上复现层级计数。

跳过标题层级会不会影响 SEO?

Google 说不影响 Search。它公开的原话是:乱序标题是读屏软件要关心的事,从 Search 的角度看无所谓。我们没有做对照实验,而且在一个线上站上这个变量本来也隔离不出来。

一个页面是不是只该有一个 h1?

这个面板上 18 个正好一个,4 个有两个,5 个一个都没有。Stripe 的两个 h1 文字完全相同,Cloudflare 的两个内容不同。本次没有任何数据能按结果把这几组分开,所以「该不该」我们答不了,只能报告一件事:面板上最大的那些站彼此并不一致。

为什么数 h5 和 h6 的比例,而不是逐页看大纲?

因为比例脱离上下文也成立。大纲得一页一页读,但一个面板上 38 个 h6 配 10 个 h5,不用打开任何一个页面,就已经告诉你其中有些 h6 头上没有 h5。

27 个首页 991 个标题:h6 是 h5 的近四倍,而 Google 说顺序不影响 Search