lighthouse基于静态dom分析实现seo与无障碍审计,不执行javascript,仅解析已渲染的html结构、语义标签、属性及元信息。它检查title长度、alt属性、标题层级、链接文本、https、lang声明等seo要素;评估label关联、role与tabindex、svg可访问性、颜色对比度、表格语义等无障碍项。所有审计均依赖真实html输出,无需js参与,修复html结构即可提升分数。

Lighthouse 不需要你改 HTML 就能直接审计原始 DOM 的 SEO 和无障碍表现,它的核心能力正是基于静态结构分析——不执行 JavaScript,只读取已渲染的 DOM 树、属性、标签语义和元信息。只要页面加载完成,Lighthouse 就能准确捕捉当前 HTML 状态下的合规问题。
SEO 友好度审计依赖真实 HTML 元素与属性
Lighthouse 的 SEO 类别会逐项检查原始 DOM 中是否存在、是否合法、是否符合搜索爬虫预期的结构信号:
-
<title></title>是否存在且长度在 30–60 字符之间 -
<meta name="description">是否存在且长度在 50–160 字符之间 - 所有
<img>是否带有非空、有意义的alt属性(装饰图需为alt=""并配合role="presentation") -
<h1></h1>是否唯一且不为空,标题层级是否合理(如跳过 h2 直接用 h4) -
<a></a>链接文本是否具备描述性(避免“点击这里”“了解更多”等无上下文文字) - 页面是否使用 HTTPS、是否有
声明语言
这些全靠解析 HTML 源码或最终渲染的 DOM 节点,不依赖 JS 注入或动态生成。
无障碍得分完全由原始 DOM 结构决定
Accessibility 审计是纯静态扫描,只看 DOM 层面的语义、属性与关系,常见扣分项全部来自 HTML 写法:
- 表单控件缺失
<label for="id"></label>或未用<label></label>包裹对应<input> - 按钮类元素(如
<div role="button">)缺少 <code>tabindex="0"和aria-label - SVG 图标未包裹
<title></title>或未设置aria-hidden="true"(若为装饰) - 文本节点颜色对比度不足,Lighthouse 会提取其计算出的
color与background-color值,但前提是该文本在 DOM 中有明确的样式继承链 <table> 缺少 <code><caption></caption>或表头未用<th> 标注 scope <p>这些都不需要 JS 运行,只要 HTML 输出正确,分数就能立刻提升。</p><div class="aritcle_card flexRow artxards"> <div class="artcardd flexRow"> <a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill9050" title="SEO Content Strategy Generator"><img src="https://img.php.cn/upload/skill/000/000/081/179239164619803.jpg" alt="SEO Content Strategy Generator" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a> <div class="aritcle_card_info flexColumn"> <a rel="nofollow" href="/xiazai/skill9050" title="SEO Content Strategy Generator" class="overflowclass">SEO Content Strategy Generator</a> <p class="overflowclass">专业SEO内容策略生成器,包含关键词研究、内容排期、竞争对手分析和排名追踪。用于用户需要制定SEO计划时。</p> </div> <a rel="nofollow" href="/xiazai/skill9050" title="SEO Content Strategy Generator" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div> <p><strong>如何确保审计反映真实原始结构</strong> </p> <ul> <li>在 Chrome DevTools 的 Lighthouse 面板中,勾选 <strong>SEO</strong> 和 <strong>Accessibility</strong>,取消其他类别,选择 <strong>Desktop</strong> 设备(避免移动端 UA 切换带来的服务端渲染差异) </li> <li>确保测试前页面已完成服务端渲染(SSR)或静态生成(SSG),不要在 hydration 前截图;若用 React/Vue,建议等 <code>useEffect或mounted后再运行- 不要勾选 “Clear storage” 或 “Disable cache”,否则可能触发重定向或加载失败,导致 DOM 不完整
- 若页面依赖登录态,直接在已登录状态下打开 DevTools 运行,Lighthouse 会保留当前 Cookie 和会话
快速修复建议(不动逻辑、不写 JS)
- 给所有
<img>补alt:功能性图片写描述,装饰图统一用alt="" role="presentation" - 把
<div onclick="..."> 改成 <code><button type="button"></button>,或至少加role="button" tabindex="0" aria-label="说明作用" - 每个
<input>必须有显式<label></label>关联(for/id匹配或嵌套) -
标签加上lang="zh-CN"(或其他实际语言) -
<meta name="description">内容重写,确保每页唯一、含主关键词、语义完整
Lighthouse 的 SEO 和无障碍报告不是预测,而是对当前 HTML 输出的客观快照。改好结构,分数就升——不需要构建流程改造,也不依赖运行时环境。










