入口頁做得再整齐,蜘蛛不知道這些 URL 存在,也等于没做。sitemap 和主動提交解决的就是這一步——把清單递到蜘蛛面前。但要先说清楚:它們是“通知”,不是“錄取”。提交之後蜘蛛来不来、来几次,仍然取决于站点整体质量和抓取预算。
sitemap 在蜘蛛池里到底起什么作用
蜘蛛發現 URL 主要有四條路:外鏈、站内連結、sitemap、以及站長平台的提交接口。蜘蛛池的入口頁往往數量大、层級深,靠首頁和内鏈一层层爬下去,覆盖率會很低。sitemap 的價值就在于跳過“爬行路径”,直接给出一份待抓清單。
它适合這样的场景:
- 入口頁數量在几百以上,内鏈不可能全部覆盖;
- URL 层級較深,或者入口頁之間彼此不互鏈;
- 新池子上线,蜘蛛還没建立對该域名的抓取习惯。
反過来,如果入口頁只有几十個、首頁連結就能全部点到,sitemap 的邊际作用很小,不必花太多精力。
sitemap 文件本身要過關
格式與体积
- 用 UTF-8 编碼,每行一個完整 URL,包含协议和域名;
- 單文件 URL 數量控制在 5 萬條以内,未压缩体积不超過 50MB;
- 超過就拆成多個文件,再用一個 sitemap index 索引文件串起来;
- 只寫返回 200 的規范 URL,301、302、404、403 的地址不要放進去。
和 robots.txt 保持一致
sitemap 地址要寫在 robots.txt 里,同时確認 robots.txt 没有把 sitemap 或入口頁目錄屏蔽掉——一邊放行一邊屏蔽,是很容易犯的低級错誤。
主動提交的几個渠道
- 站長平台提交 sitemap:最基础的一步,一次配置長期有效,适合批量入口頁。
- API 推送:有配額限制,适合新上线、需要尽快被看到的少量重点 URL,不适合每天全量刷。
- ping 通知:sitemap 更新後通知一次即可,频繁 ping 没有額外收益。
- RSS / Atom:更新频繁的列表頁可以顺带輸出,作為补充渠道。
几個常见的誤区
- 把提交当成收錄開關。提交只影响“蜘蛛是否知道”,不改變頁面质量判断,更不承诺抓取和收錄。
- sitemap 里塞進所有歷史 URL。池子調整後失效的地址應当移除,長期堆着會让有效部分被稀释。
- 每天重复推送同一批 URL。配額被浪費,還容易触發频次限制。
- 用 sitemap 完全替代内鏈。蜘蛛仍然需要通過連結判断頁面在站内的位置和重要程度,只有清單没有連結的站点,抓取深度通常很差。
- sitemap 與頁面實际内容不一致。文件里寫 A,頁面上只有 B,蜘蛛来過几次之後對该文件的信任會下降。
一個可以照着做的上线顺序
- 先確認入口頁本身可訪問、返回 200、内容和标题對得上;
- 生成 sitemap,按目錄或板块分片,检查编碼和 URL 完整性;
- 把 sitemap 地址寫入 robots.txt,並在站長平台提交;
- 等三到七天,看日誌里這些 URL 有没有被抓、抓了多少;
- 對始终没被訪問的 URL,检查是否被 robots 屏蔽、是否孤岛頁、是否需要补一條内鏈;
- 新增入口頁时增量更新 sitemap,而不是每次全量重建推送。
把 sitemap 和提交当成“降低蜘蛛發現成本”的工具,而不是“提高收錄率”的手段,预期會稳很多。