在蜘蛛池入口頁排版連結时,经常有人問:给這些連結加上 rel="nofollow",搜尋蜘蛛還會不會顺着爬過去?這個問题的答案不是简單的“會”或“不會”,因為 nofollow 管的是“要不要跟随、要不要传递信号”,而不是一個统一的開關。
nofollow 到底在告诉搜尋蜘蛛什么
最早 nofollow 被设計出来的意图很明确:告诉搜尋引擎“這個連結不是我背书的,別把權重算到對方头上”。它最初针對的是评论区、论坛簽名這類用戶可自由填寫連結的地方。
後来搜尋引擎把這個信号做了調整。以 Google 為例,nofollow 從“指令”變成了“提示”,不再被 100% 强制执行,搜尋引擎會结合上下文自己判断。而其他搜尋引擎對 nofollow 的處理力度並不完全相同,有的依然把它当作强指令。
所以更准确的表述是:nofollow 主要影响的是權重與信任信号的传递,至于 URL 會不會被發現、會不會被抓取,各家的行為並不统一。
常见的几種“不跟随”寫法,別混為一谈
- rel="nofollow":單個連結級別,最常见的一種寫法。
- rel="ugc":标记用戶生成内容里的連結,本质上仍是“不背书”的意思。
- rel="sponsored":付費連結、广告連結的标记方式。
- meta name="robots" content="nofollow":作用于整個頁面上的所有連結。
- X-Robots-Tag 响應头:通過 HTTP 头下發同样的規則,常用于非 HTML 文件。
前三種是“针對某條連結”,後两種是“针對整頁”。在蜘蛛池入口頁场景里,如果不小心在頁面級加了 nofollow,影响的是整頁所有出鏈,而不只是某一條。
URL 還會不會被發現和抓取
這里是大家最容易誤解的地方。URL 被發現和被抓取本来就是两件事。nofollow 通常不會让 URL 從“已知”變成“完全未知”,但它會明顯降低搜尋引擎主動去抓那條連結的概率。
- 連結带 nofollow,蜘蛛仍然訪問了,但訪問频次很低,或者只抓了入口不抓深层。
- 連結带 nofollow,蜘蛛完全没去,直到這個 URL 從別的地方(sitemap、外鏈、提交接口)被再次發現。
- 同一個 URL 在两個頁面都出現,一個带 nofollow 一個不带,最终抓取往往来自不带 nofollow 的那條。
換句话说,nofollow 不能当成“隐藏連結”的工具,也不能当成“照样能被抓”的保證。它只是若干信号中的一個,最终行為取决于搜尋引擎自己的判断。
放到蜘蛛池里,该怎么取舍
蜘蛛池的核心目的是让目标 URL 获得被發現的入口。如果入口頁的出鏈全部带 nofollow,這些連結的“引荐”意味就被削弱了,URL 發現效率通常不如不加标记的普通連結。
- 想让它被抓,就別加 nofollow。正常的锚文本超連結是最直接的形式。
- 頁面級 nofollow 要特別小心。检查入口頁的 meta robots 和 X-Robots-Tag,別把整頁出鏈一起關掉。
- 用日誌而不是猜测来判断。對比加 nofollow 前後,搜尋蜘蛛對目标 URL 的訪問次數、訪問時間分布,看有没有明顯變化。
- 別指望 nofollow 能“控制”抓取量。想控制抓取节奏,應该從頁面數量、更新频率、服務器响應速度這些方面入手。
- 不同搜尋引擎分開看。日誌里可能有多個来源的蜘蛛,它們對 nofollow 的反應不一定一致,不要用一家的结论套到所有家身上。
几個常见的誤区
- 誤区一:nofollow 等于蜘蛛看不见。它不保證 URL 不被發現,只是降低被跟随的概率。
- 誤区二:nofollow 等于绝對不會被抓。同样不成立,搜尋引擎依然可能出于其他原因訪問该 URL。
- 誤区三:nofollow 能替代 robots.txt。两者作用范围不同,一個是連結級提示,一個是站点級抓取規則。
判断 nofollow 是否有影响,最靠谱的办法不是看別人的经驗帖,而是拿自己站点的日誌做前後對比。搜尋引擎的行為會調整,昨天的结论不一定适用于今天。
總结一句:在蜘蛛池入口頁里,nofollow 更适合用在“你确實不想背书、也不想让它被重点抓取”的連結上。如果你的目标是让搜尋蜘蛛尽快發現並訪問目标 URL,那通常不應该给這些連結加 nofollow。想確認效果,回到日誌里看資料,比争论理论更實际。