h1 到 h6 无固定seo数值但具严格语义层级:一个页面仅能有一个h1作唯一主标题,h2–h6须逐级嵌套不可跳级或倒序,css样式不影响语义权重,标题结构是html骨架而非事后校验项。

h1 到 h6 没有独立的“SEO 权重数值”,但搜索引擎和辅助技术会按层级顺序赋予语义重要性:h1 是唯一主主题信号,h2 是其直接子模块,h3 是 h2 的子模块……跳级或乱序会让这个信号链断裂,导致内容被误读或降权。
为什么不能用 h2 替代 h1 做页面标题?
浏览器不报错,但语义上等于把“书名”写成“章节名”。搜索引擎可能忽略页面核心关键词,屏幕阅读器用户进入页面后第一句听到的是“第二级标题”,无法建立上下文。CMS 模板里常见的 <h1>{{site_name}}</h1> + 正文又一个 <h1>{{post_title}}</h1> 就属于典型冲突——两个 h1 同时争夺“唯一主题”身份,算法会弱化两者信号。
- 一个页面必须且只能有一个
<h1></h1>,它应准确概括当前页意图(如文章页用标题、商品页用 SKU 名) - 单页应用(SPA)路由切换时,
<h1></h1>文本必须同步更新,否则多个路由共用同一<h1></h1> - logo 图片不应包裹在
<h1></h1>里,该用<header></header>或<div role="banner"> <h3>h2–h6 必须严格逐级嵌套吗?</h3> <p>必须。不是“建议”,而是解析逻辑硬约束。HTML5 的文档大纲(document outline)依赖连续层级生成结构树;<code><h1></h1>后直接<h3></h3>会导致大纲断层,Lighthouse 可访问性检测直接标红,iOS Safari 等旧环境甚至可能跳过缺失层级的内容。- 正确结构是:
<h1></h1>→<h2></h2>→<h3></h3>→<h4></h4>,中间不可跳(如 h1→h3)、不可倒(如 h3→h2) - 同一层级可重复使用(多个
<h2></h2>没问题),但每个<h2></h2>都应是<h1></h1>的直接子模块 -
<h6></h6>实际使用率不足 5%,多数场景用不到;真需细颗粒度,优先考虑<dl></dl>或带语义的 class
CSS 覆盖默认字号会影响语义权重吗?
完全不会。你可以用 CSS 把
<h6></h6>设成 3em、把<h1></h1>压到 0.8em,只要 DOM 结构没乱,搜索引擎和屏幕阅读器照样识别层级。真正危险的是靠视觉判断“h2 太大就换 h4”,结果破坏了语义流。- 项目起步建议重置标题默认样式:
h1, h2, h3, h4, h5, h6 { margin: 0; font-weight: normal; } - 移动端注意 iOS Safari 对
<h6></h6>的line-height渲染异常,显式声明line-height: 1.2更稳妥 - 别用已废弃的
align属性居中标题,统一走 CSS 的text-align或 Flex
最常被忽略的一点:标题层级不是写完再检查的“事后校验项”,而是从第一行 HTML 就要规划的骨架。一旦结构歪了,后期靠 CSS 或 JS 强行补救,机器解析层面已经失效了。
- 正确结构是:











