建站时大部分精力都花在“怎么让頁面被收錄”上,但實际运营中也會遇到一批需要反着来的頁面:它們要能被用戶正常訪問、要有連結可達,但最好不要進入搜尋索引。這類頁面處理不好,轻則稀释站点的索引质量,重則让不该曝光的内部信息出現在搜尋结果里。
哪些頁面通常需要挡住
- 後台登入、用戶中心、訂單詳情這類带個人資料的頁面;
- 測試頁、灰度頁、内部使用的报表和监控頁;
- 由參數组合生成的排序頁、篩選頁、會话頁;
- 纯功能頁,比如加入购物车、提交成功、跳轉中間頁;
- 還没做完、暂时不想公開的草稿内容。
需要先分清的是,這些頁面大多不需要“完全禁止蜘蛛訪問”,而是不需要“出現在搜尋结果里”。這两個目标對應的手段完全不同,搞混了就會出現“明明屏蔽了却還是被收錄”的情况。
三種手段,作用点不一样
noindex:管的是索引
在頁面的 head 区域加上 noindex 标簽,等于告诉搜尋引擎:這個頁面你可以抓,但不要放進索引。它生效有两個前提:一是蜘蛛真的抓到了這個頁面,二是它讀到了這段标簽。它不能阻止抓取,只影响收錄。
另外要注意,noindex 和 nofollow 是两回事。noindex 说的是本頁不收錄,nofollow 说的是本頁上的連結不跟随。只想去掉索引,就只寫 noindex,別顺手加 nofollow,否則頁面上的内鏈會被白白浪費。
robots.txt 的 Disallow:管的是抓取
robots.txt 里的 Disallow 是抓取层面的規則,它告诉蜘蛛“這條路径不要抓”。但它並不等于“不要收錄”。如果這條 URL 通過外鏈、其他站点或者搜尋入口被發現,搜尋引擎仍可能在没有抓取内容的情况下,僅凭锚文本把地址放進索引。所以單纯用 Disallow 来防收錄,结果往往不可靠。
登入墙與密碼保護:管的是訪問權限
把頁面放到登入後才能訪問,或者用訪問密碼保護,搜尋引擎拿不到内容,自然也無從索引。這是最彻底的一层,缺点是它對普通用戶也有门槛,只适合真正面向内部或付費用戶的頁面,不适合只是“暂时不想曝光”的内容頁。
最容易踩的坑:Disallow 和 noindex 同时用
如果一條 URL 被 robots.txt 屏蔽了,蜘蛛就不會去抓它,也就看不到頁面上的 noindex。结果是:你以為加了双保險,實际上让 noindex 直接失效,已经收錄的舊頁面可能長期留在索引里。
正确的顺序是先去掉 robots.txt 的屏蔽,让蜘蛛能抓到带 noindex 的頁面,等它把頁面從索引里移除之後,再考虑是否需要加回 Disallow。這個等待過程可能要几周甚至更久,取决于頁面的抓取频率和重要程度。
已经被收錄了怎么办
- 確認頁面返回 200 狀態,且 noindex 已正确寫在 head 中;
- 检查是否被 robots.txt 挡住,挡住就先放開;
- 通過站長工具的移除或更新請求加快刷新,但不要指望立刻生效;
- 如果頁面本来就该下线,直接返回 404 或 410 比加 noindex 更干净。
這里有個容易混的点:頁面已经不存在,就不要用 noindex,直接 404 或 410。noindex 适用于“頁面要繼續存在,但不想被搜到”,两者场景不同。
別忘了内部連結
被屏蔽的頁面如果還挂在導航、面包屑、頁脚里,蜘蛛會反复訪問這些連結,也會持續把權重信号传递给這個地址。真正想让它淡出,光加标簽還不够,還要把入口連結一並調整——改成不可点击的文本,或者從列表里去掉。
最後提醒一点:屏蔽措施不是“一劳永逸”。新功能上线、模板改版、參數規則變更,都可能让原本挡住的地址重新暴露。定期在搜尋引擎里查一下站点的内部頁面,看看有没有不该出現的地址被收錄,比一次配置完就不再检查要稳妥得多。