指南 · sitemap

sitemap 的 lastmod 怎麼寫才可信?

更新於 2026-11-05 · kagentx

簡答

lastmod 要寫頁面內容真正改變的時間:正文、結構化資料或連結有變化才更新。Google 只在 lastmod 持續且可驗證地準確時才用它,Bing 明確說不能是 sitemap 的生成時間。不要用檔案修改時間、不要對整頁 HTML 算指紋、不要全站用同一個日期。可行的做法是只對頁面「說的內容」取指紋,指紋變了才記新時間,MochiStamp 就是這樣做的。

lastmod 寫什麼才算可信?

lastmod 要寫頁面內容真正改變的時間。Google 的 sitemap 文件(2026-11 核對)寫得很具體:只有當 lastmod 「持續且可驗證地準確」,Google 才會使用它;它應該反映頁面最近一次重要更新,重要更新指正文、結構化資料或連結有變化,改一下頁尾的版權年份不算。

Bing 在 2025-07-31 的網站管理員博客裡也說了同樣的意思:lastmod 是它決定要不要重新抓取的關鍵信號,應反映頁面內容真實的最後修改時間,而不是 sitemap 的生成時間,格式建議用帶時間的 ISO 8601。這篇博客還寫到,新鮮度信號會影響更新多快反映在搜尋結果和 AI 生成的回答裡。

另外,Google 的文件寫明它忽略 priority 和 changefreq,不用在這兩項上花時間。OpenAI 和 Perplexity 的爬蟲文件頁沒有提到 sitemap 或 lastmod,所以對這兩家我們不寫有沒有用。

哪幾種 lastmod 的寫法不可信?

寫法問題
用檔案的修改時間部署常常從乾淨的程式碼副本構建,每個檔案的時間都是部署那一刻,所有頁面一起「更新」。
用 sitemap 生成的時間Bing 的博客明確說不應該是生成時間;每次生成都變,等於沒寫。
對整頁 HTML 算指紋只給按鈕加一個統計用的屬性,或者改了樣式,就讓一大批頁面都算改過。
全站用同一個日期沒有變化的頁面也帶著新日期,爬蟲沒法用它挑出真正變了的頁面。

一個真實的做法:MochiStamp 按頁面「說的內容」算指紋

MochiStamp 的 sitemap(mochistamp.com/sitemap.xml,2026-11-05 讀取)有 229 個網址,每個都帶精確到秒、帶時區的 lastmod,日期分散在 2026-10-16 到 2026-11-05 之間,不是同一個日期。做法是:

  1. 指紋只看頁面說了什麼

    對每個頁面取:標題、描述、主體內容 main 裡的文字、main 裡連結和圖片指向的地址、圖片的 alt 文字。樣式、class、統計用的 data 屬性和腳本都不算。

  2. 頁首、頁尾和語言欄不算

    它們每個頁面都一樣。頁尾裡加了一個新頁面的連結,不應該讓所有其他頁面都顯得更新過。

  3. 指紋變了才記新時間

    資料庫為每個網址保存指紋和第一次看到這個指紋的時間。指紋沒變,lastmod 不動;變了,記當時的時間。

  4. 歷史日期不是「現在」

    剛開始記錄時,資料庫裡什麼都沒有。他們把之前每一次上線重放一遍,每個頁面記成「內容最後一次變化的那次上線」的時間,而不是第一次記錄的那天。

這個做法經歷過一次修正,記錄在專案日誌裡(2026-10-30):第一版指紋包含整頁 HTML,結果有一次上線只給按鈕加了一個統計用的屬性,就讓 119 個頁面都算改過。改成只看內容之後,同樣的改動不再改變任何頁面的時間。

對比 Pagent(pagent.kagentx.com/sitemap.xml,2026-11-05 讀取):81 個網址的 lastmod 全是 2026-10-27,只有日期、沒有時間,全站同一個值,取自資料更新的日期。這對一個整站同時更新的小站不算錯,但爬蟲沒法靠它判斷哪幾頁是真的新了。

怎麼給自己的網站做可信的 lastmod?

  1. 1. 先確定「什麼算頁面變了」

    正文、標題、描述、結構化資料、連結算;樣式、腳本、頁尾版權年份、統計屬性不算。這條線要寫下來,別人改程式碼時才不會隨手破壞它。

  2. 2. 對「算數的內容」取指紋,不取整頁

    構建時把算數的部分抽出來,做一個雜湊。頁首頁尾這類每頁都一樣的部分不放進去。

  3. 3. 指紋變了才更新時間,並存起來

    把每個網址的指紋和時間存進檔案或資料庫。重新部署時先比對:沒變就沿用舊時間。不要用檔案時間。

  4. 4. 輸出帶時間和時區的 ISO 8601

    像下面這樣。Google 的文件示例只寫日期,Bing 建議帶時間,寫完整的更穩:

    <url>
      <loc>https://example.com/pricing/</loc>
      <lastmod>2026-11-05T00:27:22+09:00</lastmod>
    </url>
  5. 5. 上線後抽查

    開啟線上的 sitemap.xml,挑幾個這次沒改的頁面,看日期有沒有被帶動;再挑一個剛改的,看日期是不是新的。

  6. 6. 需要時再通知搜尋引擎

    lastmod 管的是搜尋引擎再來抓取時的判斷;想讓 Bing 等引擎更快知道,見 IndexNow 是什麼。

lastmod 寫得再準,也要爬蟲進得來、正文能讀到才有意義,這兩件事見 AI 能見度稽核清單。

常見問題

lastmod 能讓我的頁面更快被 AI 引用嗎?

沒有保證。Bing 說 lastmod 是它決定重新抓取的關鍵信號,新鮮度會影響更新反映到搜尋結果和 AI 回答的速度;OpenAI 和 Perplexity 的爬蟲文件沒有提到 sitemap 或 lastmod。

lastmod 可以用檔案的修改時間嗎?

不建議。部署從乾淨副本構建時,所有檔案的時間都是部署那一刻,每個頁面都會看起來剛更新過。應該記頁面內容真正變化的時間。

改一下頁尾的版權年份要更新 lastmod 嗎?

不要。Google 的文件寫明,重要更新指正文、結構化資料或連結的變化,改版權年份不算。

priority 和 changefreq 還要寫嗎?

不用。Google 的文件寫明它忽略這兩個值。

lastmod 寫日期還是寫時間?

Google 的示例只有日期;Bing 的博客建議帶時間的 ISO 8601。寫帶時區的完整時間兩邊都合適,前提是它真的是頁面最後一次變化的時間。

出處

kagentx

你的頁面,爬蟲讀得到嗎?
讓評測告訴你

評測檢查爬蟲能不能進、正文是否直出,再把買家的問題拿去問 ChatGPT、Perplexity、Claude(開連網搜尋),看有沒有提到你。基礎版 $1,一般 2–3 分鐘出結果。