列表轉 XML 的 sitemap 產生器可將您已有的最多 10,000 個絕對頁面 URL,在瀏覽器內全數轉為符合標準的 sitemap.xml 檔案,無需爬取、無需上傳到伺服器,且設有三項嚴格的全檔預算,一旦超限即失敗而非截斷:10,000 個不重複的 URL、5,000,000 個 UTF-16 輸入碼位,以及 10 MiB 的 UTF-8 位元組上限。這三項上限皆為全有或全無,因此任一項都可能單獨導致批次作業失敗;若您經審核的 URL 列表,在經過 URL 正規化與 XML 跳脫後,大小落在 10,485,760 個 UTF-8 位元組以內,則產生器會輸出完整檔案,多出 1 個位元組就會使執行失敗。因此「批次」一詞係指您所提供輸入的大小,而非該工具所執行爬取作業的範圍。XML Sitemap Generator 接受每行一個絕對的 HTTP 或 HTTPS URL,依首次出現順序去除重複項目,套用您選擇的選用 lastmod、changefreq 或 priority 值,並準備好本機下載。所有解析與檔案建立作業都在目前的分頁中完成;URL 與所產生的 XML 絕不會離開您的瀏覽器。事先了解輸入內容、驗證行為以及限制,能把批次作業化為一次到位的操作,而非除錯過程。

sitemap generator bulk
批次 Sitemap 產生器:將 URL 列表轉為 sitemap.xml

「批次」對 XML Sitemap Generator 的意義

此處的批次作業流程本質上是列表轉 XML 的操作。XML Sitemap Generator 不會爬取您的網站、不會跟隨連結、不會檢查 canonical 標籤、不會讀取修改日期、不會探索重新導向、不會驗證 HTTP 狀態,也不會判斷可索引性。它僅接受您貼上的內容,透過 WHATWG URL 解析器對每一行進行正規化,去除重複,執行跳脫,並輸出官方的 sitemaps.org/schemas/sitemap/0.9 urlset。因此「批次」係指您所提供輸入的大小,而非探索後輸出的規模。對大多數網站而言,這意味著一份已由您親自審核、涵蓋 canonical、可索引、公開 URL 的列表,並已逐一檢查過重新導向、私密路徑、遭封鎖的頁面與重複項目。對於具有樣板化 URL 模式(分類頁、分頁封存、地區變體、部落格索引)的網站,批次輸入可從結構化列表組合而成,而非從即時爬取中取。XML Sitemap Generator 之所以適合這項任務,正是因為它完全不涉及網路,並將您提供的列表視為唯一可信來源。

貼上前先準備好一份已審核的 URL 列表

批次作業的成敗,取決於您所提供的 URL 列表品質。三個習慣能讓輸入便於驗證:

  • 確認每一行都是絕對路徑。如 example.com/about 這類裸網域、像 /about 這類相對路徑、FTP URL 以及任何非 HTTP 通訊協定的 URL,都會直接遭到拒絕。
  • 移除每個非空白行的開頭與結尾空白字元。產生器會拒絕而非自動修整,從試算表複製貼上後,通常需要快速清理一遍。
  • 事先決定您要的是僅含 loc 的 XML,還是含共用詮釋資料的 XML。只要任何一個 URL 需要不同的 lastmod 或 priority,本工具就不支援個別 URL 的覆寫;它會對整份檔案套用單一共用值,或完全不套用。

若您需要從像 /blog/page-{n} 這類樣板化模式組合出大量清單,批次 URL 產生器工作流程的結構化逐步說明會展示如何以計數器走訪範圍、補零,並產出乾淨的輸入檔。這個前置步驟能將手動編輯工作化為可重複、一次到位的操作。

誠實地套用選用詮釋資料,或直接省略

這三個選用標籤語法簡單,但驗證嚴格。若您提供這些值,則同一個值會套用至檔案中所有 URL;若留白,則輸出的 XML 將僅包含 loc。依據 sitemaps 通訊協定,三者皆為提示而非指令,搜尋引擎可能會忽略。

選用標接受的值驗證行為
lastmodYYYY-MM-DD,或含秒數與 Z 或有效 UTC 時差的完整日期時間會檢查實際的格里高曆日期、閏年、時鐘欄位及時區上下限;開頭或結尾的空白字元會遭到拒絕
changefreqalways、hourly、daily、weekly、monthly、yearly、never任何其他字串都會使整個產生作業失敗
priority0.0 到 1.0 之間的小數超出範圍的值會使整個產生作業失敗

只有當單一共用值對所有項目皆屬事實時,才使用 lastmod,例如網站重新設計或重大內容審查的日期。當每個 URL 的實際情況不同時,請將選用欄位留白;僅含 loc 的 XML 才是最誠實的呈現。

產生、檢視並下載 sitemap.xml

  1. 在瀏覽器中開啟 XML Sitemap Generator,確認編輯區為空白。
  2. 將您已審核的清單貼入 URL 框中,每行一個絕對的 HTTP 或 HTTPS URL。每份檔案限用單一主機,包括任何非預設連接埠。
  3. 若要產生僅含 loc 的 XML,請將選用的 lastmod、changefreq 與 priority 欄位留白;若要套用,則填入對所有項目皆屬事實的單一共用值。
  4. 點擊「Generate」。請先閱讀工具回報的任何行層級錯誤,回到您的清單進行修正,而不是去調整詮釋資料欄位。
  5. 檢視預中呈現的 XML、URL 數量與重複項目數量。確認您預期的每個 URL 都依您所提供之順序出現。
  6. 點擊「Download」儲存 sitemap.xml,接著在 robots.txt 中引用該檔案,並將其託管於所代表的網站上。

編輯任何欄位都會撤銷目前可下載的檔案並清除舊有的 XML,因此每次修改後都必須重新產生。舊的 Object URL 會在新驗證執行前被釋放,因此不會有過時檔案殘留在您的下載項目中。

批次作業中的限制與失敗模式

sitemaps.org 通訊協定允許每個檔案最多 50,000 個 URL,以及 52,428,800 個未壓縮位元組。此瀏覽器工具採用較低的全檔預算,以確保解析、預覽、Blob 與瀏覽器記憶體皆可預測,包括對貼上的 URL 清單本身設有 5,000,000 個 UTF-16 輸入碼位的上限,這項限制可能在尚未測量輸出大小之前就使執行失敗。

限制條件通訊協定上限XML Sitemap Generator
每檔不重複的 URL 數50,00010,000
未壓縮檔案大小52,428,800 位元組10,485,760 位元組 (10 MiB)
每個 loc 的字元數少於 2,048少於 2,048

每項限制皆為全有或全無。第 10,000 個不重複 URL 會被接受,而下一個不重複 URL 則會使整個產生作業失敗。重複的行不會佔用輸出配額,因此永遠不會將有效 URL 擠出上限。恰為 10,485,760 位元組的邊界值會被接受;多出 1 個位元組則會遭到拒絕。不會回傳截短的 XML、省略符、上限預覽或部分下載。若您的實際 URL 清單超過 10,000 個項目,請將其拆分為多個檔案,並透過 sitemap index 引用,或刪除不值得索引的項目。

批次貼上時的驗證行為

驗證作業以行為單位執行,且絕不會靜默處理。產生器會拒絕裸網域、相對路徑、FTP URL、原始空白字元、控制字元、格式錯誤的百分比跳脫、嵌入的認證資訊以及片段。同一主機的 HTTP 與 HTTPS URL 可在同一檔案中接受,因為通訊協定並非主機比對的一部分;但不同的非預設連接埠則無法同時接受。大寫主機與其小寫形式視為同一 URL,明確指定的預設連接埠與其正規化形式亦同。舉例而言,URL https://Example.COM:443/Blog/Post-1 會被正規化為 https://example.com/Blog/Post-1:主機改為小寫、移除預設連接埠,並保留根斜線。

僅含空白字元的行會被忽略,但非空白行的開頭或結尾空白屬於錯誤,並非靜默修整。認證資訊會遭到拒絕,以防止使用者名稱或密碼被複製到公開的 sitemap 中。片段會遭到拒絕,因為它們不會作為 HTTP 請求的一部分傳送至伺服器,不應為同一筆擷取的資源建立多筆 sitemap 項目。

此批次產生器不會執行的作業

了解該工具刻意不執行的事項,是正確使用它的一部分。XML Sitemap Generator 不會爬取您的網站、不會提交 sitemap、不會建立 sitemap index,也不會輸出 image、video、news 或 hreflang 擴充。它不會將結果 gzip、不會編輯 robots.txt,也不會呼叫 Search Console。依據 Google 的建立並提交 sitemap說明文件,這些步驟仍由您負責。URL 解析器遵循 WHATWG URL Standard:將主機名稱轉為小寫、移除預設連接埠、必要時加上根斜線,並對非 ASCII 元件進行百分比編碼。正是這套正規化作業,讓混合 HTTP 與 HTTPS、結尾斜線、大小寫差異之間的去重複值得以信賴。

讓批次作業一次到位的實用訣竅

幾個習慣能讓批次工作流程化為一次到位的操作:

  • 先用五個 URL 進行冒煙測試。貼上簡短清單、執行產生、下載,並於文字編輯器中檢視 XML,以確認格式無誤,再貼上完整的批次清單。
  • 在試算表中預先排序或預先去重複。XML Sitemap Generator 會依首次出現順序去除重複,因此首次出現的位置決定了輸出位置。事先掌握重複數量可避免意外狀況。
  • 稽核混合的 HTTP 與 HTTPS 項目。產生器接受同一主機的兩種通訊協定,但您通常會希望在發布前將其正規化為單一通訊協定。
  • 先產生樣板化清單再貼上。對於 /blog/page-{n} 模式或地區變體,請先以結構化工具建構 URL 清單;在批次作業中,手動輸入 500 個分類 URL 是最常見的錯誤來源。
  • 略過由參數驅動的變體。除非您希望每個變體都被索引,否則請勿納入會改變頁面內容的查詢參數(工作階段 ID、排序順序);去重複是針對正規化後的 URL 進行,而不是可見的頁面輸出。

由於所有處理作業都在目前的瀏覽器分頁中執行,批次作業唯一的限制便是您所使用的裝置。現代桌面瀏覽器能順暢預覽 10 MiB 的 XML;較舊的手機即使能正確算出檔案,預覽仍可能較為緩慢。請先規劃輸入、一次選定選用詮釋資料,然後以單次作業完成產生。

延伸閱讀:無需 API 即可從 Sitemap 擷取 URL