網站收錄

sitemap 提交之後:它影响的是 URL 發現,不是收錄结果

很多人把 sitemap 当成收錄開關,文件一提交就等着頁面進索引。本文说清 sitemap 實际作用于 URL 發現這一环,介绍哪些地址该放、哪些不该放,lastmod 怎么填,以及如何用服務器日誌核對它有没有被真正讀取。

網站收錄

sitemap 提交之後:它影响的是 URL 發現,不是收錄结果

不少站点把 sitemap 当成收錄的開關,文件一提交,就等着頁面出現在搜尋结果里。几天没有動静,就開始怀疑文件格式、路径或者提交方式出了問题。實际上,sitemap 影响的是收錄鏈路里的第一环,它不负责後面的结果。

sitemap 解决的是 URL 發現

一個頁面進入索引,大致要经過發現、抓取、處理、索引几個环节。sitemap 的作用主要在發現這一步:它把一批 URL 集中摆到搜尋引擎面前,省去爬虫顺着連結一层层找的過程。對于連結层級深、入口少的頁面,這個提示确實有用。

但被發現不等于被收錄。爬虫拿到地址之後,還要判断這個頁面值不值得抓、抓回来值不值得索引。内容單薄、和已有頁面高度重复、质量不達标的頁面,即使寫進 sitemap 並且被訪問過,也可能長期停在“已發現”的狀態。

把 sitemap 理解成一張清單,而不是一張通行證。

哪些 URL 值得寫進去

  • 返回 200 的規范地址,不要寫還會 301、302 跳轉的舊地址
  • 内容會持續更新、希望被反复抓取的頁面,比如文章詳情、商品詳情
  • 入口較深,外鏈和内鏈都很难覆盖到的頁面
  • 數量不大但重要的核心頁面,可以單獨列一份並同步 lastmod

寫進去的地址要尽量保持唯一:带不带 www、结尾有没有斜杠、參數顺序是否固定,都要和頁面里的規范地址一致。同一個頁面在 sitemap 里出現两種寫法,等于把重复問题又放大了一遍。

哪些 URL 不该放

  • 404、410 以及其他打不開的地址
  • 已经設定了 noindex 的頁面,两個信号互相矛盾
  • 需要登入、或带临时會话參數的頁面
  • 篩選、排序、分頁组合出来的參數地址,數量會迅速膨胀
  • 被 robots.txt 封禁、却仍寫在 sitemap 里的地址

最後一條容易被忽略:一邊用 robots.txt 挡住目錄,一邊把里面的 URL 列進 sitemap,爬虫只會看到一堆拿不到的地址。長期這么寫,會让搜尋引擎對整份文件的准确性打折。

几個容易踩的誤区

提交之後马上就能收錄

sitemap 只是提供线索,抓取和索引各有节奏。刚上线的頁面需要時間积累信号,提交当天没有结果很正常。判断是否有效,看的是爬虫有没有按文件里的地址訪問,而不是搜尋结果條數的變化。

文件越大越好

sitemap 有單文件和單站点數量上限,超過之後需要拆分並用索引文件串联。但更實际的問题是:一份塞满低质頁面的 sitemap,反而會稀释其中真正重要 URL 的分量。宁可少而准,不要多而杂。

lastmod 随便填

lastmod 是给爬虫判断更新時間的參考。如果每次生成文件都把時間刷成目前時間,這個字段就失去了意义,時間一長會被直接忽略。只有内容确實變了,才更新對應的時間。

怎么核對它有没有起作用

  1. 看服務器日誌里爬虫對 sitemap 文件的請求频率,判断它是否在被定期讀取
  2. 對照文件里的 URL 列表和日誌里的抓取记錄,看哪些地址始终没有被打過
  3. 把持續被抓取却不進索引的頁面單獨拎出来,检查内容质量和重复情况

這样一圈下来,通常能分出两類問题:一類是压根没被發現,另一類是發現了但没通過质量這一關。前者可以靠 sitemap 和内鏈優化,後者只能回到頁面本身去解决。

维護 sitemap 的功夫,其實花在篩選上:把真正希望被收錄、也经得起检查的地址放進去,其余交给 robots.txt、noindex 或規范标簽處理。把它当成一份需要定期整理的清單,比当成一個提交動作更有價值。