做站点运营时经常遇到一種情况:頁面明明上线了,sitemap 里也寫了,但索引报告里迟迟只有“已發現”,服務器日誌里也看不到蜘蛛来過的痕迹。除了頁面质量本身,還有一個常被忽略的原因——這個頁面没有内鏈入口。站内没有任何一個已经被抓取的頁面指向它,蜘蛛就只能靠其他渠道去碰运气。
蜘蛛發現 URL 的几條常規路径
- 站内連結:最主要的入口。首頁、栏目頁、相關推荐、正文里的锚文本,都會把蜘蛛带到目标頁面。
- sitemap:适合批量提交和整站告知,但它更多是声明存在,不保證優先級。
- 外部連結:別的站点鏈過来,蜘蛛顺着外鏈進入。
- 提交接口:搜尋引擎提供的普通收錄、快速收錄、IndexNow 之類的接口,主動推 URL。
- 歷史记錄:以前被抓過的 URL,蜘蛛會按周期回来看看。
什么情况下會出現孤儿頁面
孤儿頁面不需要真的“没有任何連結”,只要没有任何一個能被抓取到的頁面指向它,它對這個爬虫来说就是孤立的。
- 列表頁只放出前几頁,後面的分頁要手工拼參數才能訪問;
- 頁面由程序批量生成,只能按 ID 訪問,没有任何入口列表;
- 導航和正文里鏈的是 A 地址,實际提交和訪問的是 B 地址;
- 栏目改版後舊入口被删,頁面却還在對外提供;
- 只寫進了 sitemap,站内一處都没鏈。
先確認是不是真的没被發現
別急着加外鏈或者動用工具,先把服務器日誌和 sitemap 拉出来對比:
- 把 sitemap 里的 URL 和日誌里出現過的 URL 做差集,得到從未被抓取的清單;
- 看這些 URL 是否在站内出現過,用站内搜尋或内鏈检查工具查一遍;
- 挑几個手動訪問,確認狀態碼正常、内容不是空白,也不是登入後才可见。
如果日誌里出現過、但後續不再回訪,問题通常不在發現环节,而在頁面质量或抓取優先級,排查方向要換。
补内鏈比什么都直接
確認是孤儿頁面後,最省事的做法是给它安排一個站内入口:相關栏目加一條列表、正文里加一個上下文相關的連結、舊文里做一次回鏈。優先放在已经被频繁抓取的頁面上,蜘蛛下一次来就能顺路發現。
补内鏈不是一劳永逸:如果入口本身离首頁很遠,所在区块又被其他内容挤到頁面底部,實际效果會打折。入口的位置和周围内容的相關性,比連結數量更重要。
蜘蛛池這類工具能起什么作用
市面上有些工具會通過批量站点、聚合頁或外部連結来制造入口,思路就是给 URL 多做几條被發現的路。作為运营者要清楚它的邊界:它解决的是“被看见”的問题,解决不了“看见了不想收”的問题。頁面质量不够、和站内已有内容高度重复、返回狀態異常,外部入口再多也只是让蜘蛛多跑几趟,不會改變索引的判断。更稳的顺序,永遠是先修好頁面和站内结构,再考虑要不要用外部入口做补充。
不是所有孤儿頁面都值得救
排查出来的清單里,通常有一部分是低價值頁面:測試頁、重复的參數頁、已经清空内容的舊頁。這些更适合让它們保持無入口,必要时做 301 或 410,而不是硬塞回導航。索引里的 URL 數量並不是越多越好,抓取预算有限时,砍掉一批低價值 URL,往往比多给一批入口更划算。