Albert's SEO Note
輸入關鍵字開始搜尋

Sitemap 實作完整流程,從生成到提交 GSC

3 種 Sitemap 生成方法與 3 個 GSC 提交步驟,確保搜尋引擎爬蟲精準抓取網頁。無論使用 Astro 與 Next.js 自動構建、WordPress 外掛,或小型網站免費工具,皆能建立標準化 XML 檔案。剔除 404 與 noindex 錯誤網址,有效節省爬蟲預算並提升網站整體收錄效率。

Albert · · 12 min read
Sitemap 實作完整流程,從生成到提交 GSC

本文重點

  • XML Sitemap 專為爬蟲設計,與訪客用的 HTML 導覽不同,能有效加速網頁發現與收錄。
  • 框架與 WordPress 外掛能自動生成檔案,低於 500 頁的小網站才建議使用線上免費產生器。
  • 嚴禁將 404 與 noindex 網頁放入清單,避免浪費爬蟲預算並降低搜尋引擎對網站的信任度。
  • 單一檔案若超過五萬個網址或 50MB,必須拆分檔案並建立 Sitemap Index 統一管理。

當你辛辛苦苦寫完一篇文章,最怕的就是搜尋引擎找不到它。建立並提交一份完整的 Sitemap,就像是直接遞給 Google 爬蟲一張網站導覽地圖,能大幅加快網頁被發現與收錄的速度。

一、Sitemap 是什麼?Google 為何需要

Sitemap(網站地圖)是一個包含網站內所有重要網頁網址的檔案,用來主動告訴搜尋引擎哪些網頁需要被抓取。你可以把它想像成一本圖書館的目錄索引,讓圖書管理員(搜尋引擎爬蟲)不用一排一排書架去慢慢找,就能直接知道館內有哪些藏書。

根據 Google Search Central 的說明,雖然爬蟲可以透過網頁間的內部連結(詳見 internal-linking-topic-cluster)來發現新網頁,但如果網站規模很大、擁有大量彼此未連結的孤島網頁、或是剛上線缺乏外部連結的新網站,提供 Sitemap 就能確保 Google 不會遺漏任何重要內容。

二、XML Sitemap vs HTML Sitemap 差異

XML Sitemap 是寫給搜尋引擎看的機器可讀格式,而 HTML Sitemap 則是寫給人類訪客看的網頁導覽。兩者在 SEO 上的功能與受眾完全不同。

  • XML Sitemap (sitemap.xml):這是 SEO 實作的核心。它使用 XML 標記語言,包含了網址、最後更新時間(lastmod)等中繼資料。它的唯一目的是引導搜尋引擎爬蟲進行有效率的抓取。
  • HTML Sitemap:這是一個普通的網頁,通常放在網站頁尾的連結中,條列出網站的主要分類與頁面。它的目的是幫助迷路的訪客快速找到所需內容,同時也能提供基本的內部連結結構。

三、方法 A:Astro / Next.js / 靜態網站生成器自動生成

如果你的網站是使用現代前端框架(如 Astro、Next.js)等靜態網站生成器(SSG)開發,可以直接透過官方套件或外掛,在每次建置(Build)時自動生成最新的 sitemap 檔案。

這類方法的優勢在於完全自動化,適合有開發能力的團隊:

  • Astro:官方提供了 @astrojs/sitemap 整合套件。只需在 astro.config.mjs 中引入並設定網站網域,系統就會在每次發布時掃描所有路由並生成對應的 XML 檔案。
  • Next.js:可以使用開源套件 next-sitemap,或是利用 Next.js App Router 內建的 sitemap.ts API 來動態生成。這能確保每一次新增的動態路由(如部落格文章)都能即時反映在 Sitemap 中。

四、方法 B:WordPress 用 Yoast / Rank Math

對於使用 WordPress 系統的新手站長,安裝 SEO 外掛來自動生成 Sitemap 是最簡單且最推薦的做法。這也是執行 on-page-seo-checklist 時必備的基礎設定。

無論你選擇 Yoast SEO 還是 Rank Math,只要安裝並啟用外掛,系統就會自動在背景幫你建立 Sitemap。

  1. 外掛通常會將檔案生成在 你的網域.com/sitemap_index.xml
  2. 當你在 WordPress 後台新增、更新或刪除文章時,外掛會自動更新這份清單。
  3. 你可以在外掛設定中,自由勾選哪些文章分類、標籤或自訂文章類型(Custom Post Types)需要被排除在 Sitemap 之外。

五、方法 C:免費產生器(小網站)

如果你沒有使用內容管理系統(CMS),也不懂程式碼,且網站總頁數少於 500 頁,可以使用線上的免費 Sitemap 產生器來製作。

你可以前往 XML-Sitemaps.com 這類免費工具網站,輸入你的網站首頁網址。工具會派出模擬爬蟲點擊你網站上的所有連結,最後打包成一個 sitemap.xml 檔案供你下載。 不過,這個方法的缺點是維護成本極高。你必須手動將下載的檔案上傳到伺服器的根目錄;而且未來只要網站新增了一篇文章,你就必須重新跑一次產生器並覆蓋舊檔案,否則搜尋引擎就不會知道你有新內容。

六、提交到 Google Search Console(3 步驟)

有了 sitemap.xml 檔案後,你必須主動進行 Google Search Console 提交,才能確保 Google 確實收到這份清單並開始排程抓取。

步驟一:登入與確認驗證 登入 Google Search Console。請先確保你已經完成了網站擁有權的驗證(無論是透過 DNS 紀錄或是 HTML 標記)。

步驟二:進入 Sitemap 設定介面 在 GSC 左側的導覽選單中,找到「索引」區塊,點擊下方的「Sitemap(網站地圖)」。

步驟三:輸入網址並提交 在「新增新的 Sitemap」欄位中,填入你的 Sitemap 檔案路徑(例如 sitemap.xmlsitemap_index.xml),然後點擊「提交」按鈕。提交後,下方列表的狀態欄位若顯示綠色的「成功」,就代表 Google 已經順利讀取了你的檔案。

七、常見 sitemap 錯誤(404 頁、被 noindex 的頁、重複 URL)

一份健康的 Sitemap 應該只包含狀態碼為 200(正常運作)且允許搜尋引擎索引的標準網頁。放入錯誤的網址會浪費搜尋引擎的爬蟲預算(Crawl Budget),降低網站的整體 SEO 表現。

  • 包含 404 找不到的網頁:已經刪除或更改網址的頁面,必須立刻從 Sitemap 中移除。如果爬蟲照著地圖走卻一直遇到死胡同,會降低對該網站的信任度。
  • 包含被設定為 noindex 的網頁:如果你在網頁的 <meta> 標籤或 HTTP 標頭中宣告了 noindex(不允許索引),就不該把它放進 Sitemap。這會給搜尋引擎傳遞矛盾的訊號:「請來抓取這個網頁,但請不要索引它」。
  • 重複 URL 與非標準網址:如果你的網站有帶參數的動態網址(例如 ?sort=price?color=red),Sitemap 中只應該放入你指定的標準網址(Canonical URL),避免產生重複內容問題。

八、多個 sitemap 與 sitemap index 何時需要

當單一 Sitemap 檔案包含超過 50,000 個網址,或檔案大小超過 50MB(未壓縮狀態)時,就必須將其拆分為多個 Sitemap,並透過一個 Sitemap Index(索引檔)來統一管理。

根據 Schema.org 與 Google 官方規範的建議,大型網站(如大型電商平台或新聞媒體)通常會依據內容類型或日期來分類 Sitemap。例如,拆分成 sitemap-articles.xmlsitemap-products.xmlsitemap-categories.xml。接著,再建立一個 sitemap_index.xml 檔案,裡面只放這三個子 Sitemap 的網址。在 GSC 中,你只需要提交這個索引檔,Google 就能順藤摸瓜抓取所有分類下的網址。

九、FAQ

(一)Q1: Sitemap 提交後,Google 多久會收錄我的網頁?

提交 Sitemap 後,Google 爬蟲會將這些網址加入抓取排程。通常幾天到幾週內會進行處理。要注意的是,Sitemap 只是「建議」爬蟲來抓取,並不保證網頁一定會被收錄或提升排名,內容品質依然是決定收錄與否的關鍵。

(二)Q2: 網站一定要有 Sitemap 嗎?

如果你的網站只有幾頁,且首頁有良好的導覽列與內部連結,搜尋引擎依然能順利找到所有內容。但對於絕大多數網站而言,建立 Sitemap 是一項低成本、高回報的 SEO 基本功,能確保沒有任何頁面被遺漏,強烈建議配置。

(三)Q3: 為什麼 GSC 顯示「無法擷取」Sitemap?

這通常是因為檔案路徑錯誤、伺服器阻擋了 Googlebot 的訪問,或是檔案格式不符合 XML 規範。請先確認在瀏覽器無痕模式下輸入你的 sitemap 網址,是否能正常顯示出 XML 結構,並檢查網站的 robots.txt 是否誤擋了爬蟲。

Share
Written by

張家偉 Albert Chang

行銷領域工作五年,其中四年幾乎每天都在想 SEO 的事。這裡寫我的筆記——不追流量、不堆關鍵字,只寫自己想讀的文章。

Related