常见问题

入口页的 sitemap 提交了却没什么抓取:先看看这几处配合问题

sitemap 常被当成提交即生效的加速开关,实际上它只是给搜索引擎的候选清单。这篇文章从文件可读性、放哪些 URL、入口页与 sitemap 怎么配合,以及如何用日志判断效果几个角度,聊聊提交后抓取没动静时该排查什么。

常见问题

入口页的 sitemap 提交了却没什么抓取:先看看这几处配合问题

不少做入口页的朋友会把 sitemap 当成一个加速开关:文件生成好、提交上去,就等着搜索蜘蛛上门。实际观察下来,sitemap 更像是一份给搜索引擎的候选清单,它提示这里可能有些 URL 值得看看,但决定抓不抓、什么时候抓的,还是抓取预算、站点整体质量、页面响应状况这些因素。所以“提交了没反应”通常不是 sitemap 失效,而是几个配合环节没对上。

先排除 sitemap 自身读不出来的情况

  • 地址能直接访问并返回 200,不是跳转链,也不是 403、404;
  • 已在 robots.txt 里声明,或通过对应后台提交过;
  • XML 格式正确,标签闭合,编码统一;
  • 单文件 URL 数量别过载,一般控制在五万条以内,超了就拆分并用索引文件串起来;
  • 不要塞进被 robots.txt 挡住、返回 404/410 或设置了 noindex 的地址。

如果文件里混了大量打不开的链接,搜索引擎对这个文件的整体信任度会下降,后面正常的入口页也容易被连带忽略。

sitemap 里该放入口页还是目标 URL

这是很多人纠结的地方。两种做法目的不同,混着用容易乱。

只放入口页

适合入口页数量不多、且入口页本身能被正常抓取的情况。搜索引擎进来后,顺着页面里的链接去发现目标 URL。这种方式的链条更接近自然抓取,但前提是入口页里的链接得真的能被解析出来。

入口页加重点目标 URL

如果你想优先让某些目标 URL 被看到,可以把它们单独列一份。但要注意:列进去的 URL 自己得能打开、不重定向、不拦截爬虫。否则等于把无效地址递过去,反而拉低整份文件的质量印象。

入口页和 sitemap 需要互相配合

  • 入口页要能正常抓取,返回 200 且正文不是空壳;
  • 链接尽量写成 HTML 里的 a 标签,别只依赖 JavaScript 动态插入;
  • sitemap 里列出的 URL,最好在入口页中也能找到对应链接,两边对不上时搜索引擎容易只认其中一边;
  • 入口页若被 CDN 缓存了旧版本,新加的目标链接可能在缓存刷新前一直看不到;
  • 目标 URL 本身如果要求登录、或对爬虫返回异常状态码,放再多条目也没意义。

怎么判断到底有没有起作用

  1. 翻服务器日志,按搜索蜘蛛的 UA 过滤,看它是否访问过 sitemap 文件;
  2. 看抓取路径:是先取 sitemap 再进入口页,还是完全绕过;
  3. 对比提交前后一段时间入口页的被抓次数,别只看单日波动;
  4. 给重点目标 URL 记一个首次被抓的时间点,方便判断哪条链路在起作用。

如果日志里 sitemap 被抓了、入口页也被抓了,只是目标 URL 迟迟没动静,那问题通常出在入口页到目标 URL 这一段,而不是 sitemap。反过来,如果 sitemap 文件本身都没被取过,就先把可访问性和提交渠道确认清楚。

sitemap 的作用是提醒,不是保证。把它和入口页的可抓取性、链接结构一起看,比单独盯着提交动作更有意义。