必须唯一且为直接子元素,否则爬虫无法识别主内容导致降权;语义标签不加权但决定索引范围,错用会触发结构冲突、元信息污染或主题识别失效。

HTML代码质量直接决定爬虫能不能“看见”你的内容——不是“是否收录”,而是“能否识别主内容、时间、作者、关键词权重”。结构错乱、语义缺失、标签滥用,会让爬虫跳过正文、误判标题层级、忽略关键时间信息,最终导致页面在搜索结果中降权或不被建模。
为什么为空或嵌套在
Google移动优先索引从2023年起已100%启用,它不会逐行解析
,而是直接定位第一个合法<main></main>、<footer><main>...</main></footer>、页面存在多个<main></main>、或靠JS动态插入后未触发重抓取。
-
<main></main>必须唯一且非空,包裹所有真实可索引的主内容(正文、核心CTA、关键数据),登录弹窗/广告塞进去会被判为“元信息污染” - SPA服务端渲染若只输出
<div id="root"></div>,等同于告诉爬虫“这里没主内容” - Lighthouse“Document structure”审计会直接报
main[empty]或main[nested]错误,模拟爬虫校验逻辑
必须带或aria-labelledby才能参与主题建模
或aria-labelledby才能参与主题建模
<section></section>在爬虫眼里不是视觉分块,而是“可独立建模的内容单元”。纯<section><p>...</p><div class="aritcle_card flexRow artxards">
<div class="artcardd flexRow">
<a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill5117" title="HTML Extract"><img
src="https://img.php.cn/upload/skill/000/000/081/179033952939354.jpg" alt="HTML Extract" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
<div class="aritcle_card_info flexColumn">
<a rel="nofollow" href="/xiazai/skill5117" title="HTML Extract" class="overflowclass">HTML Extract</a>
<p class="overflowclass">使用 MinerU 从 HTML 页面和文件中提取内容,将 HTML 转换为保持标题、列表、表格及文本层次结构的干净、结构化 Markdown。F...</p>
</div>
<a rel="nofollow" href="/xiazai/skill5117" title="HTML Extract" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span>
</a>
</div>
</div></section>不参与主题建模,也不会被单独索引或富摘要展示。
- 每个
<section></section>必须以<h2></h2>起始,或用aria-labelledby指向一个明确的标题元素 - 新闻列表页应为每条新闻包裹独立
<section></section>,而非整个列表套一个——否则爬虫误判为“一篇长文” -
<article></article>才具备“可独立分发、复用、被RSS抓取”的语义能力,<section></section>只是逻辑子模块
“2024年3月15日”对爬虫只是普通字符串,需NLP推断;而<time datetime="2024-03-15">2024年3月15日</time>自带标准格式的datetime属性,Google新闻/博客类页面据此提升时效性排序权重。
-
datetime值必须符合YYYY-MM-DD(日期)、HH:MM(时间)或YYYY-MM-DDTHH:MM:SSZ(ISO 8601)格式 - 省略
datetime属性,或写成datetime="2024/03/15"、datetime="三月十五日",均无效 - 爬虫不解析中文日期字符串,也不 fallback 到文本内容做语义识别
alt、canonical、viewport三标签出错直接触发收录下降
这三处是爬虫校验入口级信号,出错不是“影响排名”,而是“拒绝建模”:
-
alt为空或堆砌关键词(如alt="SEO优化 HTML SEO教程")→ 图片内容不可信,关联文本权重稀释 -
rel="canonical"指向错误URL、自指循环、或跨域指向→ 触发duplicate without canonical警告,整页可能被判定为重复内容 -
viewport缺失或写成width=1024→ 移动端抓取失败,移动优先索引直接跳过该页
最常被忽略的是:这些标签一旦出错,不会报错提示,但会在Search Console的“覆盖率”报告中静默标记为“已排除”,需要人工点开具体URL才能发现。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










