本頁說明如何建立 Sitemap,以及如何讓 Google 存取 Sitemap。進一步瞭解 Sitemap。
- 決定您要讓 Google 檢索網站上的哪些網頁,同時確認每個網頁的標準版本。
- 決定要使用的 Sitemap 格式。您可以手動建立 Sitemap,也可以選擇透過各種第三方工具產生。
- 在 robots.txt 檔案中加入您的 Sitemap,或是直接將 Sitemap 提交到 Search Console,讓 Google 存取您的 Sitemap。
Sitemap 格式
Google 支援數種 Sitemap 格式,以下提供進一步的說明。Google 支援所有格式的標準 Sitemap 通訊協定,但目前不支援在 Sitemap 中使用 <priority>
屬性。
不論採用何種格式,單一 Sitemap 在未壓縮時的檔案大小上限為 50MB,且最多包含 50,000 個網址。如果您的檔案較大或網址數量較多,必須將網址清單分割成數個 Sitemap。此時,您可以選擇建立 Sitemap 索引檔,也就是指向 Sitemap 清單的檔案,然後直接將這個索引檔案提交給 Google。當然,您也可以選擇提交多個 Sitemap 和/或 Sitemap 索引檔。
XML
以下是相當基本的 XML Sitemap,只包含單一網址的位置:
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://www.example.com/foo.html</loc> <lastmod>2018-06-04</lastmod> </url> </urlset>
您可以在 sitemaps.org 找到更複雜的範例和完整說明文件。
您可以參考指定其他語言版本網頁的 Sitemap 範例,以及新聞、圖片或影片檔案的 Sitemap 範例。
RSS、mRSS 和 Atom 1.0
如果您的網誌含有 RSS 或 Atom 動態消息,可以透過 Sitemap 提交動態消息的網址。大多數網誌軟體均可為您建立動態消息,不過需要注意的是,這類動態消息只會針對最近的網址提供資訊。
- Google 接受 RSS 2.0 和 Atom 1.0 動態消息。
- 您可以使用 mRSS (媒體 RSS) 動態消息,將網站中影片內容的詳細資料提供給 Google。
文字
如果您的 Sitemap 中只有網頁網址,則可使用簡單的文字檔案將網址提供給 Google。在這個檔案中,請在每行列出一個網址,例如:
http://www.example.com/file1.html http://www.example.com/file2.html
文字檔 Sitemap 規範:
- 檔案需使用 UTF-8 編碼。
- 文字檔不可包含網址清單以外的任何資訊。
- 文字檔沒有一定的命名規則,不過必須使用 .txt 副檔名,例如 sitemap.txt。
Google 協作平台
如果您已經使用 Google 協作平台建立並驗證網站,Google 協作平台會自動為您產生一個 Sitemap。您無法修改這個 Sitemap,但如果想要讀取 Sitemap 報告資料,可以將檔案提交給 Google。請注意,如果單一子目錄中含有超過 1,000 個網頁,Sitemap 可能無法正確顯示。
- 如果您的網站由 Google 協作平台代管,則 Sitemap 網址為
http://sites.google.com/site/yoursitename/system/feeds/sitemap
- 如果您透過 Google Workspace 建立網站,則 Sitemap 網址為
https://sites.google.com/yourdomain/yoursitename/system/feeds/sitemap
針對其他媒體類型使用 Sitemap 擴充元素
Google 支援以下媒體類型的 Sitemap 擴充語法。您可以使用這些擴充元素描述您網站上的影片檔、圖片和其他不易剖析的內容,協助 Google 提升為這些資源建立索引的效能。
Sitemap 通用規範
- 使用一致且完全符合規定的網址。Google 會完全按照列出的網址進行檢索。舉例來說,如果您的網站位於
https://www.example.com/
,請勿將網址指定為https://example.com/
(缺少www
) 或./mypage.html
(相對網址)。 - 您可以在網站的任何位置張貼 Sitemap,但 Sitemap 的作用範圍僅限於上層目錄的子系。因此,建議您將 Sitemap 張貼在網站根目錄,這樣便能涵蓋網站上的所有檔案。
- 請勿在 Sitemap 的網址中加入工作階段 ID,以避免重複檢索這些網址。
- 使用 hreflang 註解將網址的替代語言版本告知 Google。
- Sitemap 檔案必須使用 UTF-8 編碼,並且適當逸出網址。
- 將大型 Sitemap 分割成數個較小的 Sitemap:每個 Sitemap 檔案最多只能包含 50,000 個網址,且壓縮前的檔案大小不得大於 50 MB。使用 Sitemap 索引檔,在其中列出所有個別 Sitemap 並提交給 Google,不要分別提交各個 Sitemap。
- Sitemap 中只可以列出標準網址。如果網頁有兩個版本,您只能在 Sitemap 中列出標準網址 (Google 選擇的網址)。如果您的網站有兩個版本,例如 www 和 非 www,請先決定要將哪個版本做為首選網站,並在其中張貼 Sitemap,然後在另一個網站中新增 rel=canonical 或重新導向至首選網站。
- 如果行動版和電腦版網頁的網址不同,建議只在 Sitemap 中指向其中一種版本。不過,如果您認為有必要指向兩個不同網址,請為網址加上註解來指定電腦版和行動版。
- 使用 Sitemap 擴充元素指向其他媒體類型,例如影片、圖片和新聞。
- 如果您針對不同語言或地區提供替代網頁,則可在 Sitemap 或 HTML 標記中使用 hreflang 來指定替代網址。
- 非英數字元和非拉丁字元。請務必將 Sitemap 檔案以 UTF-8 編碼。您通常可以在儲存檔案時指定這種編碼格式。與所有 XML 檔案一樣,下表所列字元的資料值 (包括網址) 都必須使用實體逸出碼。Sitemap 只能包含 ASCII 字元,不可包含大寫 ASCII 字元、特定控制碼或特殊字元,例如 * 和 {}。如果 Sitemap 網址包含這些字元,您會在新增網址時收到錯誤訊息。
字元 逸出碼 & 符號 和 & 單引號 ' ' 雙引號 " " 大於 > > 小於 < <
以下這個範例網址使用了非 ASCII 字元 (ü
) 和需要實體逸出的字元 (&
):
http://www.example.com/ümlat.html&q=name
以下是同一個網址,但使用了 ISO-8859-1 編碼 (供使用這種編碼的伺服器代管),且網址已逸出:
http://www.example.com/%FCmlat.html&q=name
以下是同一個網址,但使用了 UTF-8 編碼 (供使用這種編碼的伺服器代管),且網址已逸出:
http://www.example.com/%C3%BCmlat.html&q=name
以下是同一個網址,且實體已逸出:
http://www.example.com/%C3%BCmlat.html&q=name
- 請注意,Sitemap 的作用是向 Google「建議」您認為重要的網頁,Google 未必會檢索 Sitemap 中的每個網址。
- Google 會忽略
<priority>
和<changefreq>
的值,因此不必加入這些值。 - Google 會讀取
<lastmod>
值,但如果您提供的值與事實不符,Google 就會停止讀取。 - 網址在 Sitemap 中的位置並不重要,Google 不會按照網址在 Sitemap 中顯示的順序來檢索網址。
讓 Google 存取你的 Sitemap (將你的 Sitemap 提交給 Google)
Google 不會在每次檢索網站時檢查 Sitemap。除非您透過連線偵測 (ping) 向我們告知 Sitemap 有異動,否則我們只會在首次偵測到 Sitemap 時進行檢查。如果您並未新增或更新 Sitemap,就不應要求 Google 檢查 Sitemap。請勿重複提交相同的 Sitemap 或為其執行連線偵測。
您可以透過下列幾種方式讓 Google 存取您的 Sitemap:
- 使用 Search Console Sitemap 工具向 Google 提交 Sitemap
- 在
robots.txt
檔案中任一處插入以下這行指令,指明 Sitemap 的存取路徑:
Sitemap: http://example.com/sitemap_location.xml
- 透過「連線偵測 (ping)」功能要求 Google 檢索 Sitemap。請按照下列方式傳送 HTTP GET 要求:
http://www.google.com/ping?sitemap=<complete_url_of_sitemap>
例如:
http://www.google.com/ping?sitemap=https://example.com/sitemap.xml
排解 Sitemap 問題
請參閱 Sitemap 疑難排解指南。