收錄经常被当成一個“提交動作”的结果:提交 sitemap、点一下提交入口、或者让蜘蛛多来几次,頁面就该進索引。實际工作中更常见的情况是,頁面本身還没满足進入索引的條件,提交再多次也只是让 URL 被反复發現。把收錄倒推一步,可以看成頁面需要依次過四道關。
第一關:抓得到
抓取是收錄的前提,但抓得到並不等于收錄。常见的卡点包括:
- robots.txt 里對整站或某個目錄寫了 Disallow,URL 根本進不了抓取队列;
- 頁面只存在于 sitemap,站内没有任何内鏈指向它,属于孤岛頁;
- 服務器對蜘蛛返回 5xx 或長時間超时,抓取被中断;
- 連結寫在 JavaScript 里且需要点击才生成,蜘蛛拿不到這個 URL。
自查时可以先看服務器日誌里這個 URL 有没有出現抓取记錄。没有抓取记錄,先解决可達性問题,不用急着讨论内容质量。
第二關:抓到了能讀懂
渲染問题往往比想象中普遍。頁面在浏览器里看起来完整,但服務器返回的 HTML 里只有框架和占位符,主内容要靠脚本請求後再插入。這種情况下,蜘蛛看到的和用戶看到的可能不是同一個頁面。
几個常见表現
- 正文、價格、規格等關键信息由接口异步返回,源碼里没有;
- 内容被登入遮罩、彈窗或“展開更多”挡住,預設不展示;
- 图片形式的正文,没有可讀的文字描述;
- 同一份内容靠前端路由切換,多個 URL 返回同一個空壳 HTML。
處理方向通常是把關键内容做服務端渲染或静態輸出,至少保證首屏主要文本在源碼里可讀。
第三關:讀懂了值不值得進索引
内容质量是相對的,判断标准是“這個頁面和站内其他頁面比,有没有獨立存在的理由”。以下几類頁面容易被抓取,但不容易長期留在索引里:
- 正文只有一两句话,靠模板和無關模块撑起整個頁面;
- 與站内其他頁面高度相似,只是換了參數或标题;
- 纯聚合列表,没有自己的說明、篩選逻辑或补充信息;
- 内容主体由商品參數表、用戶评论等重复结构拼接而成。
這類頁面不一定被判為作弊,但通常會被归入“可以抓取、不必保留索引”的一類。處理方式可以是合並同類頁面、补充獨立内容,或者用 noindex 明确表達態度,而不是放着让它反复被判断。
第四關:規范信号是否一致
当同一份内容存在多個 URL 版本时,蜘蛛需要明确知道哪個是主版本。以下几處经常互相打架:
- canonical 指向的 URL 本身不可抓取,或者返回 404、5xx;
- 站内連結混着寫,有的指向带參數版本,有的指向干净版本;
- 舊地址用 302 跳轉,或者直接 404,而不是 301;
- 參數變体既没有 canonical 收口,也没有 robots 規則约束。
如果 canonical 指向的是一個已经被 noindex 的頁面,信号會自相矛盾,最後往往是谁都不進索引。
按這個顺序自查
- 用日誌確認 URL 有没有被抓取過,没有就先修可達性;
- 確認返回狀態碼是 200,且内容不是空壳;
- 關掉 JavaScript 查看源碼,主内容是否還在;
- 和站内相似頁面比一比,判断是否有獨立價值;
- 检查 canonical、301 與 robots 規則是否互相冲突。
抓取解决的是“能不能看到”,收錄解决的是“值不值得留”。两者之間隔着的,正是頁面本身的质量與規范。
把這四道關当成發布前的常規检查,比事後反复提交更省時間。收錄速度還受站点權重、抓取节奏等外部因素影响,很难精确控制;但能不能被抓到、能不能被讀懂、信号是否清楚,這些是运营自己可以决定的。