站点运营里有一类问题很少被主动检查:页面标签用得对不对。标题、关键词、外链这些总有人盯着,但 H1 到 H6 以及语义标签的用法,往往在模板做好之后就再也没人看过。蜘蛛拿到一个 HTML 文档,很大程度上要依赖这些标签判断页面主体是什么、结构有几层、哪些内容是导航和推荐。标签混乱,等于让蜘蛛自己猜。
这项自查不需要改版,也不用动数据库,翻几个主要模板,半小时就能把明显的问题找出来。
H1:一页一个,别当字号用
最常见的两种极端。一是全站页面都没有 H1,正文标题用 div 加了个大字号顶上去;二是首页、列表页、详情页的侧边栏和页脚里塞了五六个 H1,每个区块标题都写成 H1。前者让页面缺一个明确的主体标识,后者让主体标识彻底失效。
比较稳妥的做法是:一个页面只保留一个 H1,内容与页面主标题一致,详情页就是文章标题,列表页就是栏目名,首页就是站点名加一句定位描述。
顺手检查这几点
- H1 里是不是塞了整段关键词堆砌,读起来不像人话。
- 列表页每个条目的标题统一用 H2 还是 H3,全站是否一致。
- 面包屑、广告位、推荐位的小标题有没有被写成 H1。
- 同一个页面里出现多个 H2 文本完全相同,比如三个「相关内容」。
层级不要跳
H1 下面直接跳到 H4,或者正文里全用 H3 而没有 H2,都会让结构变得难以还原。建议保持 H1 → H2 → H3 的顺序,需要更细的分级时,先想清楚这一段是不是真的属于上一级的子话题。
还有一种情况是把标题标签当成排版工具:想让某行字大一点就套个 H2,想小一点就套 H4。这类用法在正文里会制造大量无意义的层级节点,建议改用样式类来控制字号。
语义标签:不求完美,但要一致
HTML5 提供了 main、nav、article、section、aside、header、footer、time 等标签。不必追求教科书式的语义化,关键是同一套模板在不同页面上保持一致,不让同一块区域这次是 nav、下次是 div。
值得检查的几个位置
- main:全站每个页面只出现一次,包住主要内容区,不要把侧栏也一起包进去。
- nav:主导航、面包屑、页脚导航都可以用,但别把正文里的关键词链接列表也标成 nav。
- article:适合详情页正文、独立的评论条目,不适合用来包整个页面的框架。
- section:带标题的区块,如果一段内容找不到合适的标题,可能它本来就不需要 section。
- time:发布时间、更新时间用 time 加 datetime 属性,比纯文本更容易被机器识别。
关掉样式看一遍
最直接的自查方式是临时禁用 CSS,或者用浏览器自带的辅助功能大纲视图,只看标题结构。如果关掉样式之后,页面大纲读起来像一份清晰的目录,说明结构基本没问题;如果读出来是一堆重复的「更多」「推荐」「热门」,那就需要调整。
另一个办法是直接查看页面源码,从 head 往下扫一遍,看看正文区域之前的标签有多少是装饰性的 div 嵌套。嵌套过深不会直接导致抓取失败,但会让解析和内容提取变得更费劲。
修复顺序建议
- 先解决正文没有 H1 或者多个 H1 的问题,这是影响最大的一类。
- 再处理模板层面的重复标签,比如导航和侧栏里的假标题,改一次全站生效。
- 然后梳理层级跳级和标题重复,主要动正文编辑器里的写法。
- 最后统一语义容器,让 main、nav、article 的用法在全站保持一致。
标签的作用不是让页面更好看,而是让机器在没人解释的情况下,也能读出哪一段是主体、哪一段只是陪衬。
这类自查属于基础工作,做完不会立刻看到数据变化,但它会让后续的抓取、索引和内容理解少掉很多无谓的摩擦。把它加进站点上线的检查清单里,比事后返工划算得多。