搜索抓取

noindex 页面要不要留内链:抓取与索引其实是两件事

noindex 只能告诉搜索引擎不要收录,并不能阻止蜘蛛抓取。本文梳理 noindex 页面的内链该留还是该收、Sitemap 里要不要写这类地址,以及 robots.txt 屏蔽和 noindex 混用时会出现的麻烦,并给出一份可照做的检查流程。

搜索抓取

noindex 页面要不要留内链:抓取与索引其实是两件事

先分清两件事:抓取是动作,索引是结果

noindex 是一条写在页面里的指令,蜘蛛必须把 HTML 抓回来、读到 meta 标签里的内容,才知道这个页面不该进索引。也就是说,noindex 影响的是抓完之后是否收录,而不是蜘蛛要不要来。不少站点把它当成“别来抓我”的开关用,结果是页面上写着 noindex,内链照旧存在,日志里这些地址依然天天被访问,抓取安排却没有换来任何可索引的内容。

想让蜘蛛不要访问某个目录,那是 robots.txt 的职责;只是不想让它出现在结果里,那才是 noindex 的职责。两者混着用,往往两边都做不好。

内链指向 noindex 页面,值不值得留

判断标准可以回到用户:这条链接点进去,用户能不能拿到他想要的东西。能,就留;只是为了做路径而做路径,就可以考虑收掉。

建议保留内链的情况

  • 筛选页、排序页:用户需要来回切换,链接本身就是功能入口
  • 站内搜索结果页、标签聚合页:对用户有导航价值
  • 登录后页面、个人中心:用户从首页要能找到入口

建议收紧的情况

  • 同一批内容反复生成的多个聚合地址,参数不同但内容几乎一样
  • 已经不再维护、只剩历史数据、也没有回流价值的老页面
  • 为铺量生成的空白页、占位页

收紧不一定是删链接,也可以是把这些入口集中收敛到某一个页面上,而不是在站内到处散开。链接位置越靠上、出现次数越多,蜘蛛跟过去的概率越高,这是它一贯的习惯。

nofollow 现在只是一个提示

rel="nofollow" 早年的定位是“不要跟这条链接”,如今主流搜索引擎把它当作一种参考信号,并不承诺完全不抓取、不发现。所以指望用 nofollow 去锁住抓取路径,效果并不稳定。更可靠的做法,是让不该被大量发现的内容本身就不要出现在可抓取的链接里。

Sitemap 里要不要放 noindex 的 URL

Sitemap 的主要作用是帮助发现 URL,而不是声明“这些都必须收录”。把成批的 noindex 页面写进 Sitemap,等于主动把这些地址推到抓取队列前面,抓取资源被花在注定不进索引的页面上。

  • 主力内容页、更新频繁的栏目页:放进去
  • 明确的 noindex 页面:一般不放,除非它们对用户很重要,你确实希望蜘蛛定期抓取
  • 已经下线的页面:从 Sitemap 移除,用 301 或 410 明确处理

robots.txt 屏蔽与 noindex 不要同时用

两者叠加会出现一个尴尬局面:robots.txt 阻止抓取,蜘蛛读不到页面上的 noindex 指令,于是外部链接带来的这条 URL 依然可能以无摘要的形式出现在结果里。如果你的目标是“不要出现在结果中”,优先用 noindex;如果目标是“别浪费抓取”,再用 robots.txt。二选一,比两个都上更清楚。

非 HTML 文件没法写 meta 标签,比如 PDF、图片、接口返回的内容,这种情况可以用 HTTP 响应头里的 X-Robots-Tag: noindex 来传达同样的意思。

一份可以照着走的检查流程

  1. 先在日志或抓取报告里筛出被频繁抓取、却不进索引的 URL 段,看清集中在哪些目录。
  2. 确认这些页面是真的需要 noindex,还是内容太薄、重复度太高——后者应该先解决内容问题。
  3. 检查站内还有多少条链接指向它们,尤其是导航、侧栏、页脚这类全站出现的位置。
  4. 核对 Sitemap 是否把它们列在里面,把不该列的撤下来。
  5. 确认没有同时对同一个目录使用 robots.txt 屏蔽和 noindex 指令。
  6. 改完观察一段时间的抓取日志,看这些目录的访问量和可索引页面的抓取量有没有变化。

整套动作的核心只有一句:把抓取安排留给能进索引、对用户有用的页面。noindex 属于内容策略的一部分,不是抓取开关,想清楚这一点,内链和 Sitemap 该怎么处理自然就清楚了。