頁面能不能被收錄,起点往往不是提交,而是被發現。爬虫不會凭空知道一個 URL 存在,它需要從某個已经抓過的頁面,顺着連結走過去。提交入口能起到提醒作用,但真正稳定、可控的發現渠道,還是站内連結结构。
爬虫發現新 URL 的几條路
归纳起来大致有這么几類:
- 外部連結:別的站点鏈到你的頁面,爬虫顺着過来。可控性最低。
- 站内連結:導航、列表、正文内鏈,全在自己手里,是主要入口。
- XML 站点地图:集中列出 URL,适合补充和批量声明。
- 提交工具與抓取歷史:能加速,但不是每次都會立刻触發。
其中只有站内連結是自己随时能改、改完很快生效的。把這一块理顺,通常比反复点提交更有意义。
站内入口的類型與作用差异
同样是一條連結,出現在不同位置,被對待的方式並不一样。
- 全局導航:几乎每個頁面都有,指向稳定,一般會被優先抓取。
- 栏目列表頁:一批同級頁面的集中入口,适合中层頁面。
- 面包屑:帮助爬虫理解层級,也提供向上回溯的路径。
- 正文内鏈:指向具体、内容相關的頁面,适合長尾和較深的頁面。
- 頁脚全站連結:數量大、重复度高,實际作用常被高估。
判断标准不是連結數量,而是這條連結是否出現在内容语境里、是否有明确的指向理由。随手贴上去的連結,和正文里為了补充說明而加的連結,被理解的方式並不相同。
按頁面重要程度分配入口
比較省事的做法,是先给頁面分层,再决定入口放在哪。
- 核心頁面:放進全局導航或首頁直鏈,保證每次抓取都能路過。
- 中間层頁面:由對應的栏目列表頁覆盖,一层层往下递。
- 長尾頁面:靠正文内鏈和站点地图,不必强求人人可见。
层級分清楚之後,入口的安排就有了依據,而不是所有新頁面一起往首頁塞。
入口安排上常见的三個問题
- 孤岛頁面:只存在于站点地图里,站内没有任何連結指向它。被抓到的概率明顯偏低,也难以判断它的重要度。
- 把新頁面全部堆在首頁:短期内首頁連結數量暴涨,每個連結能分到的關注被稀释,首頁本身的内容结构也容易被打乱。
- 依赖頁脚堆砌:几百條連結铺满頁脚,重复出現在全站每一頁,既影响阅讀,實际传递效果也未必好。
站点地图是补充,不是替代
XML 站点地图的價值在于把 URL 一次性交代清楚,适合新站上线、批量改版、深层頁面較多的场景。但它替代不了内鏈:一個頁面在站内没有任何連結指向,即便出現在站点地图里,對它重要程度的判断也缺少依據。更稳妥的做法是让两者互相印證——站点地图里列出的重要 URL,站内也應当有對應入口。
一份可执行的检查顺序
- 從這個頁面出發,看它是否至少有一條来自内容区的連結指向它。
- 確認連結是可抓取的普通 a 标簽,而不是依赖脚本执行後才出現。
- 检查该頁面對應的层級列表頁是否存在,並且能正常訪問。
- 對照站点地图,確認重要 URL 没有漏掉。
- 最後再去看頁面本身的内容质量,判断它是否值得進索引。
這個顺序的逻辑是:先解决“能不能被找到”,再解决“找到之後值不值得留”。不少收錄問题,卡在第一步就已经結束了。
提交和站点地图解决的是“告诉”,内鏈解决的是“走到”。爬虫最终走的是後一條路。