跳至內容

Sitemap.xml

出自轻之舟百科
Sitemap.xml
中文名 站點地圖
英文名 Sitemap
協議版本 0.9(sitemaps.org)
首發時間 2005年6月
首發機構 Google
標準制定機構 Google、Yahoo、Microsoft(聯合)
文件擴展名 .xml、.txt
格式類型 XML / 純文本
標準網站 www.sitemaps.org

Sitemap.xml(全稱:Sitemaps Protocol,中文常譯為「站點地圖協議」)是一種用於告知搜尋引擎網站上可供抓取的網頁地址列表的開放協議標準。網站管理員可將網站中的網頁 URL 製作成標準化的 Sitemap 文件,以指引搜尋引擎爬蟲(Crawler 或 Spider)快速、全面地抓取或更新網站內容[1][2]。該協議最初由 Google 在 2005 年 6 月推出,後於 2006 年 11 月獲得微軟(Microsoft)和雅虎(Yahoo!)的共同支持,形成了行業統一的 Sitemaps 0.9 協議標準[3][4]。Sitemap.xml 文件作為 URL 包含協議,與作為 URL 排除協議的 robots.txt 相互補充,共同幫助搜尋引擎更高效地發現網站內容[5]

Sitemap 協議最初由 Google 於 2005 年 6 月以 Sitemaps 0.84 版本推出,旨在讓網站開發者能夠發布其站點中所有頁面的連結列表,從而改善大型動態網站的搜尋引擎發現機制[3][6]。2006 年 11 月,GoogleYahoo!Microsoft 宣布聯合支持該協議,並將命名空間版本變更為 Sitemap 0.90[4][7]。此後,三家公司共同啟動了 Sitemaps.org 計劃,為網站管理員提供統一的協議指引[8]

2007 年 4 月,Ask.com 和 IBM 宣布加入對 Sitemaps 協議的支持行列[9]。同年,Google、Yahoo 和微軟在 Sitemap 協議中加入了通過 robots.txt 自動發現 Sitemap 文件的功能[10]。截至目前,Sitemaps.org 官方網站已擁有 18 個語種的版本,Sitemap 協議被全球主流搜尋引擎廣泛採納[10]

文件格式與規範

[編輯 | 編輯原始碼]

Sitemap 協議支持三種文件格式:XML 格式、純文本(TXT)格式以及 Sitemap 索引(Sitemap Index)格式[2]。XML 格式是應用最為廣泛的標準格式,文件採用 UTF-8 編碼,根節點為 ,並聲明命名空間為 http://www.sitemaps.org/schemas/sitemap/0.9[1][11]

每個 URL 條目包含以下子元素:

  • :頁面的完整 URL(含協議,必需)。
  • :頁面最後修改日期(可選,格式為 W3C Datetime)。
  • :頁面可能發生更改的頻率(可選,有效值:always、hourly、daily、weekly、monthly、yearly、never)[12]
  • :該頁面在站內的相對優先級(可選,範圍 0.0 至 1.0)[12]

實際使用中,Google 官方文檔已明確表示 <changefreq> 和 <priority> 兩個標籤在多數情況下被忽略,僅有 <lastmod> 在數據準確時被參考[5]

技術限制

[編輯 | 編輯原始碼]

根據 W3C 標準和主流搜尋引擎的規範,單個 Sitemap 文件最多可包含 50,000 個 URL,未壓縮體積不得超過 50 MB(或 10 MB,視搜尋引擎而定)[13][1]。URL 長度限制為 2,048 個字符[13]。對於超過限制的超大型網站,可使用 Sitemap 索引文件將多個 Sitemap 文件聚合提交[1]。此外,Sitemap 文件可採用 gzip 格式壓縮以節省帶寬[1]

純文本格式

[編輯 | 編輯原始碼]

除 XML 格式外,網站管理員還可以提供純文本文件作為 Sitemap,文件中每行包含一個網址。該文件同樣需遵循容量限制,且必須使用 UTF-8 或 GBK 編碼[1]。URL 必須是完整路徑(含 http:// 或 https://),文件中不得包含网址列表以外的任何信息[1]

與搜尋引擎的交互

[編輯 | 編輯原始碼]

Sitemap.xml 文件通常放置在網站的根目錄下,路徑為 /sitemap.xml[5]。網站管理員可通過兩種方式向搜尋引擎提交 Sitemap:

  • 直接在搜尋引擎的站長工具或資源平台(如 Google Search Console、百度資源平台)中提交 Sitemap 文件的 URL。
  • 在網站根目錄的 robots.txt 文件中添加 "Sitemap: http://example.com/sitemap.xml" 指令,搜尋引擎爬蟲將自動發現該文件[10][14]

Sitemap 與 robots.txt 的關係可概括為:robots.txt 告訴爬蟲"哪些地方不要去",而 Sitemap 告訴爬蟲"哪些地方值得去",兩者互補,互不衝突[5]。需要注意的是,Sitemap 是建議而非命令,搜尋引擎可以選擇不抓取 Sitemap 中列出的 URL;同時,Sitemap 僅加速 URL 的發現,並不直接參與頁面排名計算,也不保證頁面一定會被索引[5]

專業擴展

[編輯 | 編輯原始碼]

Sitemap 協議在標準 XML 格式之外還支持針對特定內容類型的擴展,包括 Google 新聞 Sitemap 擴展、圖片 Sitemap 擴展、視頻 Sitemap 擴展以及移動 Sitemap 擴展[15][16]。這些擴展通過在標準 Template:Tag 元素內部或外部添加特定命名空間的標籤,為不同類型的網頁提供更精細的元數據描述,幫助搜尋引擎更準確地理解和索引富媒體內容。

參考文獻

[編輯 | 編輯原始碼]