多数站点在做 URL 发现时,习惯只盯两件事:XML Sitemap 有没有提交、内链有没有铺到位。这两件事确实重要,但它们只覆盖了「已知 URL 的搬运」。当新栏目、新专题、新一批详情页第一次上线时,蜘蛛往往需要一个额外的入口提示,这就是补充发现路径存在的意义。
XML Sitemap 与内链的覆盖边界
XML Sitemap 擅长批量声明,前提是你已经知道这些 URL 存在,并且能稳定生成文件;内链擅长权重传导和路径连续性,前提是页面能被抓到、链接能被解析出来。以下几种情况会同时落在两者的盲区里:
- 新页面还没进入任何列表页,也没有被导航引用;
- 列表页是前端异步渲染,首屏 HTML 里没有链接;
- Sitemap 分片更新滞后,或者生成任务失败没有告警;
- 页面被参数、分页、排序切成了多条路径,入口被稀释。
这几类情况下,加一条补充入口,往往比反复调整内链位置更直接。
三类可用的补充入口
HTML 站点地图页
在站点底部放一个 /sitemap 或 /site-map.html 之类的 HTML 页面,按栏目列出主要入口链接。它的作用是给蜘蛛一条可爬、可解析的静态通道,不依赖 JS,也不依赖 XML 文件是否被正常读取。页面本身要能被 robots.txt 放行,链接用真实的 a 标签,而不是按钮或点击事件。
RSS / Atom Feed
Feed 天然按时间倒序输出最新 URL,适合更新频繁的栏目。它不需要全站覆盖,只要覆盖「最近有更新的那部分」即可。Feed 文件要保持稳定输出,避免出现空文件、大量重复条目或者只在特定 UA 下才返回内容。
外链与内容分发
外部平台的引用链接是蜘蛛发现新域名的常见入口之一。这里不需要刻意堆量,重点是链接指向的页面可访问、返回正常状态码,并且落地页内容与链接描述一致。指向 404、跳转链过长或者需要登录才能看到内容的外链,基本等于白给。
补充入口解决的是「第一次被发现」。能不能被持续抓取,仍然取决于站点响应速度、状态码稳定性和内容更新节奏。
落地顺序与观察方法
- 先确认服务器与状态码稳定,避免蜘蛛来了却拿到 5xx 或超时;
- 补上 HTML 站点地图,页面放在导航可到达的位置;
- 为高频更新栏目开启 Feed,检查输出是否为有效 XML;
- 在日志里按 UA 分组,观察这些通道对应的抓取记录是否出现;
- 对比新 URL 首次被抓的时间,判断入口是否真正生效。
观察周期建议按周看,而不是按小时。抓取调度本身存在排队,短时间内没动静不代表入口无效;但如果连续多周毫无记录,就要回头检查链接是否真的暴露在 HTML 里,而不是藏在脚本拼接的内容中。
几个容易踩的坑
- HTML 站点地图里链接数过多,一页塞进几千条,反而降低可读性,按栏目拆分更稳;
- Feed 只输出标题不输出完整链接,或者链接被重定向包裹;
- 补充入口指向的页面需要登录、需要 Cookie 才能访问,蜘蛛拿到的是跳转页;
- 把补充入口当主力,反而放松了 Sitemap 和内链的基础维护。
整体思路是把 URL 发现拆成几条互不依赖的通道:Sitemap 负责批量声明,内链负责路径与权重,HTML 站点地图和 Feed 负责兜底与增量提示,外链负责新域名的首次曝光。任何一条通道出问题,其他通道仍然能维持基本的发现能力,这比押注单一入口可靠得多。