網站收錄

sitemap 提交之後:蜘蛛會讀哪些 URL,哪些會被忽略

sitemap 提交了却看不到收錄變化,問题往往不在蜘蛛有没有讀,而在清單本身。這篇說明 sitemap 只能解决 URL 發現,讲清哪些地址不该寫進清單、文件该注意的细节,以及提交後如何用日誌和抓取資料核對實际效果。

網站收錄

sitemap 提交之後:蜘蛛會讀哪些 URL,哪些會被忽略

很多人把 sitemap 当成一個開關:文件生成、提交、等几天,然後在报告里看不到變化,就判断「蜘蛛没讀」。實际情况是,sitemap 主要解决URL 發現,它只是告诉搜尋引擎這些地址存在;地址能不能進索引,仍然要過抓取、渲染、内容判断這几道關。

sitemap 能做到和做不到的事

能做到的:在頁面层級很深、内鏈不足、站点又比較新的情况下,让蜘蛛拿到一份相對完整的地址清單,同时顺带提供更新時間的信号。做不到的:不能强制抓取,不能让内容不足的頁面進索引,也不會因為放進 sitemap 就获得排名優势。

所以把它看作「投递清單」更准确。清單寫得越干净,蜘蛛把時間花在有價值頁面上的比例越高;清單越乱,抓取時間就越容易被消耗在無意义的地址上。

哪些 URL 放進 sitemap 是浪費位置

  • 不能返回 200 的地址:301、302、404、410 都不该出現在清單里,只寫最终可訪問的那個 URL。
  • 被 noindex 的頁面:既然不想让它進索引,就不必再請蜘蛛来讀。
  • canonical 指向別處的頁面:清單里應该寫規范地址,而不是被收敛的副本。
  • 參數生成的重复頁:篩選、排序、跟踪參數生成的變体各寫一條,只會让清單變脏。
  • 内容极薄的模板頁:空标簽頁、無结果列表、纯占位頁,提交上去多半也會被排除。

文件本身的几個细节

只寫規范、可索引的 URL

一個 URL 在站内只應有一個「官方版本」。www 與非 www、带尾斜杠與不带、大小寫,選定一種固定下来,並让 sitemap、内鏈、canonical 三處保持一致。

lastmod 要真實

每次生成都刷新全部時間戳,會让更新信号失去意义。只在内容确實變化时,才改對應條目的時間。

分片與索引文件

單個文件有條數和体积上限,頁面多的站点應拆成多個子 sitemap,再用索引文件串起来。分片同时也方便按栏目單獨观察抓取情况。

提交之後怎么核對

  1. 看服務器日誌里蜘蛛對 sitemap 地址的請求,確認讀取频率是否正常。
  2. 對比清單條數與「已發現、已抓取」的數量,差距過大說明部分地址连抓取队列都没排上。
  3. 抽查一批 URL,核對狀態碼、canonical、noindex 是否與预期一致。
  4. 找出被反复抓取却始终没進索引的地址,那通常是内容质量或重复問题,而不是 sitemap 問题。
把 sitemap 当成收錄保證,容易忽略真正的瓶颈:内容價值和重复度。它更像一份减少蜘蛛迷路的路线图,而不是入场券。

几個常见誤区

  • 提交後马上查收錄,结论下得太早。抓取和索引都有排队過程。
  • 為了數字好看,把全站 URL 不分狀態全塞進去,反而稀释了重点頁面。
  • 站内已有多個入口的頁面仍反复提交,收益有限;重点應放在缺少内鏈的深层頁面。
  • 頁面删掉了却不更新清單,蜘蛛按舊清單反复訪問,拿到一堆 404。

说到底,sitemap 是给蜘蛛的地址清單。寫得准、寫得干净、與站内連結和 canonical 保持一致,它的作用才真正發挥出来;至于是否收錄,最终還是頁面本身说了算。