很多人把“蜘蛛来過”当成“頁面被收錄”的信号,于是在日誌里看到一次抓取就放心了。實际上抓取和收錄是两個獨立動作,中間隔着一次判断。把這两件事分開,排查方向會清楚很多。
两個動作,判断标准不同
抓取是搜尋引擎的爬虫把頁面内容取回自己的服務器;收錄是搜尋引擎决定把這個頁面放進索引库,之後它才有可能出現在搜尋结果里。前者看的是“能不能取到”,後者看的是“值不值得留”。能取到不等于值得留,這是大部分困惑的来源。
先定位卡在哪一步
判断顺序建议從證據最硬的開始:
- 服務器日誌:蜘蛛是否来過、来的时候返回了什么狀態碼、取的是哪條 URL,這是最直接的一手證據。
- 索引狀態报告或站点地图报告:能看到“已發現未抓取”“已抓取未编入索引”這類分堆,比只盯着總數有用。
- site: 查询與 URL 检查類工具:能提供參考,但结果並不精确,不适合当作唯一依據。
日誌里從未出現過该 URL,問题在抓取之前;日誌里有记錄但狀態碼不是 200,問题在可訪問性;日誌正常、狀態碼正常,頁面却長期不在索引里,才轮到收錄判断。
没有被抓取时,先查這些
- robots.txt 是否挡住了:最常见也最容易忽略的一項,被挡之後已经在索引里的頁面也會慢慢消失。
- 狀態碼和跳轉鏈:301 鏈條過長、302 反复跳、返回 5xx,都會让蜘蛛放弃或降低抓取频率。
- 發現路径:頁面有没有内鏈指向?是否只存在于站点地图里?孤立頁面靠站点地图也能被發現,但優先級通常更低。
- 服務器响應:响應慢、超时、並發限制嚴格,會让抓取量被動下降。
被抓取了却没收錄,重点轉向内容判断
- 是否與站内或站外頁面高度重复:同一内容多個地址、采集轉载、模板大面积相同,都可能導致搜尋引擎只挑一條留下。
- 主体内容是否太薄:标题、導航、頁脚占了大半,正文只有一两句,很难被判定為有獨立價值的頁面。
- canonical 與 noindex 是否寫反:canonical 指向別處,等于自己声明“我不是主版本”;noindex 則會直接把它排除在外。
- 内容是否依赖渲染後才出現:如果正文只能靠脚本加载,而抓取时拿不到,索引里留下的可能只是空壳。
這几項里,重复和薄内容属于内容层面的問题,改模板、改标簽都解决不了,只能回到頁面本身。
两個常见的混淆
- 抓取频率高等于收錄好:抓取频率反映的是爬虫對站点更新节奏和响應质量的判断,和是否收錄没有必然關系。频繁抓取一個低质量頁面,结果依然可能是不收錄。
- 提交站点地图等于會被收錄:提交只解决“告诉搜尋引擎有這么一條 URL”,並不构成收錄承诺。
蜘蛛池這類手段能影响的是 URL 被發現的速度,也就是把頁面更快送到爬虫面前。它改變不了頁面质量、重复度和規范性带来的收錄结果。把它当成加速發現的工具,而不是收錄問题的解决办法。
一個可复用的排查顺序
遇到“這個頁面怎么還没收錄”,按下面的顺序走一遍,通常能在一两轮内定位到层級:
- 日誌里有没有抓取记錄?没有,就查 robots、内鏈、站点地图、响應狀態。
- 有抓取记錄的话,返回的狀態碼是什么?非 200,先修可訪問性。
- 狀態碼正常,頁面是否 noindex、canonical 是否指向別處?是,先纠正标簽。
- 标簽正常,正文是否與已有頁面高度相似、是否過薄?是,處理内容,而不是繼續加提交或加外鏈。
- 以上都正常,仍然長期不收錄,就记錄時間观察規律,同时把精力放回站点整体质量。
把抓取和收錄拆開之後,很多“蜘蛛明明来過”的疑問會自然消解:来過只說明第一步完成了,第二步取决于頁面本身。