完整的 URL 清單是 SEO 中最實用的資產之一,因為它讓您能夠稽核、重新導向或分析搜尋引擎被告知要考量的每一個頁面。若要從網站擷取所有 URL,請開啟該網站的 XML sitemap(通常位於 /sitemap.xml),複製整份文件,將其貼到 Sitemap URL Extractor,然後讀回一個去重複、一行一個 URL 的清單,您可以將其複製到任何其他工具中。這個方法之所以有效,是因為符合標準格式的 sitemap 會將每個頁面網址放在單一 <loc> 元素中,並由 <urlset> 根元素包裹,而位於相同路徑的 sitemap index 會公開包含這些頁面層級文件的子 sitemap。
這件事在實務上之所以重要,是因為爬蟲、稽核和批次編輯工具都想要同樣的東西:一個扁平、以換行分隔、不含 XML 雜訊的網址清單。XML sitemap 也包含額外的元素,例如 <lastmod>、<changefreq> 和 <priority>,這些元素在提供背景資訊時很有用,但會妨礙產出乾淨的清單。在擁有 5,000 個 URL 的網站上手動移除這些元素既繁瑣又容易出錯,這就是為什麼自動化的處理程序能真正節省時間。

如何在任何網站上找到 sitemap
大多數網站會在根網域的標準位置 /sitemap.xml 公開其 sitemap。常見的變體包括 /sitemap_index.xml、/sitemap.xml.gz、/sitemap-index.xml,或是特定語言的路徑,例如 /en/sitemap.xml。少數網站也會為文章、頁面、產品和圖片分別發布獨立的 sitemap,然後從單一的 sitemap index 文件中將它們全部連結起來。
如果標準 URL 是空的,請查看網域根目錄的 robots.txt 檔案——它幾乎一定會宣告 sitemap 的位置。robots.txt 中的 Sitemap 指令是一行陳述,真正的網站會直接指明標準的 XML 路徑。如果連這個也找不到,網站的文件說明或頁尾通常會連結到一個「Sitemap」頁面,該頁面可能是進入索引的入口。
使用 Sitemap URL Extractor 從網站擷取每個 URL
- 在瀏覽器中開啟 sitemap,檢視原始碼,並從開頭的 <?xml> 宣告到結尾的 </urlset> 或 </sitemapindex> 標籤,選取整份 XML 文件。
- 將 XML 文字貼到 Sitemap URL Extractor 的編輯區域。
- 閱讀摘要資訊:工具會回報偵測到的根類型(urlset 或 sitemapindex)、<loc> 項目的總數、不重複的數量、重複的數量,以及最終逐行一個 URL 的輸出結果。
- 使用複製按鈕複製去重複後的清單,並將其貼到純文字編輯器、試算表,或任何接受以換行分隔 URL 的下游工具中。
- 如果文件是 sitemap index,請先複製子 sitemap URL 的清單,依序開啟每一個,並為每個子文件重複貼上的步驟,以建立合併後的完整清單。
Sitemap URL Extractor 完全在瀏覽器中執行,這表示 XML 從不離開您的機器。當 sitemap 包含不應提交給第三方爬蟲的草稿 URL、暫存路徑或私人產品摘要時,這項細節非常重要。一旦清單進入您的剪貼簿,您就可以繼續進行驗證,而無需重新下載任何內容。
sitemap 與 sitemap-index 文件的差異
理解這兩種文件結構有助於判斷只需貼上一次,還是需要逐一處理子文件。下表摘要說明了它們在結構上的差異,以及各自對應的實務工作流程。
| 面向 | urlset sitemap | sitemapindex 文件 |
|---|---|---|
| 根元素 | <urlset> | <sitemapindex> |
| 直接子元素 | 每個包裹一個 <loc> 的 <url> 元素 | 每個子 sitemap 包裹一個 <loc> 的 <sitemap> 元素 |
| 首次貼上後能取得的內容 | 完整的頁面層級 URL 清單 | 子 sitemap URL 的清單,而非頁面本身 |
| 工作流程 | 貼上一次,然後複製結果 | 貼上後,依序開啟並貼上每個子文件以合併結果 |
| 依據 sitemaps.org 的大小規範 | 最多 50,000 個 URL,未壓縮上限 50 MB | 最多 50,000 個子 sitemap |
常見的實際部署模式是在 /sitemap.xml 放置單一 sitemap index,指向十幾個子 sitemap,例如 post-sitemap.xml、page-sitemap.xml 和 product-sitemap.xml。辨識您正在查看的是哪一種類型,能避免擷取程序半途而廢。
取得 URL 清單後該怎麼處理
擷取 URL 很少是最終目的——它是一系列檢查的起點。您複製的清單現在已成為數個標準 SEO 任務的工作輸入。
- 狀態碼掃描:將清單貼到批次 HTTP 狀態檢查工具中,標記出應清理或重新導向的 404、301、302 與 5xx 回應。
- Canonical 稽核:確認每個 URL 的 rel=canonical 元素指向自己或指向偏好的替代版本,特別是在分頁與帶參數的頁面上。
- Robots 與 meta robots 檢視:交叉比對每個 URL 與網站的 robots.txt 規則以及個別的 meta robots 標籤,確認哪些頁面符合被爬取與編入索引的資格。
- 索引驗證:抽樣對照實際搜尋結果,確認標記為可編入索引的頁面確實出現。
- 重新導向對應:在遷移至新網域或重新調整網站結構時,將清單匯入重新導向規劃工具。
若需要更深入的稽核背景,XML sitemap 指南 說明了 sitemap 必須遵循的結構規則,這能讓您更容易發現擷取工具會悄悄略過的格式錯誤項目。當上述 canonical 稽核步驟發現不一致之處時,canonical 標籤指南 是實用的對照參考。
擷取 URL 時常見的陷阱
有幾個邊緣情況會讓第一次拆解 sitemap 的人受挫,提前了解它們能省下一輪清理工作。
- Gzip 壓縮的 sitemap:副檔名為
.xml.gz的檔案必須先解壓縮再貼上,否則擷取工具會看到二進位內容並回報零個 URL。 - 貼上內容被截斷:在瀏覽器中只複製可見的視窗內容,常常會切掉結尾標籤,導致清單不完整;請務必檢視原始碼並全選所有內容。
- 相對的 loc 值:儘管該協定預期使用絕對 URL,舊版或損壞的 sitemap 有時會包含像
/about這類路徑;請將其標記為待手動修正,而不是視為最終網址。 - 編碼不一致:宣告為 UTF-8 的 sitemap 可能含有從 CMS 匯出的雜散字元,導致剖析失敗;在貼上之前先用純文字編輯器開啟原始檔,通常能解決這個問題。
- 隱藏的重複項:同一個 URL 可能同時出現在兩個子 sitemap 中,特別是當圖片或新聞 sitemap 與主要 sitemap 重疊時;請以擷取工具回報的不重複數量為準。
跨多個來源建立完整的清單
當網站公開多於一個入口時——例如一個 sitemap index 加上獨立的 news sitemap 與 image sitemap——請依下列三個步驟合併。首先,將 sitemap index 貼到擷取工具中,並複製子 sitemap URL 的清單。其次,逐一貼上每個子 sitemap,並將去重複後的頁面清單附加至一份主要文件。最後,對主要文件本身執行排序與 uniq 去重複處理,或將合併後的清單再次貼回擷取工具中,以確認最終的不重複數量。
定義整個流程的協定由 sitemaps.org 發布,相關的底層 XML 架構也在 sitemaps.org 中有文件說明。對於想了解 <loc> 值在 XML 層級如何被包裹於 <url> 元素中的開發者來說,相關的參考文件是 W3C 的 Extensible Markup Language 規格。
總結
最簡短可靠的路徑就是本文圍繞的核心:找到 sitemap、複製 XML 原始檔、將其貼到 Sitemap URL Extractor,然後複製去重複後的結果。從這裡開始,請將該清單視為您實際需要進行的稽核(狀態碼、canonical、robots 規則、索引驗證)的工作文件。由於擷取程序完全在用戶端執行,同樣的工作流程也適用於暫存網站、私人摘要與客戶交付物,無需將 sitemap 曝光給其他人。
如果後續的稽核需要根據修訂過的 URL 清單重新產生一份新的 sitemap,XML Sitemap Generator 會接收您審核過的清單,並產生一份符合標準、可供上傳的文件。擷取工具與產生工具設計為成對使用:前者將 XML 轉為乾淨的清單,後者在清單編輯完成後,再將該清單轉回 XML。