入口頁解决的問题是让蜘蛛愿意来,但蜘蛛来了之後走向哪里,是另一件事。不少人把入口頁的 URL 结构、更新频率、响應头都調得很细,連結却随手全部指向首頁,或者指向一堆和主题無關的聚合頁。最後翻日誌會發現,抓取记錄里几乎全是入口頁自己,真正想让搜尋引擎知道的頁面一次都没出現。
先分清入口頁、承接頁和目标頁
- 入口頁:给蜘蛛落脚用,内容通常偏薄,核心作用是让 URL 被發現。
- 承接頁:入口頁和最终頁面之間的中間层,比如栏目頁、列表頁、标簽頁。
- 目标頁:真正希望被處理、被纳入索引的 URL。
這三者的职责不同。入口頁做得再多,也只是把蜘蛛送到门口;目标頁能不能被處理,取决于它自己返回什么、robots 怎么寫、正文能不能被提取。把入口頁当成萬能通道,是很多項目跑着跑着没效果的原因之一。
入口頁到目标頁的連結怎么放
用可被抓取的 a 标簽
- href 寫完整的绝對 URL,不要用脚本拼接,也不要挂在 onclick 上。
- 如果确實希望蜘蛛過去,就不要在連結上加 rel="nofollow"。
- 連結文本用目标頁的實际主题词,避免清一色的“点击查看”“更多”。
位置比數量重要
首屏正文里、正文中段、頁脚各放一部分是常见做法。但頁脚連結很容易被当成全站模板處理,單獨一两個尚可,塞几十個意义不大。正文内的連結上下文更明确,蜘蛛顺着讀到的概率也更高。
一個入口頁放几個目标連結
3 到 10 個主题相關的連結,通常比堆 100 個不相關的連結更實际。入口頁數量多的时候,可以反過来做:每個入口頁只负责少數几個目标頁,用多個入口頁交叉覆盖同一批目标頁,而不是让一個入口頁承担全部指路工作。
目标頁本身要满足的條件
- 返回 200,不要用 302 把蜘蛛甩回首頁。
- 不需要登入、不需要額外交互就能看到内容。
- 頁面有可提取的正文,不是纯图片站或者纯脚本渲染的空壳。
- robots.txt 和 meta robots 没有把目标頁本身挡住。
- 服務器在蜘蛛訪問时不要频繁超时,稳定性比速度峰值更重要。
這五條里只要有一條不成立,入口頁做得再勤也白搭。目标頁被 302 到首頁這種情况尤其常见,看上去“有連結”,實际上蜘蛛每跟一次就被彈回来一次。
跨域目标頁要不要放
同域名下的目标頁最容易理解,路径關系清楚,也方便统一排查。跨域的出站連結仍然可能被跟随,但作用更弱,而且入口頁如果全是對外連結,整体形態會偏向外鏈农场。真要跨域,先確認對方域名自身能不能被正常抓取,否則入口頁只是在替一個抓不到的頁面做無效導流。
几種常见誤区
不要以為把蜘蛛送到目标頁就够了,目标頁自身的可抓取性才是决定因素。
- 所有入口頁都只鏈同一個首頁,其他頁面永遠没有入口。
- 連結寫成 JS 跳轉或 meta refresh,蜘蛛拿到的是一段脚本而不是地址。
- 目标頁選的是空列表、搜尋结果頁或參數组合頁,本身没有稳定内容。
- 一次接几百個目标頁,日誌里谁也看不清到底哪條路径被走過。
怎么驗證有没有生效
- 查目标頁的訪問日誌,看有没有蜘蛛 UA 以及来源頁。
- 查入口頁日誌,看蜘蛛有没有去請求入口頁上的目标連結,這能說明它解析了連結。
- 對目标頁做單頁核查:狀態碼、robots、渲染後的可见内容。
- 抽查而不是全量,几百個入口頁每天全量翻一遍,時間成本遠大于收益。
几條實操建议
- 先小批量试:三到五個入口頁配三到五個目标頁,跑一周看日誌再决定要不要扩。
- 按目标頁分组管理入口頁,某個目标頁出問题时可以整组替換。
- 目标頁地址變更时同步改入口頁連結,避免留下長期死鏈。
- 別让程序随机分配目标頁,随机组合通常没有主题相關性,也不好排查。
入口頁负责被發現,目标頁负责被處理,两者职责不同。把連結摆放、目标頁可用性和监控口径這三件事做扎實,比繼續增加入口頁數量更值得投入。