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

在 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 清單。
- 在 Windows 瀏覽器中開啟擷取器。找到其 XML 編輯器。
- 貼入 urlset 或 sitemapindex 文件的完整 XML 文字。使用文字編輯器或瀏覽器原始碼檢視功能準備來源後,按 Ctrl+V。
- 執行擷取。解析器會讀取直接 loc 子元素,而不會將檔案中每個看似 URL 的字串都視為結果。
- 檢查偵測到的根元素類型、不重複 URL 數量、重複數量及完整輸出。確認結果與你貼上的文件類型相符。
- 檢視每行一個 URL 的清單。清單會保留首次出現的順序,方便你將輸出與來源比較。經過正規化的重複 URL 在首次出現後會被省略。
- 使用複製控制項複製完整清單。你可以將其貼入試算表、爬蟲檢查清單、重新導向稽核、日誌比較或遷移審查中。
- 視需要另外執行即時檢查。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。