入口頁的 meta 标簽只有几行,但它决定了蜘蛛抓到頁面之後怎么處理:是留在索引里,還是只当一條通路。方向用错,轻則入口頁白抓,重則把本来能带蜘蛛走的連結一起掐断。
先把三類指令分開看
- 抓取與索引控制:robots.txt 决定要不要来抓,X-Robots-Tag 和 meta robots 决定抓到之後要不要索引、要不要跟随連結。
- 重复内容归並:canonical、hreflang,用来在一堆相似 URL 里指出主版本。
- 展示控制:title、description、max-snippet、viewport,影响摘要怎么摘、移動端怎么顯示。
蜘蛛池入口頁最常见的坑,就是把這三類混着用。既想被索引,又怕重复,于是 canonical 和 noindex 一起堆上去,蜘蛛最後怎么處理就變得不可预期。
canonical 的三條底线
只在同域内指
canonical 是“同一份内容的首選 URL”声明,跨域指向往往被忽略;即便被采纳,也不等于把權重搬了過去。想用入口頁给目标頁做重量轉移,靠 canonical 基本是無效操作。
指向的頁面要真實可用
canonical 指向 404、跳轉鏈或内容差很遠的頁面,容易被判為無效声明。指之前先確認那個 URL 返回 200,並且和目前頁内容高度相似。
不要和 noindex 同时出現
一個頁面同时寫 canonical 和 noindex,等于告诉蜘蛛“這頁別索引,但請把信号给另一個 URL”,這種自相矛盾的组合往往只會让信号被丢弃。
noindex 什么时候值得用
入口頁如果是纯跳轉頁、内容极薄,或者只是參數组合出来的頁面,加 noindex 是合理選擇。但要记住两点:
- noindex 不阻止抓取。蜘蛛仍會来抓這片頁面,也仍會沿着頁面上的連結繼續走,這對蜘蛛池反而是有利的。
- noindex 常和 nofollow 被绑在一起寫,但两者管的是不同的事。加了 nofollow,蜘蛛不再跟随该頁連結,入口頁的带路作用就没了。除非頁面上的連結质量很差,否則不要顺手加 nofollow。
想让蜘蛛繼續走連結,就別加 nofollow;只是不想让這頁進索引,用 noindex 單獨一個就够。
X-Robots-Tag 和 meta 标簽谁優先
X-Robots-Tag 寫在 HTTP 响應头里,好處是能覆盖非 HTML 资源,也不依赖頁面被完整解析。两者同时存在时,通常以更嚴格的一條生效,但不同搜尋引擎的實現细节並不完全一样,所以不要故意制造冲突,更不要把冲突当成“保險”。
几個高频誤区
- 全站批量加 noindex,结果入口頁被移出索引,後續從入口頁發現新連結的速度明顯變慢。
- robots.txt 里屏蔽了目錄,又指望 meta 标簽生效——被屏蔽的頁面蜘蛛压根讀不到 meta。
- 把 canonical 当成外鏈工具指向目标站,期望信号传递,實际多數情况下直接被忽略。
- meta 内容寫成 noindex,follow 之類带多余空格的寫法,多數情况下能解析,但仍建议统一成規范寫法,减少解析歧义。
上线前可以過一遍的检查項
- 入口頁是否需要一個明确的索引態度:可索引、noindex,還是靠 robots.txt 挡在门外,只選一個思路。
- canonical 指向的 URL 是否同域、是否返回 200、内容是否相近。
- 是否誤加了 nofollow,切断了入口頁的带路功能。
- X-Robots-Tag 與 meta robots 是否互相矛盾。
- title、description 是否和入口頁實际内容對得上,避免纯模板堆砌。
小结
meta 标簽不是越多越好,而是每一條都要能回答“我想让蜘蛛對這條 URL 做什么”。入口頁承担的是發現和带路,索引與否是其次;把 noindex 和 nofollow 分開想,把 canonical 只用在同域归並上,大部分混乱都能避免。