站点地图这个概念常被混着用:有人指的是给搜索引擎读的 XML 文件,有人指的是面向访客的 HTML 页面。两者在 URL 发现里承担的角色并不一样,把职责分清,抓取路径会顺很多。
XML Sitemap:一份给搜索蜘蛛的候选清单
XML Sitemap 的作用是补充,不是替代。它告诉搜索蜘蛛“这些地址存在,可以考虑来抓”,但能否被抓、什么时候被抓,仍取决于服务器响应、页面质量和其他入口的佐证。
几个容易被忽略的点:
- 只放规范地址,也就是 canonical 指向的那个,不要让带参数版本和不带参数版本同时出现在文件里。
- 只放返回 200 的地址,把重定向和 404 留在里面会稀释整份文件的可信度。
- lastmod 写真实修改时间,改标题、调模板这类不涉及正文的改动不必刷新它。
- 文件本身要能被稳定访问,抓取时超时或返回 5xx,等于这份清单没交上去。
HTML 站点地图:一条真实可走的抓取路径
HTML 站点地图是一个普通页面,链接是真实的 a 标签,搜索蜘蛛能顺着走,用户也能点。它的价值在于把分散在各处的入口收拢,降低深层页面被漏掉的概率。
但它不是万能的:一个页面上堆几百上千条链接,单条链接能分到的权重被摊薄,靠后的条目未必比通过正文内链被发现得更快。更合适的做法是分层——总览页链接到分类,分类页再链接到具体条目。
常见误区一:把 XML Sitemap 当成唯一入口
如果站点除了 Sitemap 之外没有任何内链指向某批页面,这些页面就接近孤儿 URL。搜索蜘蛛可能抓到它们,但缺少内链和外部引用时,后续回访容易变得不稳定。Sitemap 更适合做补漏,而不是主要的发现通道。
常见误区二:HTML 站点地图做成一次性清单
内容一更新,页面结构就变了,而站点地图页还停留在几个月前的状态,点进去全是失效链接。这既浪费抓取,也会让人对整站的维护状态产生负面判断。把它纳入常规更新流程,或者用程序按分类自动生成,成本都不高。
两套入口怎么配合
一个比较稳的顺序是:
- 先确认首页和主导航能覆盖到所有一级栏目。
- 每个栏目页用正文内链覆盖其下的重要内容,形成可走的路径。
- 用 HTML 站点地图兜住那些层级深、入口少的页面。
- 用 XML Sitemap 补上分页、归档、媒体等不容易通过内链暴露的地址。
- 观察日志,看哪些入口真的被走过,再决定删减还是补充。
别忘了服务器这一层
再合理的入口设计,也要服务器接得住。抓取高峰时响应变慢、超时率上升,搜索蜘蛛往往会主动降速,原本能走完的路径会被截断。Sitemap 文件、站点地图页、栏目页都属于被访问频率较高的地址,它们响应不稳,会连带影响整站的抓取节奏。
入口设计解决“能不能被发现”,服务器稳定性解决“发现得顺不顺”。两者缺一个,URL 发现的效率都会打折扣。
最后一句提醒:站点地图不是提交完就结束的动作。内容在变,入口结构也应该跟着变,定期回头看日志和收录情况,比一次性把 URL 全塞进文件要有效得多。