hgroup标签在现代html中已废弃,chrome 120起移除dom支持,firefox和safari也不纳入大纲算法,seo无作用,应改用+等标准方案。

– 的嵌套、位置、文本内容及上下文。
为什么 不再被支持
为什么 不再被支持
最初设计目标是“让一组标题(如 +
)在大纲中只算一个条目”,但这个需求本身存在逻辑矛盾:副标题本质不是独立标题层级,而是主标题的修饰。主流浏览器和大纲解析器(包括辅助技术)发现,强行压制副标题的大纲贡献反而破坏语义可读性。
document.querySelector('hgroup') 在新版 Chrome 中返回 null,即使标签存在;getComputedStyle 也无法获取其样式(它本就不带默认样式)。
SEO 场景下替代 的正确写法
想表达“主标题 + 副标题”且兼顾 SEO 与可访问性,应直接使用语义清晰、层级明确的标题组合:
- 用
<h1></h1>写主标题,<p class="subtitle"></p>或<div aria-labelledby="main-title"> 包裹副标题(不升为 <code><h2></h2>) - 若副标题需参与大纲(例如长文多级结构),就该用
<h2></h2>—— 这是正当语义,不是“降级” - 在
<header></header>内组织:主标题用<h1></h1>,副标题用普通块级元素 +aria-describedby指向说明性 ID - 避免把副标题塞进
<h1></h1>的 innerHTML 里(如<h1>主标题<small>副标题</small> </h1>),这会让屏幕阅读器连读,且<small></small>无语义 - 不要花时间修复它来“提升 SEO”——没有收益
- 如果页面通过 Lighthouse 或 axe 测试报出“
hgroup已废弃”警告,直接删掉<hgroup></hgroup>和 ,保留内部标题即可 - 检查是否因移除 导致视觉错位(极少见),那说明原来靠 CSS 选中了
hgroup h2做样式,此时改用类名定位更稳妥 - 注意:W3C HTML5.3 规范已将 标记为“obsolete”,HTML Living Standard 中完全移除
- 每个页面确保有且仅有一个
<h1></h1>,内容包含核心关键词,且位于主内容区域(不在<header></header>的 logo 区) -
<h2></h2>–<h6></h6>按逻辑嵌套,不跳级(如不用<h1></h1>后直接<h3></h3>) - 标题文本长度控制在 50–60 字符内,避免搜索结果截断
- 用
<title></title>和<meta name="description">显式声明页面主旨,它们比任何 都重要得多
实际遇到 时该怎么处理
如果你在维护旧项目,页面里还残留着 <hgroup><h1>...</h1>
<h2>...</h2></hgroup>:
真正影响 SEO 的标题相关实践
比起纠结 ,更值得投入的是这些已被验证有效的点:
<h1></h1> 缺失或重复、副标题被错误标记为 <h2></h2> 却未承担对应语义。处理时优先保证大纲可读,而不是修复一个早已失效的标签。











