在 Windows 上將完整 XML 文字貼入瀏覽器式解析器,再複製經過驗證、每行一個 URL 的輸出,即可從網站地圖中擷取 URL。Sitemap URL Extractor 會在你的瀏覽器本機進行解析,不會上傳 XML。它不會從遠端位址擷取網站地圖,因此你必須先取得並複製 XML 來源。

extract urls from sitemap on windows
在 Windows 上從網站地圖擷取 URL:XML 轉為 URL 清單

在 Windows 上準備網站地圖來源

Windows 上的網站地圖擷取包含兩個獨立部分:將完整 XML 放入剪貼簿,以及解析其直接位置元素。如果你只有網站地址,請先找出真正的網站地圖 XML 回應;此擷取器不會爬取網站或探索網站地圖檔案。這份在瀏覽器中尋找網站地圖 URL 的指南可協助你完成此準備步驟。

Windows 情況 準備方式 擷取器接收的內容
已下載的 XML 檔案 在記事本或其他純文字編輯器中開啟檔案,按 Ctrl+A 選取全部內容,再按 Ctrl+C 複製。 urlset 或 sitemapindex 文件的完整文字。
可透過網頁位址取得的 XML 在瀏覽器中開啟回應並複製完整的 XML 來源。如果顯示為 XML 樹狀結構,請使用瀏覽器的檢視原始碼選項。 你手動複製的 XML;擷取器不會發出網路請求。
壓縮的 .gz 網站地圖 在擷取器之外解壓縮檔案,然後開啟產生的 XML 文字。 解壓縮後的 XML,而非 gzip 位元組或 .gz 位址。
網站地圖索引 將完整的索引 XML 另存為獨立文件後貼上。 子網站地圖檔案的直接位置,而非其頁面 URL。

只複製可見的 URL、XML 的部分片段或網站地圖的位址,都無法提供解析器所需的輸入。請貼上文件本身。

在 Windows 上從網站地圖擷取 URL

以下工作流程能清楚區分輸入與輸出:輸入一份完整的 XML 文件,輸出經過驗證的 URL 清單。

  1. 在 Windows 瀏覽器中開啟擷取器。找到其 XML 編輯器。
  2. 貼入 urlset 或 sitemapindex 文件的完整 XML 文字。使用文字編輯器或瀏覽器原始碼檢視功能準備來源後,按 Ctrl+V。
  3. 執行擷取。解析器會讀取直接 loc 子元素,而不會將檔案中每個看似 URL 的字串都視為結果。
  4. 檢查偵測到的根元素類型、不重複 URL 數量、重複數量及完整輸出。確認結果與你貼上的文件類型相符。
  5. 檢視每行一個 URL 的清單。清單會保留首次出現的順序,方便你將輸出與來源比較。經過正規化的重複 URL 在首次出現後會被省略。
  6. 使用複製控制項複製完整清單。你可以將其貼入試算表、爬蟲檢查清單、重新導向稽核、日誌比較或遷移審查中。
  7. 視需要另外執行即時檢查。HTTP 狀態、重新導向、canonical 標籤、robots 指令、noindex 指令及索引狀況均須分別驗證;這些檢查都不屬於擷取作業的一部分。

如果執行失敗,請勿將結果視為部分 URL 清單。解析器會刻意讓整項作業失敗,而不會將不完整的清單呈現為完整清單。

解讀清單前先選擇結構

偵測到的根元素類型會決定所擷取位置的意義。urlset 包含 URL 項目,且每個項目都必須具有直接的 loc 子元素。其輸出代表該檔案中列出的頁面位置。sitemapindex 則包含網站地圖項目,且每個項目同樣必須具有直接的 loc 子元素。其輸出代表子網站地圖檔案的位置。

因此,網站地圖索引是網站地圖檔案的目錄,而不是包含每個頁面的遞迴式集合。擷取器不會擷取這些子檔案,也不會展開其內容。檢查索引輸出後,請分別取得每個被參照的網站地圖,貼上其 XML,並再次對該檔案執行擷取。

  • 支援一致的命名空間前置詞,例如 sm:urlset、sm:url 和 sm:loc,也支援常見的預設命名空間格式。
  • XML 宣告與註解會被忽略。
  • 選用的子元素,例如 lastmod,不會改變所擷取的位置。
  • 不會以 image:loc 等擴充功能位置取代缺少的頁面 loc,因為其代表不同的資源角色。

檢查數量、正規化與排序

結果面板提供的資訊不只是一份完成清單。它會說明解析了哪些內容,並提供可用來將輸出與來源文件比較的數量。

顯示的結果 意義 建議檢查事項
偵測到的根元素類型 貼上的文件是 urlset 或 sitemapindex。 確認這與你原本要貼上的 XML 相符。
不重複 URL 數量 通過驗證、經過去重並納入輸出的 URL 數量。 與來源中預期的位置進行比較。
重複數量 移除的正規化重複項目數量。 檢視因主機名稱大小寫或預設連接埠而合併為相同 URL 的變體。
完整輸出 依首次出現順序排列、每行一個 URL 的完整清單。 只有確認擷取成功後,才複製整份清單。

重複項目會在 URL 序列化後識別。這個瀏覽器標準程序會將主機名稱轉為小寫並進行驗證、移除預設連接埠,並在必要時對非 ASCII 路徑字元進行百分比編碼。此行為遵循 WHATWG URL Standard 中所述的原則。如果兩個來源位置序列化為相同的值,系統會傳回首次出現的項目,並移除後續副本。

每個獲准的位置都必須是絕對 HTTP 或 HTTPS URL。含有認證資訊、片段、原始空白字元、格式錯誤的百分比跳脫序列、反斜線、相對路徑及其他 URL 配位方案的項目都會被拒絕。每個序列化後的 URL 也必須少於 2,048 個字元。

從來源解決解析失敗問題

解析器不會修正格式錯誤的 XML,也不會猜測缺少的結束標籤應放在哪裡。以下情況會導致整次擷取失敗,包括:

  • 根元素或項目不完整、缺少結束標籤,或 XML 有其他格式錯誤。
  • 缺少直接 loc 子元素,或 loc 元素內含巢狀標記。
  • 未知的 XML 實體、無效的 Unicode 純量值、DTD 宣告或自訂實體宣告。
  • 解碼後的 loc 並非絕對 HTTP 或 HTTPS URL,或包含遭拒絕的字元序列。

五個預先定義的 XML 實體,以及有效的十進位或十六進位數字字元參考都會獲准接受。XML 文字會以保守方式解碼。DTD 與自訂實體會被拒絕,以維持解析行為的可預測性,並防止實體擴充成為隱藏行為。發現問題時,錯誤訊息會指出有編號的 loc 或項目,讓你修正來源,而不是無聲地略過它。

另外還有兩項整項作業的輸入限制:最多 50,000 個不重複 URL,以及五 百萬個 UTF-16 輸入程式碼單位。超過任一限制都會使擷取失敗,且不會截斷輸出。如果正式環境的網站地圖接近協定上限,請另外驗證其實際的未壓縮位元組大小,並考慮將其分割成較小的檔案,再由網站地圖索引參照。

將清單轉為 SEO 稽核檢查清單

擷取到的 URL 最好視為更全面審查的起點。這份清單可用於爬蟲檢查清單、試算表匯入、重新導向稽核、日誌比較或遷移審查。複製後,請檢查即時 URL 的下列項目:

  • HTTP 狀態與重新導向行為。
  • canonical 標籤,以及搜尋引擎實際選取的 canonical URL。
  • Robots 指令與 noindex 指令。
  • 爬取與索引資料、內容品質、權屬及目前可用狀況。

請將清單與資料庫中的 canonical URL、爬取結果、分析落地頁或先前版本進行比較。意外的重複項目可能會顯示預設連接埠或主機名稱大小寫的變體。Google 的建立與提交網站地圖指南也指出一項重要差別:網站地圖有助於探索,但不能保證爬取或索引。

了解 Windows 擷取作業無法證明的事項

成功擷取只能確認某個位置出現在貼入的結構中,並通過工具公開的 URL 驗證。它不會檢查 HTTP 狀態、重新導向、canonical 標籤、robots 指令、noindex 指令、頁面內容、權屬、網站地圖位置、磁碟上的 UTF-8 位元組,也不會確認搜尋引擎是否接受來源檔案。

請另外檢查即時的網站地圖回應與相關頁面。該結果是全面稽核中的其中一項證據,不能證明 URL 可被爬取、為 canonical、有價值、已建立索引或具有排名。由於解析是在瀏覽器中進行,且 XML 不會上傳,因此私人測試環境位置或上線前 URL 清單會留在 Windows 裝置上,除非你將它們複製到其他地方。

如需深入了解,請參閱Free UTM Builder, No Sign-Up: Build Campaign URLs。