搜尋抓取

抓取日誌里的 Referer:反推每一個 URL 是被哪條連結带進来的

服務端日誌里除了狀態碼和 UA,Referer 一列常被忽略,却能回答一個很實际的問题:這條 URL 是被哪條連結带進来的。本文讲清几種典型来源形態的含义、如何用它反查孤岛頁面的入口、以及 Referer 不准的常见情况與核對步骤。

搜尋抓取

抓取日誌里的 Referer:反推每一個 URL 是被哪條連結带進来的

Referer 是日誌里最容易被忽略的一列

服務端日誌通常记錄時間、IP、UA、請求路径、狀態碼和字节數,很多人只看這几列。如果把 Referer(来源地址)也留下来,就能回答一個很實际的問题:這條 URL 是被谁带進来的。它不能决定收錄,也不能反映排名,但在核對内鏈结构和發現路径时,比凭空猜测有用得多。

几種典型 Referer 形態的含义

  • 来源是站内某個列表頁或導航頁:說明這個入口有效,連結被跟随了。
  • 来源是 sitemap 地址:說明這次抓取走的是 Sitemap 提交渠道,而不是站内連結。
  • 来源是外部域名:外鏈仍然存在,抓取從站外進入。
  • 来源為空:信息量最少的一類,可能来自 Sitemap、接口提交、手工輸入、第三方工具,也可能是跨协议或隐私策略把它抹掉了。

需要提醒的是,空的 Referer 不等于没有来源。不要僅凭這一條就判断某個頁面是孤岛,也不要據此認定它已经被正常發現。

用 Referer 反查孤岛 URL 的入口

思路很简單:把一段時間内的日誌按 URL 聚合,找出只被抓過一两次、且来源為空或只有 Sitemap 的頁面,再回到站点侧確認這些 URL 在站内是否真的没有連結入口。如果确實没有,那它們就只靠 Sitemap 和提交接口撑着,入口一旦變動,發現鏈路就断了。

  1. 導出 7 到 30 天日誌,保留路径、狀態碼、UA 和 Referer 四列。
  2. 筛出目标 URL 集合,統計每條 URL 的来源去重列表。
  3. 来源全空、且不含 sitemap 路径的,标记為待补鏈。
  4. 在列表頁、面包屑或相關推荐中补上入口,两到四周後再看来源里是否出現站内頁面。

Referer 不准的几種情况

  • HTTPS 頁面跳向 HTTP 頁面时,来源可能被丢弃。
  • 站点設定了 Referrer-Policy,例如 no-referrer 或只保留域名,日誌里就看不到完整路径。
  • CDN、反向代理或 WAF 可能改寫、截断该字段,回源日誌里的值未必是原始值。
  • 部分抓取工具、预渲染服務和监控探针的請求本来就不带正常来源。

所以 Referer 只能当线索,不能当结论。它要和狀態碼、UA、請求時間一起看,才不至于把工具流量誤判成搜尋抓取。

把 Referer 與内鏈位置對上

站内連結的位置有强弱之分。同一條 URL,如果来源大量集中在首頁或频道導航,說明它离入口近,被反复经過的机會更多;如果只来自很深的列表頁,出現频率通常更低。可以按来源類型分组統計:導航連結、列表頁連結、正文内鏈、頁脚連結、相關推荐。

判断一條 URL 的發現鏈路是否健康,看的是它有没有多個稳定的站内入口,而不是某一次抓取来自哪里。

几個容易踩的坑

  • 只看總抓取量、不看来源分布:總量看着正常,但来源單一,入口一改就會掉。
  • 把 Sitemap 文件的抓取当成頁面抓取:抓取了 sitemap.xml 本身,不代表里面的 URL 都會被訪問。
  • 忽略分片:日誌里的 Sitemap 路径有很多變体,核對时要按前缀聚合再看。
  • 拿 Referer 去推断收錄或排名:它只說明這次請求從哪来,與索引结果没有直接對應關系。

小结

Referer 不是必看字段,但對定位“這個 URL 到底有没有站内入口”很有帮助。先把日誌字段保留完整,再做一轮 URL 與来源的對照,通常能找出几批只靠 Sitemap 支撑的頁面。补上内鏈入口之後,再回来看来源结构有没有變化,比一次性改動全部模板更稳妥。