搜尋抓取

只進 Sitemap、不挂内鏈的頁面,蜘蛛會怎么對待

有些頁面只出現在 Sitemap 里,站内没有任何連結指向它。這類頁面不是抓不到,而是抓取频率低、更新慢被發現。本文說明它的三種常见成因、用日誌和連結差集自查的方法,以及先补内鏈還是先改 Sitemap 的處理顺序。

搜尋抓取

只進 Sitemap、不挂内鏈的頁面,蜘蛛會怎么對待

Sitemap 是入口,不是通道

Sitemap 的作用是告诉蜘蛛這些 URL 存在,它解决的是發現問题,不解决發現之後的路径問题。蜘蛛按 Sitemap 抓過一次之後,如果没有別的頁面鏈向這個地址,下次想再来,基本只能等 Sitemap 被重新讀取。相比之下,一個從首頁经過两三次点击就能到達的頁面,蜘蛛在例行爬行时會顺路经過。

结果就是這類頁面不是抓不到,而是抓取频率明顯偏低,更新後被發現的時間被拉長。如果站点規模不大、蜘蛛来訪本身就有限,這種差距會更明顯。

三種常见的形成原因

1. 上线流程只走 Sitemap

新頁面由程序生成後直接寫進 Sitemap,没有人去列表頁、導航或相關推荐里放連結。短期看省事,長期看這些頁面只能靠 Sitemap 维持存在感。

2. 改版时删掉了舊入口

栏目结构調整、導航精简、模板替換,都可能把原本指向某批頁面的連結去掉。頁面本身還在,Sitemap 也還在,但站内已经没有任何路径能走到它。這類問题通常在改版後一两個月才從抓取資料里看出来。

3. 連結由脚本生成

列表頁用点击後再加载的方式填充内容,或者連結寫在脚本里由前端渲染。蜘蛛能不能顺着走,取决于渲染方式是否被正确處理。如果預設返回的 HTML 里没有對應的 a 标簽,這批頁面在站内就等于孤立。

怎么把這類頁面找出来

  • 把 Sitemap 里的 URL 列表和站内可点击連結指向的 URL 列表做差集,只出現在 Sitemap 一邊的就是候選。
  • 在服務器日誌里按 URL 統計来訪次數,观察這批地址是不是集中在 Sitemap 更新後的那几天,之後長期没有訪問。
  • 抽几個样本頁面,用不执行脚本的方式看返回的 HTML,確認有没有一行 a 标簽指向它們。

修复顺序:先补内鏈,再决定 Sitemap

如果頁面确實需要被搜尋流量看到,優先给它补一個真實的内鏈入口。位置不用多,一到两個相關位置就够:相關列表頁、正文里的自然引用、面包屑或上一級栏目。Sitemap 可以繼續保留,但不要再把它当作唯一入口。

补完入口後,還要確認這個頁面自己有出口連結。孤岛頁面即使被訪問,如果頁面里没有指向其他内容的連結,蜘蛛走到這里也只能原路返回,對整站抓取的贡献有限。

對于确實不需要内鏈的场景,比如纯工具頁、临时活動頁、只在特定渠道投放的落地頁,可以繼續只放在 Sitemap 里。但要接受它抓取频率低、更新被發現得慢這個前提,不必為此反复調整模板。

一個可以立刻做的检查

從 Sitemap 里随机抽二十條 URL,逐條確認它是否能從站内正常点击路径到達。找不出来的先记下来。這一步不需要額外工具,几分钟就能看出大概比例。

Sitemap 负责让蜘蛛知道頁面在哪,内鏈负责让蜘蛛一次次回到頁面。两者只留一個,頁面就會長期處在半休眠狀態。