用於 SEO 的 XML 站點地圖終極指南
已發表: 2021-11-29站點地圖不是您的網站運行所必需的,但添加一個站點地圖可以對搜索引擎對您網站的抓取和索引產生積極影響。
另一方面,優化不佳的站點地圖會對您的抓取預算產生負面影響,並使您面臨搜索引擎忽略您有價值內容的風險。
本指南將幫助您了解什麼是站點地圖、其中包含哪些內容以及為什麼需要站點地圖。
什麼是站點地圖
XML 站點地圖是列出您網站上的 URL 的文本文件。 它充當搜索引擎機器人的數字地圖,並幫助他們找到您希望搜索引擎索引的有價值的頁面。
站點地圖有自己的 URL,它們可以放置在您站點服務器上的任何位置。 但是,它們僅影響父目錄的後代。 因此,要影響所有頁面,您需要將站點地圖添加到您的根目錄:
www.example.com/sitemap.xml
您的站點地圖的鏈接應包含在您的 robots.txt 文件中。 為此,請在文件的開頭或結尾使用以下指令:
站點地圖: http ://www.example.com/sitemap.xml
您不一定要在 robots.txt 文件中放置站點地圖,但它會幫助大多數機器人找到它,包括 Google 和 Bing 以外的搜索引擎。 例如, Seznam和Yandex都可以從 robots.txt 中讀取站點地圖指令。資料來源: Renata Gwizdak,Onely 的初級 SEO
為什麼站點地圖有用
擁有站點地圖可為您的網站帶來許多好處。 首先,它可以幫助搜索引擎找到要索引的內容。
在理想的世界中,精心設計的網站架構應該讓用戶和搜索引擎可以毫無問題地訪問您的所有頁面。

不幸的是,網站結構可能很複雜,並不總是能讓搜索引擎機器人輕鬆找到您的所有頁面。
站點地圖以簡單的格式顯示 URL,無需爬蟲跟踪您網站上的鏈接,這使搜索引擎更容易發現您網站上的所有重要頁面。
- 在站點地圖中包含一個頁面並不能保證它會被索引,但它可以加快索引過程並使其在您的端更可靠。
- 站點地圖有助於優化抓取預算的使用。 沒有它,搜索引擎機器人需要抓取您的整個網站才能找到新鮮的、可索引的內容。 結果,他們可能會浪費抓取預算訪問低質量的頁面並忽略一些更有價值的頁面。
- 當您將站點地圖添加到 Google Search Console 時,您可以獲得有關站點地圖中的 URL 的反饋。 因此,如果某個頁面出現問題而 Google 無法抓取它,您將通過查看 Google Search Console 中的覆蓋率報告來了解它,並且您將有機會採取行動。
誰需要站點地圖
XML 站點地圖可以幫助任何網站,並且每個網站都應該有一個,以確保安全。 儘管如此,它對某些人可能比對其他人更有益。
在以下情況下,站點地圖是絕對必須的:
- 您的網站有很多動態內容。 如果您經常更新頁面,搜索引擎機器人可能會錯過您的一些新內容或更新內容。
- 您有一個大型網站(超過 500 頁)。 您的網站越大,搜索引擎機器人可能忽略某些頁面的風險就越大。
- 你有一個新網站。 不幸的是,新網站通常很少或沒有外部鏈接。 因此,爬蟲可能很難找到它們。
- 您有孤立的或內部鏈接不佳的頁面。 如果搜索引擎機器人無法通過以下鏈接發現您的頁面,他們可能無法找到所有這些頁面。
- 您有很多富媒體內容(圖像、視頻)。 站點地圖允許您為搜索引擎提供有關視覺內容的附加信息(例如,視頻運行時間、圖像對象問題)。
站點地圖中包含的內容
並非您的所有頁面都應該進入您的站點地圖。 如果你把它們都放進去,你可能會浪費你的抓取預算來抓取低質量的頁面。 這可能會導致您網站上的高質量頁面未編入索引,因為搜索引擎沒有資源來抓取它們。
這就是為什麼確保只包含具有最有價值內容的可索引頁面如此重要的原因。
確保您包含在站點地圖中的頁面:
- 回复 200 代碼,
- 未被 robots.txt 阻止,
- 不要包含 noindex 元機器人標籤,
- 是頁面的規範版本。
此外,以下是不應出現在站點地圖中的頁面列表:
- 內容稀少或重複的頁面,
- 分頁頁面,
- 基於參數或會話 ID 的 URL,
- 網站搜索結果頁面,
- 存檔頁面。
站點地圖組件
這是一個包含兩個 URL 的站點地圖示例:
<?xml 版本=”1.0” 編碼=”UTF-8”?> <urlset xmls=" http://www.sitemaps.org/schemas/sitemap/0.9 "> <網址> <loc> https://www.example.com/ page1 </loc> <lastmod>2021-11-01</lastmod> <changefreq>每週</changefreq> <優先級>0.6</優先級> </url> <網址> <loc> https://www.example.com/ page2 </loc> <lastmod>2021-11-03</lastmod> <changefreq>每週</changefreq> <優先級>1</優先級> </url> </urlset>
現在讓我們看看每個元素。
<?xml> 和 <urlset> 標籤
<?xml> 和 <urlset> 標記都是基本的 XML 組件。 它們定義了編碼標準和 XML 版本。
<url> 標籤
每個 <url> 標籤都描述了一個單獨的 URL。 在裡面,您可以找到以下標籤:
- <loc>(必需),
- <lastmod> (可選),
- <changefreq>(可選),
- <優先級>(可選)。
<loc> 標籤
<loc> https://www.example.com/page1 </loc>
<loc> 標籤代表“位置”,它包含頁面的 URL。
您需要記住指定站點協議(HTTP 或 HTTPS)。
如果您有一個國際網站並包含hreflang標籤,這也是詳細說明的地方。 我將在下面介紹hreflang標籤的使用。
<lastmod> 標籤
<lastmod>2020-02-23</lastmod><lastmod> 代表“上次修改”,它包含有關上次修改的信息。
對於內容網站,此標籤可幫助 Google 確定您是原始發布者 - 如果有人抓取您的內容並將其發佈在他們的頁面上,<lastmod> 可能會幫助您在 Google 眼中仍然是該內容的作者。
注意:僅當您對頁面進行了有意義的更改時,才應更新此標記。 如果您試圖“欺騙”Google 認為您會定期更新內容,而實際上您並沒有這樣做,那麼 Google 可能會開始忽略此標籤。

判斷更改是否會對潛在用戶產生影響。 問問自己:修改後有人返回此頁面是否有意義? 如果您所做的只是更改逗號,那可能不值得冒險。
<changefreq> 標籤
<changefreq>每週</changefreq><changefreq>標籤代表“改變頻率”。 它通知搜索引擎頁面可能多久更改一次。
它可以採用以下值:
- 總是(指定頁面每次訪問時都在更改),
- 每小時,
- 日常,
- 每週,
- 每月一次,
- 每年,
- 從不(應該用於歸檔頁面)。
注意: <changefreq> 標籤只是對搜索引擎的提示。 此外,其中一些,包括谷歌,根本沒有考慮到這一點。
<優先級> 標籤
<優先級>0.6</優先級>優先級標籤直接讓搜索引擎知道一個頁面相對於您網站上的其他 URL 的重要性。 在 0.0 和 1.0 之間的範圍內分配優先級。
值得注意的是,谷歌沒有考慮這個標籤:
不,Google 根本不使用優先級和更改頻率。
— johnmu.xml(個人)(@JohnMu)2019 年 9 月 13 日
Hreflang 標籤
您可以使用hreflang標記指定頁面的語言版本。
為此,您需要在每個 <url>標記下方包含該標記,以表示頁面的每個語言版本,包括它本身。
<xhtml:鏈接 相對=“替代” hreflang="語言代碼" href=”url_of_the_language_version”>
以下是具有英語和德語版本的頁面示例。
<網址> <loc>https://www.example.com/page1/en</loc> <xhtml:鏈接 相對=“替代” hreflang="de" href="https://example.com/page1/de "/> <xhtml:鏈接 相對=“替代” hreflang="zh" href="https://www.example.com/page1/en "/> </url>
將 hreflang 標籤添加到站點地圖可以幫助搜索引擎向用戶呈現最合適的語言版本。 但是,推薦的做法是將標籤添加到您的 HTML 代碼和站點地圖中,或者僅在 HTML 代碼中。
雖然將 hreflangs 放在站點地圖中是可行的,但它也使它們難以驗證。 首先,許多 SEO 工具針對 HTML 中的 hreflang 標籤進行了優化。 其次,您可以忘記在訪問頁面時會自動為您檢查 hreflangs 的任何瀏覽器插件。 這僅適用於 HTML 中的 hreflangs。 如果您將標記放在站點地圖中,所有這些便利都會丟失。 每次您希望查看對 hreflang 標籤所做的任何更改時,您都必須抓取您的站點地圖。資料來源: Onely 的 SEO 專家 Artur Bowsza
站點地圖擴展
您可以向站點地圖添加其他語法以指定有關富媒體內容的信息,包括:
- 圖片,
- 視頻,
- 消息。
XML 圖像站點地圖
您可以將圖像添加到現有站點地圖或創建單獨的 XML 圖像站點地圖。
圖像站點地圖有助於在您的網站上創建有組織的圖像索引,從而允許搜索引擎機器人更有效地抓取它。 如果:
- 您的網站依靠圖像來增加流量(例如,庫存照片網站),
- 否則圖像可能很難找到(例如,由 JavaScript 獲取的圖像)。
您可以添加圖像元數據並指定圖像標題、位置或許可證等附加信息。 您可以在 Google 的文檔中找到有關可用圖像標籤的更多信息。
您包含在圖像站點地圖中的圖像不必與您的網站位於同一域中。 如果 CDN 在 Google Search Console 中經過驗證,它就可以了。
XML 視頻站點地圖
就像圖像站點地圖一樣,您可以將視頻添加到現有站點地圖或創建單獨的 XML 視頻站點地圖。
您可以為搜索引擎機器人提供有關您的視頻的其他信息,以幫助機器人更好地查找和理解您的視頻內容,尤其是在內容難以發現的情況下。
例如,您可以添加視頻的持續時間並指定它是否適合全家觀看。 您可以在 Google 的文檔中找到有關可用視頻標籤的更多信息。
谷歌新聞站點地圖
Google 新聞站點地圖包含在您的網站上發布的文章列表,可幫助 Google 更快地發現新文章。
您最多可以在 Google 新聞站點地圖中列出 1,000 個網址,並在站點地圖中的文章發布後立即對其進行更新。
您可以在 Google 的文檔中找到可用的特定於新聞的標籤。
站點地圖索引文件
站點地圖可以容納 50,000 個 URL。 因此,如果您想包含更多 URL,您應該創建多個站點地圖。
如果您有多個站點地圖,您可以創建一個站點地圖索引文件來一次提交所有站點地圖。 這是一個包含兩個站點地圖的站點地圖索引文件的示例:
<?xml 版本="1.0" 編碼="UTF-8"?> <sitemapindex xmlns=" http://www.sitemaps.org/schemas/sitemap/0.9 "> <站點地圖> <loc> http://www.example.com/sitemap1.xml </loc> </站點地圖> <站點地圖> <loc> http://www.example.com/sitemap2.xml </loc> </站點地圖> </sitemapindex>
站點地圖索引標籤使用以下標籤:
- XML 標頭標記指定版本和編碼標準,
- sitemapindex – 文件周圍的父標籤(相當於 < urlset>標籤),
- 站點地圖– 包含每個站點地圖文件的父標記(相當於<url>標記),
- loc - 指定站點地圖 URL 的位置標記。
如何創建站點地圖?
您可以手動或自動創建站點地圖。
手動創建站點地圖
您可以選擇在 Windows NotePad、TextEdit 或 Visual Studio Code 等編輯器中手動創建站點地圖。
這樣,您可以根據自己的喜好對其進行自定義,但我建議僅將其用於頁面較少的小型網站。 對於較大的網站和數百個頁面,此過程將非常耗時且容易出錯。
自動創建站點地圖
對於擁有數百個頁面的大型網站,建議自動創建站點地圖。 它可以通過使用生成:
- CMS 或電子商務平台的原生功能,
- 添加了插件,
- 第三方工具。
由 CMS 或電子商務平台生成的站點地圖
一些 CMS 或電子商務平台,如Wix或Shopify,會自動生成站點地圖。
您可以在網站的根目錄中找到生成的站點地圖。
由插件生成的站點地圖
如果您使用 WordPress 之類的 CMS,則可能需要一個插件來生成站點地圖。 我推薦使用 Yoast SEO,因為這個擴展使這個過程變得簡單,並帶有更多的 SEO 功能。
第三方工具
許多第三方工具可以為您創建站點地圖,例如Screaming Frog或XML-Sitemaps.com。 您必須先下載它,但之後,它就像提供您主頁的 URL 一樣簡單。
靜態與動態站點地圖
站點地圖可以靜態或動態生成。
靜態站點地圖是生成站點地圖時拍攝的網站可索引內容的快照。 您可以使用爬蟲(例如Screaming Frog)輕鬆創建靜態站點地圖。
缺點是每次您的網站發生更改時都必須更新靜態站點地圖。 因此,如果您定期添加或刪除頁面,靜態 XML 站點地圖很快就會過時,無法發揮其作用。
每次請求時都會創建一個動態站點地圖。 這意味著它保持最新並反映您網站的當前狀態。
如果您的內容經常更改,則動態站點地圖非常有用。 一個示例可以是產品經常進出庫存的電子商務網站。
要創建動態站點地圖,您可能需要開發人員的幫助或使用提供此選項的插件。
將站點地圖提交給搜索引擎
您可以 ping 搜索引擎並讓他們知道您有一個新的站點地圖或對以前的站點地圖進行了一些更改。
Google 不會在每次抓取網站時檢查站點地圖; 只有在我們第一次注意到站點地圖時才會檢查站點地圖,之後只有當您 ping 我們以告知我們它已更改時。 僅在站點地圖是新的或更新時提醒 Google; 不要多次提交或 ping 未更改的站點地圖。來源:谷歌
將站點地圖提交到 Google Search Console
登錄您的 Google Search Console 帳戶。 然後,轉到側欄中的索引 > 站點地圖。

在字段中填寫站點地圖的 URL,然後單擊“提交”。

如果您的站點地圖中有任何錯誤,Google Search Console 會通知您。

將站點地圖提交到 Bing 網站管理員工具
如果您已在 Google Search Console 中通過驗證,則此步驟輕而易舉。 轉到Bing 網站管理員工具並導入您的數據。

如果您尚未在 Google Search Console 中進行驗證,您可以導航到側邊欄上的“站點地圖”。 然後點擊頁面頂部的“提交站點地圖”按鈕。

由於雅虎和必應合併,將站點地圖添加到必應網站管理員工具也可以確保將其提交給雅虎。
將站點地圖提交給 Yandex.Webmaster
要向 Yandex 提交站點地圖,您應該:
- 轉到 Yandex 護照並登錄。
- 轉到“站點地圖文件”部分。
- 輸入 XML 站點地圖的地址。
- 單擊“添加”按鈕。
站點地圖清單
- 確保您的站點地圖包含的 URL 不超過 50,000 個。 如果你有更多,把它分解成更小的站點地圖,
- 僅包括可索引的頁面,
- 在您的 robots.txt 文件中引用站點地圖,
- 使用一致、完整的 URL——檢查 URL 中是否缺少 www 或 HTTP/HTTPS 協議,
- 如果您有其他媒體內容(圖片、視頻、新聞),請使用站點地圖擴展,
- 如果您有不同的語言版本,您可以在站點地圖中指定它們,也可以在 HTML 中使用hreflang標籤,
- 不要過分關注changefreq和優先級標籤,因為搜索引擎並不總是考慮它們。
