必须且仅用一个,因其是爬虫判断页面核心主题的唯一锚点;多个或缺失会导致索引失败、权重稀释、无障碍中断。

搜索引擎爬虫不是在“读”你的页面,而是在“解析结构”——HTML代码质量差,等于给爬虫递了一份错别字连篇的说明书。直接后果:关键内容被忽略、标题层级混乱、语义缺失导致权重稀释,排名掉得比加载速度还快。
为什么只能有一个,且必须包裹核心主题
Google明确要求单页仅含一个<h1></h1>,它被用作页面主实体信号。多个<h1></h1>会让爬虫无法判断哪块是真正主标题,进而弱化关键词锚定能力。实际中常见错误包括:
- CMS模板默认套用多个
<h1></h1>(比如文章标题+侧边栏推荐标题) - JS动态插入内容时误用
<h1></h1>覆盖原有结构 - 为样式兼容强行用
<div class="h1">替代真实标签 <p>正确做法:确保<code><h1></h1>出现在内首个有意义的内容区块,且文本与<title></title>强相关;子级标题严格按<h2></h2>→<h3></h3>→<h4></h4>降序使用,不跳级、不重复嵌套。语义标签不是“锦上添花”,而是爬虫定位内容的坐标系
爬虫靠标签类型推断区块意图:
<header></header>里放品牌/导航,<main></main>包正文主体,<article></article>标独立内容单元,<aside></aside>塞辅助信息。不用它们,等于把所有内容都塞进<div>——爬虫只能靠位置猜,准确率暴跌。<p><span>立即学习</span>“<a href="https://pan.quark.cn/s/cb6835dc7db1" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">前端免费学习笔记(深入)</a>”;</p> <p>典型误用场景:</p> <ul><li>用<code><div id="nav">代替<code><nav></nav>,导致导航权重无法被识别 - 把整篇文章包在
<section></section>里却不加<article></article>,让爬虫难区分“一篇完整文章”和“章节片段” -
<footer></footer>里塞大量外链或广告,干扰对版权/联系信息的提取 - 功能性图片(如按钮图标、表单提交箭头)用描述性短句,例如
alt="搜索按钮" - 内容型图片(如教程截图、数据图表)需说明“谁+在做什么+为什么重要”,例如
alt="Chrome DevTools 中 Network 面板显示 LCP 加载耗时 2.4s 的截图" - 纯装饰图用空
alt="",但前提是该图确实无信息承载——别为了“达标”而空掉关键示意图 - 避免在
alt里塞URL、电话、邮箱等非视觉信息,这些应放<meta>或正文 - 搜索结果页(
/search?q=xxx):加<meta name="robots" content="noindex">,否则生成海量重复内容 - 用户登录/注册页:同上,避免收录敏感路径
- 带UTM参数的分享链接:用
rel="canonical"指向无参原页,否则算不同URL - 分页列表第二页起(
/blog?page=2):加noindex,follow,保留链接权重但不索引
建议:优先用<article></article>包裹每篇独立博文或产品页;<main></main>必须且仅包裹页面核心内容区;<aside></aside>只放关联度低的补充信息(如“相关推荐”“作者简介”),避免塞关键词堆砌链接。
alt属性不是给用户看的,是给爬虫“翻译”图片的唯一通道
爬虫看不懂图,全靠alt值理解图像语义。空alt=""或泛泛写“图片”“logo”,等于告诉爬虫“这图无关紧要”。更糟的是用alt="SEO关键词关键词关键词",触发垃圾内容判定。
实操要点:
meta name="robots"配置错,等于主动拒爬关键页面
robots.txt管路径准入,<meta name="robots">管单页索引行为。常见错误是全局加content="noindex, nofollow"测试环境没清理,或误信“所有页面都要索引”而漏配noindex于后台页、分页页、筛选页。
必须检查的几类页面:
注意:noindex不会阻止爬虫抓取页面,只阻止入库;若想彻底屏蔽,必须配合robots.txt Disallow 或服务端返回 404/410。
最常被忽略的其实是顺序问题:重要内容必须出现在HTML源码靠前位置,哪怕视觉上它在底部。爬虫解析到一定字符数就会截断,DOM渲染后的布局变化它看不见。所以<main></main>区块要尽可能早出现,JS生成的内容得用SSR或hydration保障首屏HTML含关键文本。



















