蜘蛛抓取入口页时,拿到的是 HTML 源码,而不是浏览器里那个排版整齐的画面。它需要靠标签来判断:哪一段是标题,哪一段是正文,哪一段是导航,哪一段是页脚。语义结构清楚,蜘蛛的解析成本就低,页面主题也更容易被归到正确的位置上。
标题层级是蜘蛛拿到的第一份地图
h1 到 h6 不是字号工具,而是层级工具。一个入口页最好只有一个 h1,用来说明这一页到底在讲什么;h2 用来分块,h3 放在 h2 之下做细分。跳过层级、或者一层层全靠 div 加粗来伪装标题,蜘蛛读起来会失去参照。
常见的两个毛病:一是把 h1 让给站点名或 logo,真正主题反而写在 h2 里;二是一页塞好几个 h1,蜘蛛不知道哪个才是重点。这两种情况都不算错误,但会让判断变得模糊。
正文容器:让蜘蛛知道从哪读到哪
main、article、section 这类标签不是装饰。它们的作用是圈出内容范围,把导航、侧栏、页脚从正文里区分开。入口页结构简单的时候差别不明显,一旦页面元素变多,有没有这层区分就很直观了。
- article:适合装一篇完整的内容主体。
- main:一页只用一次,包住核心内容。
- section:用于正文内部的逻辑分段,通常配合一个 h2 或 h3。
要注意的是,别把导航链接塞进 article 里,也别把正文拆成几十个没有标题的 section。容器是为了减少歧义,不是为了凑标签数量。
几个常被忽略的细节
- 正文里的链接尽量放在段落中,而不是全部堆在页面底部。
- 图片的 alt 写一句人话,说明这张图在讲什么,不要堆关键词。
- 不要用 display:none 藏大段文字,蜘蛛读得到,但会把这类内容当成可疑信号。
- 表格留给数据,别用来做页面布局。
- 加粗用 strong 或 b,但一页别到处加粗,重点太多等于没有重点。
可以照着做的检查清单
- 一页一个 h1,内容与页面主题一致。
- h2、h3 按顺序递进,不跳级。
- 正文用 p 分段,段落之间长度接近,避免一整坨文字。
- 核心内容放在 main 或 article 内,导航与页脚放在外面。
- 链接锚文本写清楚指向什么,不要清一色“点击这里”。
- 用纯文本浏览器或关闭样式看一眼,页面结构是否还能读懂。
语义结构的作用是降低解析难度,不是提高抓取优先级。它解决的是“读得懂”,不解决“值不值得读”。
语义清晰只是及格线
把标签写对,蜘蛛能更准确地找到正文和链接,这属于基础工作。但入口页最终能不能被持续抓取,还取决于内容是否有人看、页面是否稳定、更新是否有实际意义。语义结构做得好,不会让一个空壳页突然变得有价值;做得差,却会让一个本来还行的页面在解析环节先丢分。先把结构理顺,再谈其他优化,顺序更合理。