先分清两件事:抓取是動作,索引是结果
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 来传達同样的意思。
一份可以照着走的检查流程
- 先在日誌或抓取报告里筛出被频繁抓取、却不進索引的 URL 段,看清集中在哪些目錄。
- 確認這些頁面是真的需要 noindex,還是内容太薄、重复度太高——後者應该先解决内容問题。
- 检查站内還有多少條連結指向它們,尤其是導航、侧栏、頁脚這類全站出現的位置。
- 核對 Sitemap 是否把它們列在里面,把不该列的撤下来。
- 確認没有同时對同一個目錄使用 robots.txt 屏蔽和 noindex 指令。
- 改完观察一段時間的抓取日誌,看這些目錄的訪問量和可索引頁面的抓取量有没有變化。
整套動作的核心只有一句:把抓取安排留给能進索引、對用戶有用的頁面。noindex 属于内容策略的一部分,不是抓取開關,想清楚這一点,内鏈和 Sitemap 该怎么處理自然就清楚了。