蜘蛛池入口頁的作用是把連結暴露给搜尋引擎蜘蛛,但模板、建站程序或複製粘贴时带進来的一些 meta 标簽,可能正好把這件事抵消掉。noindex、nofollow、canonical 這三個最常见,問题往往不在寫错,而在没人注意到它們一直存在。
noindex:一句“別收錄”,把入口頁從索引里摘掉
noindex 的作用是告诉搜尋蜘蛛:這個頁面可以抓,但不要放進索引。對入口頁来说,這通常是致命的——蜘蛛来了、連結也讀到了,頁面本身却不會成為可检索的落地頁,長期看入口頁的抓取频次也可能被压低。
它通常從哪来
- 測試环境或 staging 模板没删干净,直接複製到线上;
- 建站程序對某些“空頁面”“标簽頁”預設加了 noindex;
- 批量生成时用同一套 head,某個開關全站生效;
- 改版迁移时,舊站的 SEO 插件配置被一並带過来。
排查方式很直接:随机抽十几頁入口頁,查看响應 HTML 里 head 部分的 meta robots,也顺手看一下 HTTP 响應头里有没有 X-Robots-Tag。两處都可能下發 noindex,只看一處會漏。
nofollow:管的是連結,不是頁面
nofollow 常被誤解。它约束的是頁面上的連結是否传递權重和信号,不直接影响頁面能不能被抓。但入口頁如果整頁連結都带 nofollow,或者 head 里寫了 meta robots 的 nofollow,對“通過連結引導蜘蛛走下一跳”這件事就没有帮助了——蜘蛛可能仍然會去訪問,但你在主動放弃這部分引導意图。
另一種情况更隐蔽:站内菜單、頁脚、模板里某個通用组件带了 nofollow,结果每張入口頁上真正想推的連結被包在里面。检查时要看的是目标連結本身,而不是整頁設定。
canonical:指向谁,等于告诉蜘蛛谁是正主
canonical 用来声明頁面的規范版本。入口頁如果因為模板复用,canonical 统一指向了首頁或某個模板示例頁,等于告诉蜘蛛“這些頁面都是那一個的副本”,入口頁自身很难被当作獨立 URL 處理。批量生成时這類错誤一旦發生,就是全站級別的。
常见来源有:CMS 的預設 canonical 規則、多域名解析时没有区分主机名,以及泛解析下所有子域都指向同一個 canonical。
日常自查可以這样排
- 每批入口頁上线後,抽 5% 到 10% 的样本,看 head 里的 robots、canonical 和連結的 rel 属性;
- 用同一套模板生成的两批頁面互相對比,確認關键标簽一致;
- 批量改動後重新抽样,不要只驗證改過的那一頁。
這三個标簽不决定蜘蛛来不来,但會决定蜘蛛来了之後把你的頁面当成什么。它們的成本很低,漏掉的代價却不低,值得纳入常規巡检。
最後提醒一点:這些标簽的生效需要蜘蛛重新抓取並更新索引,改完不會立刻体現在日誌或索引结果里。观察时至少给出一個抓取周期,別用一两天的情况去判断改對了没有。