入口頁的内容、連結數量、更新频率常被反复讨论,但 head 区那几行指令往往没人認真看。canonical 和 noindex 寫错时,頁面照常可訪問、連結照常在,問题却會延迟几周才在日誌里顯現出来。
一、先分清:canonical 管的是收錄選擇,不是抓取
canonical 是给搜尋引擎的規范化建议,表達“這一组相似頁面里,我認為哪個是主版本”。它不阻止抓取,也不切断連結發現,只影响索引时選谁作為代表。入口頁常见两種寫法:自引用适合希望入口頁本身被当作獨立頁面收錄;指向目标 URL 則相当于说入口頁代表目标頁,入口頁自身往往會從索引中消失。
二、canonical 指向目标 URL 的几種後果
- 入口頁被合並後長期不出現在结果里,但它上面的連結依然可被發現,前提是頁面能被正常抓取。
- 多個入口頁都 canonical 到同一個目标 URL,只是减少了重复索引,通常不會因此获得額外權重。
- 若 canonical 指向的 URL 返回 404、被 noindex、或處在重定向鏈中,搜尋引擎會忽略這條建议,但這個判断過程需要時間。
換句话说,canonical 寫得再“聪明”,也替代不了目标頁面自身的内容质量與站内連結结构。
三、noindex 放在入口頁上,連結還會被跟吗
noindex 的作用是“不要把這一頁放進索引”,它不等于 nofollow。只要頁面可抓取、連結能被解析,搜尋蜘蛛仍可能顺着連結發現目标 URL。真正切断發現路径的是 robots.txt 的 Disallow、連結上的 nofollow,以及連結由 JavaScript 生成却未被渲染。
把入口頁整体 noindex 而保留連結,理论上可行,但被 noindex 的頁面在抓取预算分配上通常不受優待,狀態频繁切換也容易让搜尋引擎對该站点的指令一致性产生怀疑。
四、X-Robots-Tag 與 meta 冲突时以谁為准
当响應头里的 X-Robots-Tag 與 HTML 里的 meta robots 表達不一致时,搜尋引擎通常采用更嚴格的那一條。meta 寫 index,follow、响應头寫 noindex,最终多半按 noindex 處理。改完頁面内标簽後,別忘了检查服務器或 CDN 是否附加了額外头部。
五、上线前的检查顺序
- 確認入口頁返回 200,且 head 中没有意外的 noindex。
- 确定 canonical 策略是自引用還是指向目标 URL,並保持全站一致。
- 检查响應头是否残留測試环境的 X-Robots-Tag 或缓存規則。
- 查看渲染後的 HTML,確認目标連結是真實存在的 a 标簽。
- 在日誌中观察入口頁與目标 URL 的抓取時間差,判断鏈路是否通畅。
六、几個容易踩的坑
- 分頁入口頁的第二、第三頁若可抓取,不要把所有 canonical 都指向第一頁。
- 同一頁面同时出現 rel=canonical 與 rel=alternate,语义容易冲突。
- 被大量外鏈指向的頁面若加了 noindex,連結價值基本被浪費。
- 站点改版或更換域名时,canonical 的批量替換最容易漏改。
canonical 與 noindex 都是表達意图的工具,不是提升抓取的手段。真正决定 URL 能否被稳定發現的,仍然是入口頁的可訪問性、連結结构的稳定,以及目标頁面本身是否值得被抓取。把這些基础做扎實,比反复調整标簽更有意义。