建立並提交 Sitemap

本頁說明如何建立 Sitemap,以及如何讓 Google 存取 Sitemap。如果您是第一次使用 Sitemap,請先參閱我們的簡介

Google 支援 Sitemap 通訊協定定義的 Sitemap 格式。 每種格式都有其優缺點;請選擇最符合您網站和設定的項目 (Google 沒有偏好)。下表比較了各種不同的 Sitemap 格式:

Sitemap 比較
XML Sitemap

XML Sitemap 是用途最廣泛的 Sitemap 格式,不僅可擴充,也能用來提供圖片影片新聞內容相關額外資訊,以及網頁的本地化版本

優點:
  • 方便擴充且用途廣泛。
  • 可以提供最多關於網址的資訊。
  • 大部分的內容管理系統 (CMS) 會自動產生 Sitemap,或者 CMS 使用者可以找到大量 Sitemap 外掛程式。
缺點:
  • 作業上可能會很麻煩。
  • 如果網站規模較大,或是其中的網址經常變更,對應關係的維護作業會變得複雜。
RSS、mRSS 和 Atom 1.0

RSS、mRSS 和 Atom 1.0 Sitemap 的結構與 XML Sitemap 類似,但通常最容易提供,因為 CMS 會自動建立這些項目。

優點:
  • 大多數 CMS 都會自動產生 RSS 和 Atom 動態消息。
  • 可用來向 Google 提供您的影片相關資訊。
缺點:
文字 Sitemap

最簡單的 Sitemap 格式,只能列出 HTML 和其他可建立索引網頁的網址。

優點:

  • 易於實作及維護,特別是對大型網站。

缺點:

  • 僅限用於 HTML 和其他可建立索引的文字內容。

Sitemap 最佳做法

Sitemap 的最佳做法是由 Sitemap 通訊協定定義。最常遭到忽略的是和大小限制、Sitemap 位置和 Sitemap 所含網址相關的最佳做法。

Sitemap 大小限制:不論採用何種格式,單一 Sitemap 在未壓縮時的檔案大小上限為 50 MB,網址數量上限為 50,000 個。如果檔案大小或網址數量超過限制,則必須將您的 Sitemap 分割成數個 Sitemap。您可以選擇建立 Sitemap 索引檔,然後將這個索引檔案提交給 Google。您也可以選擇向 Google 提交多個 Sitemap 和 Sitemap 索引檔。如果您想在 Search Console 中追蹤各個 Sitemap 的搜尋成效,這項功能就能派上用場。

Sitemap 檔案編碼和位置:Sitemap 檔案必須使用 UTF-8 編碼。您可以將 Sitemap 代管在網站的任意位置,但除非您透過 Search Console 提交 Sitemap,否則 Sitemap 只會影響父項目錄的子系。因此,建議您將 Sitemap 張貼在網站根目錄,這樣便能涵蓋網站上的所有檔案。

參照網址的資源: 在您的 Sitemap 中使用完整的絕對網址。Google 會嘗試完全按照列出的網址進行檢索。舉例來說,如果您的網站位於 https://www.example.com/,請勿指定 /mypage.html 這類相對網址,務必使用完整的絕對網址:https://www.example.com/mypage.html

在 Sitemap 中加入您想在 Google 搜尋結果中顯示的網址。在一般情況下,Google 會在搜尋結果中顯示標準網址,而您可以透過 Sitemap 加以影響。如果行動版和電腦版網頁的網址不同,建議只在 Sitemap 中指向其中一種版本。不過,如果想要同時指向這兩個網址,請為網址加上註解以指明電腦版和行動版。

如需完整的最佳做法清單,請參閱 Sitemap 通訊協定

XML Sitemap

XML Sitemap 是系統可支援的 Sitemap 格式中用途最廣泛的。可以使用 Google 支援的 Sitemap 擴充元素,您也可以提供圖片影片新聞內容相關額外資訊,以及網頁的本地化版本

以下是相當基本的 XML Sitemap,只包含單一網址的位置:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.example.com/foo.html</loc>
    <lastmod>2022-06-04</lastmod>
  </url>
</urlset>

您可以在 sitemaps.org 找到更複雜的範例和完整說明文件。

XML Sitemap 的其他注意事項

  • 與所有 XML 檔案一樣,所有標記值都必須是實體逸出
  • Google 會忽略 <priority><changefreq> 值。
  • Google 會使用 <lastmod> 值,前提是該值必須始終保持準確且可供驗證 (例如可將該值與網頁上次修改的版本進行比較)。

RSS、mRSS 和 Atom 1.0

如果 CMS 會產生 RSS 或 Atom 動態消息,您可以透過 Sitemap 提交動態消息的網址。大部分的 CMS 都會為您建立動態消息,不過請注意,這類動態消息只會針對最近的網址提供資訊。

RSS、mRSS 和 Atom 1.0 的其他注意事項

  • Google 接受 RSS 2.0 和 Atom 1.0 動態消息。
  • 您可以使用 mRSS (媒體 RSS) 動態消息將網站中影片內容的詳細資料提供給 Google。
  • 與所有 XML 檔案一樣,所有標記值都必須是實體逸出

文字 Sitemap

如果您只想提供網頁網址,則可以建立一個常用的文字檔案,其中每行包含一個網址,然後將該網址提交給 Google。舉例來說,如果您的網站有兩個網頁,您可以將這兩個網頁加入位於 https://www.example.com/sitemap.txt 的文字 Sitemap,如下所示:

https://www.example.com/file1.html
https://www.example.com/file2.html

文字檔 Sitemap 的其他注意事項

  • 請勿在 Sitemap 檔案中加入網址以外的任何內容。
  • 文字檔沒有一定的命名規則,不過必須使用 .txt 副檔名,例如 sitemap.txt。

如何建立 Sitemap

建立 Sitemap 可讓搜尋引擎瞭解您偏好搜尋結果顯示哪些網址,這些網址就是所謂的標準網址。如果您在不同網址提供相同的內容,請選擇您偏好的網址並加入 Sitemap,而不要加入會導向相同內容的所有網址。

決定好要加入 Sitemap 的網址後,請依據網站的架構和大小,選用下列其中一種方法建立 Sitemap:

讓 CMS 為您產生 Sitemap

如果您使用 WordPress、Wix 或 Blogger 等 CMS,您的 CMS 很可能已建立 Sitemap 並提供給搜尋引擎。請嘗試搜尋 CMS 如何產生 Sitemap 的相關資訊,或是搜尋 CMS 未自動產生 Sitemap 時您該如何建立 Sitemap。舉例來說,如果您使用 Wix,請搜尋「wix Sitemap」;如果是 Blogger,請搜尋「Blogger RSS」。

手動建立 Sitemap

如果 Sitemap 包含的網址少於幾十個,您或許可以手動建立 Sitemap。 如果是這種情況,請開啟 Windows 記事本Nano (Linux、MacOS) 等文字編輯器,並遵循 Sitemap 格式一節中說明的語法來建立 Sitemap。 檔案沒有一定的命名規則,只要使用網址允許的字元即可。

您當然也可以手動建立大型 Sitemap,但過程會相當繁瑣且難以長期維護。

使用工具自動產生 Sitemap

如果要建立的 Sitemap 包含的網址多於幾十個,您就需要讓系統自動產生 Sitemap。雖然能產生 Sitemap 的工具有許多種,不過還是建議使用您的網站軟體自動產生。舉例來說,您可以從網站資料庫中擷取網站的網址,然後將這些網址匯出至畫面或網路伺服器上的實際檔案。請洽詢您的開發人員或伺服器管理員,進一步瞭解這個解決方案。如果需要程式碼方面的建議,請查看我們舊版的第三方 Sitemap 產生器清單 (已停止維護)。

不用擔心 Sitemap 中的網址順序,Google 不會參考。請留意 Sitemap 的大小規定;如果 Sitemap 檔案過大,則必須分割成數個較小的 Sitemap。進一步瞭解如何管理大型 Sitemap

將 Sitemap 提交給 Google

提醒您,提交 Sitemap 只是一種提示,我們無法保證 Google 會下載 Sitemap,或運用 Sitemap 檢索網站的網址。您可以透過下列幾種方式讓 Google 存取您的 Sitemap:

  • 透過 Sitemap 報告在 Search Console 中提交 Sitemap。這可讓您查看 Googlebot 存取 Sitemap 的時間,以及可能的處理錯誤。
  • 使用 Search Console API,透過程式輔助方式提交 Sitemap
  • 在 robots.txt 檔案中任一處插入以下這行指令,並在其中指明 Sitemap 的存取路徑;我們會在下次檢索您的 robots.txt 檔案時找到 Sitemap:
    Sitemap: https://example.com/my_sitemap.xml
  • 如果您使用 Atom 或 RSS,可以使用 WebSub 向 Google 等搜尋引擎播送您的變更。

如何跨多個網站提交 Sitemap

如果您擁有多個網站,可以建立一或多個包含所有已驗證網站網址的 Sitemap,並將這些 Sitemap 儲存在同一個位置,藉此簡化提交程序。您可以選擇下列方式:

  • 以單一 Sitemap 包含多個網站的網址,這些網站可以來自不同網域。例如,位於 https://host1.example.com/sitemap.xml 的 Sitemap 可以包含下列網址:
    • https://host1.example.com
    • https://host2.example.com
    • https://host3.example.com
    • https://host1.example1.com
    • https://host1.example.ch
  • 以多個 Sitemap 分別代表不同網站,並將些檔案全部存放在同一個位置。
    • https://host1.example.com/host1-example-sitemap.xml
    • https://host1.example.com/host2-example-sitemap.xml
    • https://host1.example.com/host3-example-sitemap.xml
    • https://host1.example.com/host1-example1-sitemap.xml
    • https://host1.example.com/host1-example-ch-sitemap.xml

如要提交同一位置代管的跨網站 Sitemap,可以使用 Search Console 或 robots.txt。

透過 Search Console 跨網站提交 Sitemap

  1. 請確認您已經驗證所有要加入 Sitemap 中的網站的擁有權
  2. 建立一個 Sitemap (或視需要建立更多 Sitemap),在其中納入您想要涵蓋的所有網站的網址。如果您願意的話,可以將 Sitemap 加入 Sitemap 索引檔中並由此使用 Sitemap 索引。
  3. 使用 Google Search Console 提交 Sitemap 或 Sitemap 索引檔

使用 robots.txt 跨網站提交 Sitemap

  1. 為每個網站分別建立一或多個 Sitemap。確認每個 Sitemap 檔案都只納入該網站的網址。
  2. 將所有網站的 Sitemap 都上傳到您控管的某個網站中,例如 https://sitemaps.example.com
  3. 確認每個網站的 robots.txt 檔案都參照了該網站的 Sitemap。舉例來說,如果您為 https://example.com/ 建立了 Sitemap,並在 https://sitemaps.example.com/sitemap-example-com.xml 代管這個 Sitemap,請在位於 https://example.com/robots.txt 的 robots.txt 檔案中參照該 Sitemap。
    # robots.txt file of https://example.com/
    sitemap: https://sitemaps.example.com/sitemap-example-com.xml

排解 Sitemap 問題

您可以透過 Google Search Console 排解 Sitemap 問題。如需相關協助,請參閱 Sitemap 疑難排解指南