sitemap 在蜘蛛池里的位置
蜘蛛池的入口頁要起作用,第一步是让搜尋引擎蜘蛛知道這些 URL 存在。常见路径有三條:入口頁之間的内鏈、外部引荐連結、以及 sitemap 提交。sitemap 不是核心,它的作用是补足内鏈覆盖不到的部分,尤其是入口頁數量較多、层級較深的时候。
如果入口頁只有几十個,並且彼此連結通畅,sitemap 的邊际作用有限。如果入口頁有几千個,靠内鏈让蜘蛛逐层發現效率會下降,這时把入口頁 URL 整理進 sitemap 更實际。
放哪些 URL
sitemap 里應该放入口頁自身的 URL,而不是目标站的 URL。跨域 sitemap 一般不被搜尋引擎接受,除非你在目标站驗證過站点權限並提交该站自己的 sitemap。把目标站 URL 塞進入口頁域名的 sitemap,基本是無效操作。
具体放法:
- 狀態碼為 200 的入口頁,且頁面内容可正常訪問。
- 不希望被索引的頁面不要放,例如僅供跳轉、内容极薄或有 noindex 的頁面。
- 不要放 404、410、500 狀態的 URL。
- 參數化 URL 尽量归一,避免同一頁面多個參數版本重复提交。
如果入口頁有分頁,只放第一頁或規范版本即可,不必把每頁都塞進去。
提交频率怎么定
提交频率没有统一标准,取决于入口頁的生成速度和你對抓取节奏的预期。几個原則:
- 增量提交優先。新生成一批入口頁就提交一批,不要每天把全站入口頁重新提交一遍。
- lastmod 要真實。頁面内容确實變了再改,没變就不要動。频繁伪造 lastmod 會让搜尋引擎降低對该字段的信任。
- 入口頁數量多时,用 sitemap 索引文件,按批次或按目錄拆分,單個 sitemap 控制在合理條數内。
- 提交後观察日誌,不必每天重复提交同一批 URL。
提交 sitemap 只是告诉搜尋引擎“這些 URL 存在”,不保證蜘蛛會来抓,也不保證入口頁會被索引。
與 robots、内鏈的配合
在 robots.txt 里声明 sitemap 地址,是让蜘蛛找到 sitemap 的常規做法。格式简單,一行一條。注意 robots 文件本身要能正常訪問,不要因為誤屏蔽導致 sitemap 也拿不到。
内鏈仍然是入口頁被發現的主要方式。sitemap 解决的是“蜘蛛知道 URL 存在”,内鏈解决的是“蜘蛛愿意顺着走”。两者不冲突。入口頁之間可以互相連結,但不要做成几千個連結堆在一個頁面上,那样容易被判断為連結农场。
常见失誤
- 把 sitemap 当主力:只提交 sitemap,入口頁之間没有内鏈,蜘蛛抓取量可能很低。
- 提交不可抓取的 URL:sitemap 里混入 404、noindex 或需要登入的頁面,浪費抓取预算。
- lastmod 乱寫:每次提交都改時間,但没有實际更新。
- 全量重复提交:每天提交同一批 URL,蜘蛛不會因此增加抓取。
- sitemap 文件過大或格式错誤:编碼、标簽閉合、URL 數量超限都會導致解析失敗。
- 忽略日誌驗證:提交完不看服務器日誌,不知道蜘蛛有没有来拿 sitemap。
使用建议
把 sitemap 当成入口頁發現鏈路的补充,而不是救命稻草。入口頁少的时候,優先把内鏈和可訪問性做好;入口頁多的时候,再用 sitemap 做批量提交。提交後通過日誌观察 sitemap 的抓取记錄和入口頁的抓取量變化,根據實际反馈調整提交节奏。不要因為提交了 sitemap 就期待收錄或排名變化,那取决于頁面质量、目标站情况和搜尋引擎的判断。