站内連結是搜尋蜘蛛發現 URL 的主要通道,但總有頁面掉在這張網之外:没有任何内鏈指向,只能靠 Sitemap 或外部連結偶尔被碰到。這類頁面常被称為孤儿 URL,介于两者之間的則算半孤儿。
孤儿 URL 與半孤儿 URL 的区別
孤儿 URL:站内找不到任何指向它的可跟随連結,只能通過 Sitemap、外鏈或歷史记錄被發現。半孤儿 URL:站内有入口,但入口數量极少、位置很深,或者只存在于某個已经不再被訪問的舊列表頁里。
两者的共同点是抓取回訪不稳定:連結越少、路径越深,蜘蛛重新走到的概率越低。
孤儿 URL 的常见来源
- 活動頁或专题頁下线後,入口被移除,但頁面本身仍然可以訪問;
- 篩選、排序、分頁參數生成的组合地址,頁面上不會互相連結;
- 列表分頁只展示前若干頁,末頁之後的 URL 失去入口;
- CMS 草稿、測試頁面誤發布,未加入任何導航;
- 改版时目錄調整,舊路径保留但新導航不再指向;
- 外鏈推廣的落地頁,站内没有反向入口。
怎么把孤儿 URL 找出来
- 從服務器日誌里提取被請求過的路径集合,作為參照;
- 用爬虫工具抓取全站内鏈,得到“能被站内連結走到”的 URL 集合;
- 把 Sitemap 中的 URL 與前两個集合分別做差集,差集里往往就是孤儿或半孤儿;
- 再人工核對一次:有些頁面是接口地址或静態资源,不需要處理。
這個對比不需要很复杂的工具,一次導出加一次抓取就能完成,關键是定期做,而不是只在上线时看一遍。
Sitemap 能替代内鏈吗
Sitemap 解决的是“告诉搜尋引擎這里有這個地址”,它不传递上下文,也不說明頁面之間的關系。只靠 Sitemap 存在的頁面,抓取往往更零散,頁面重要性也难以被判断。
Sitemap 是發現入口的补充,不是内鏈结构的替代品。能补内鏈的頁面,優先补内鏈。
處理半孤儿頁面的顺序
- 先判断頁面是否值得保留:有搜尋需求、有轉化價值的,才谈补入口;
- 值得保留的,补一到两個稳定的站内入口,如相關推荐、栏目列表、归档頁;
- 内容重复或過时的,考虑合並到主頁面,並設定好跳轉;
- 纯粹是參數组合产生的地址,可以用規范化或 robots 規則收敛,而不是逐個补鏈。
补内鏈时不必追求數量,一個位置合理、長期存在的入口,比散落在多個頁面的临时連結更有意义。
抓取路径上的两個現實约束
第一是深度:孤儿頁面通常位于目錄末級,蜘蛛從首頁出發需要经過多跳才能到達,任何一跳出現異常都會中断路径。第二是稳定性:如果服務器在抓取时段频繁返回 5xx 或超时,蜘蛛未必會一路重试到深层頁面,這时再补内鏈效果也會打折。
因此,處理孤儿 URL 之前,先確認站点的主要入口响應正常、跳轉鏈没有多余的中間頁,把路径缩短,再谈补鏈。
一個小流程
- 每月導出一次日誌路径與 Sitemap 地址;
- 與站内連結集合做差集,标记孤儿與半孤儿;
- 按保留、合並、下线三類分派;
- 對保留頁面补入口,记錄补鏈日期;
- 在下一次日誌观察中,看這些地址是否出現新的抓取记錄。
流程的價值在于让“有没有入口”變成一件可核對的事,而不是凭感觉判断頁面是否被連結到。