如果沒有導航,去一個不熟悉的地方開車那是一件非常困難的事情,同樣道理,如果沒有Sitemap,搜尋引擎蜘蛛來到你的網站也會迷路。
不過建立和提交 XML 網站地圖並不複雜。讓我們一起來看看,關於Sitemap,我們需要了解哪些事情!
什麼是網站地圖?
網站地圖是一個 XML 檔案,用於羅列網站上的重要內容。任何你希望能夠出現在搜尋引擎的頁面或檔案都應該出現在網站地圖中。
你需要了解:網站地圖不能羅列超過 50,000 個 URL,且體積必須在 50mb 以下(百度搜尋資源平臺要求單個XML檔案不能大於10MB,並且不支援索引型Sitemap)。如果你的網站地圖超出其中任一指標,你就需要多建立幾個了。
XML 網站地圖的形式是怎樣的?
XML 網站地圖是為搜尋引擎——而不是使用者——建立的。說白了,就是一堆搜尋引擎可讀的程式碼,而不是使用者可讀的內容。
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://ww.wbolt.com/</loc> <lastmod>2019-08-21T16:12:20+03:00</lastmod> </url> <url> <loc>https://www.wbolt.com/tw/themes/</loc> <lastmod>2019-07-31T07:56:12+03:00</lastmod> </url> </urlset>
我們逐步展開對這個XML檔案進行說明。
XML 宣告
<?xml version="1.0" encoding="UTF-8"?>
這則片段會告訴搜尋引擎他們在抓取的是一個 XML 檔案。同時這也宣告瞭 XML 的版本和所用的字元編碼。對於網站地圖來說,版本應該為 1.0,編碼必須為 UTF‑8。
URL 組
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
這個容器包含了網站地圖中所有的 URL。同時它還會告訴網路爬蟲應該使用何種協議標準。大多數網站地圖會指定使用 0.90 的協議標準,包括 Google、百度、Yahoo! 和微軟在內的各類搜尋引擎都支援該標準。
URL
<url> <loc>https://www.wbolt.com/tw/</loc> <lastmod>2019-08-21T16:12:20+03:00</lastmod> </url>
這是每個 URL 的父標籤。你必須在一個巢狀的標籤 <loc>
中指定 URL 的位置。這些 URL 必須是絕對的——而非相對的——權威連結。
儘管該標籤是這裡唯一的強制標籤,你還可以使用一些可選的屬性:
<lastmod>
: 用於宣告檔案最後一次修改的時間。其格式必須符合 W3C Datetime 格式。例如你在 2019 年 9 月 25 日更新了某篇帖文,該屬性應為 2019–09-25。你還可以在其中指定時間,但這不是強制的。<priority>
: 用於指明該 URL 較網站其他 URL 的優先順序。數值在 0.0 到 1.0 之間。數值越高表明越重要。<changefreq>
: 用於指明該頁面可能更新的頻率。它的作用是告訴搜尋引擎應該多久回頭抓取一次這個 URL。它的值可以是總是、每小時、每天和每週。
這些可選的標籤對 SEO 來說並沒有那麼重要。
說到 <lastmod>
標籤,Google 的 Gary Ilyes 曾經表示他們會無視這個標籤,因為“站長在保證這個標籤資料的準確性方面做得太差了。” 大多數的網站地圖生成器都會將所有頁面的日期設定成當前日期,而不是該頁面上次被編輯的日期。原因顯而易見。
至於 <priority>
標籤,Google 曾表示,因為這些標籤會帶來“大量噪音(干擾性)”,所以他們會選擇無視。
而<changefreq>
標籤,John Mueller 指出“優先順序和改動頻率已經退出網站地圖的舞臺了。”
為什麼需要網站地圖?
搜尋引擎通過爬行網站來探索新的內容。當搜尋引擎的爬蟲爬行某個頁面時,他們會同時關注頁面的內外鏈。當他們發現某個 URL 不在索引中時,就會試圖解析其中的內容,並在適當的位置索引他們。
但是搜尋引擎無法通過這種方式找到所有的內容。如果某個頁面沒有來自其他頁面的連結,那麼搜尋引擎就沒有辦法找到這些頁面。
這個時候網站地圖就可以發揮作用了。
網站地圖可以告訴 Google、百度以及其他搜尋引擎應該去網站的哪些位置尋找最重要的頁面,這樣爬蟲就可以抓取並索引它們。這很重要因為引擎只有事先索引了你的頁面,才可以對它進行排名。
如何建立網站地圖
部分內容管理系統可以幫你生成網站地圖。當你向網站新增或移除頁面的時候,這些網站地圖會自動更新。如果你的內容管理系統本身不自帶這個功能,那麼通常情況下會有相關的外掛可以做到。
在 WordPress 中建立網站地圖
即使 WordPress 驅動了全球 34.5% 的網站,然而它卻不會為你自動生成網站地圖。你可以藉助 Yoast SEO 或者 Smart SEO Tool 這樣的外掛來生成網站地圖。
要安裝 Smart SEO Tool,首先登入 WordPres 後臺。
依次進入外掛>安裝外掛:
搜尋 Smart SEO Tool。
點選現在安裝然後啟用:
前往外掛設定頁面 > Sitemap生成,確保“Sitemap生成”開關處於開啟狀態。如果你要將Sitemap更新推送至谷歌或者Bing,可以同時啟用這兩個搜尋引擎的通知開關,如下圖所示:
你還可以對Sitemap地圖的內容進行設定,比如首頁、文章、分類目錄、標籤等等,你只需要設定優先順序、更改頻率及開關即可(谷歌可能對這些引數不太感冒,如前面所述)。
設定這些之後,你可以點選右下角的“儲存設定”按鈕即可生成Sitemap。如下圖所示:
注:為什麼要生成一堆子sitemap清單,因為百度不支援索引型Sitemap,必須逐個提交子Sitemap,具體參考“非索引型Sitemap地址提交”一文。
現在你應該可以通過 yourdomain.com/sitemap.xml 檢視網站地圖(或者網站地圖的索引)了。
重要提示. 只有當你不想要某些頁面出現在搜尋結果中時,才從網站地圖中移除他們。同時Sitemap地圖的URL地址不應該與Robots.txt的規則有衝突。
在 Wix 中建立網站地圖
Wix 會自動為網站建立網站地圖。你可以通過訪問 yourwixsite.com/sitemap.xml 找到它。
不幸的是,對於網站地圖包含哪些頁面,不包含哪些頁面,你並沒有太多控制。如果你想要排除某個頁面,就前往該頁面的的“SEO (Google)”設定板塊並關閉“在搜尋結果中展示該頁面”(“Show this page in search results”)選項。
注意這樣會給該頁面加入一個 noindex 元標籤,它就不會顯示在搜尋結果中了。
小提示. 如果你在 Wix 將某個 URL權威化,它並不會從網站地圖中消失。儘管這對大多數使用者來說無關緊要,但是記住在網站地圖中包含權威頁面並不是最好的辦法,這樣做會向 Google 傳送混淆的訊號。
在 Squarespace 中建立網站地圖
Squarespace 也會自動建立網站地圖。你可以在 yoursquarespacesite.com/sitemap.xml 中找到它。
在 Squarespace 中你沒有辦法手動編輯網站地圖,但是你可以在“SEO”標籤中將那些無需索引的頁面排除。
這樣他們也會從你的網站地圖中消失。
在 Shopify 中建立網站地圖
Shopify 會自動生成網站地圖,地址為 youtstore.com/sitemap.xml。
然而,想要在 Shopify 中要將一些頁面排除在索引之外沒那麼簡單。你必須直接編輯 .liquid 檔案。
不使用內容管理系統建立網站地圖
如果你網站的頁面不足 300 個,可以安裝免費版的 Screaming Frog。
安裝完成後,前往 模式(Mode)> 爬蟲(Spider)。
將你首頁的 URL 貼上進標有“向抓蟲提供 URL”(“Enter URL to spider”)的文字框內。
點選“開始”(“Start”)。
小提示. 確保你使用了網站首頁的權威(主要)版本。如如果使用了其他版本,Screaming Frog 將只會的抓取一個 URL。
抓取任務結束後,檢視螢幕的右下角。會看到下圖所示的資訊:
如果數量小於等於 499,就可以去到網站地圖(Sitemaps)> XML 網站地圖(XML sitemap)。
因為 Google 基本會忽略<lastmod>
, <changefreq>
, 和<priority>
,我們建議將這些片斷排除出網站地圖檔案。
點選“下一步”並將網站地圖儲存到本地。完成。
若數量顯示為“500 of 500”,就沒有必要將網站地圖匯入了。為什麼?因為這意味著 Screaming Frog 在抓取到網站的所有頁面之前已經達到了數量上限。亦即此時匯出的網站地圖中可能會遺失數百個頁面——這樣就沒有意義了。
有一種解決辦法是尋找免費的網站地圖生成器。這樣的工具有很多。
可惜的是,他們中的大部分都很不可靠。
我們測試了許多流行的網站地圖生成工具,發現其中的大部分包含了非權威的 URL,無需索引的頁面以及重定向。這是非常糟糕的 SEO 實踐。
生成工具 | 包含非權威的URLs? | 包含無需索引的URLs? | 包含重定向(301 redirects)? |
---|---|---|---|
xml-sitemaps.com | Yes ❌ | No ✅ | No ✅ |
web-site-map.com | Yes ❌ | No ✅ | No ✅ |
xmlsitemapgenerator.org | Yes ❌ | No ✅ | No ✅ |
smallseotools.com/xml-sitemap-generator | Yes ❌ | Yes ❌ | Yes ❌ |
freesitemapgenerator.com | Yes ❌ | Yes ❌ | Yes ❌ |
duplichecker.com/xml-sitemap-generator.php | Yes ❌ | Yes ❌ | Yes ❌ |
xsitemap.com | Yes ❌ | Yes ❌ | Yes ❌ |
那麼應該如何解決呢?
如果 Screaming Frog 未能成功抓取整個網站,可以使用 Ahrefs 的網站診斷(Site Audit)工具。
小提示. 驗證你的網站後,抓取速度會變快。
一旦抓取完成,可以前往頁面分析(Page Explorer)板塊,新增以下過濾條件。
點選匯出(Export)> 當前表格檢視(Current table view)。
開啟 CSV 檔案,接著將 URL 一欄中的所有連結複製貼上到這個工具中。
點選“加入佇列”(“Add to queue”),然後再點選“將佇列匯出為 sitemap.xml”(“Export queue as sitemap.xml”)。
這個匯出的檔案就是完整版的網站地圖了。
如何向 Google 提交網站地圖
首先,你需要知道網站地圖的位置。
如果你使用了外掛,那麼很有可能網站地圖會存放在 domain.com/sitemap.xml。
如果你的網站地圖是手動生成的,那麼請將它命名為類似 sitemap.xml 這樣的檔名,然後上傳到網站根目錄。這樣你就可以通過 domain.com/sitemap.xml 來訪問它了。
小提示. 當然你也可以自由選擇網站地圖的檔名,但最好還是堅持用 sitemap.xml。當你有多個網站地圖的時候,可以使用 sitemap_1.xml,sitemap_2.xml 這樣的模式。
接著去到 Google 站長工具(Google Search Console)> 網站地圖(Sitemaps)> 貼上網站地圖的地址 > 點選“提交”(“Submit”)
這樣就可以了。
提示
把網站地圖的 URL 新增到robots.txt檔案上也是一種不錯的實踐。
你可以在網站伺服器的根目標找到這個檔案。要在其中加入網站地圖,只需要開啟該檔案,並將以下這行貼上進去:
Sitemap: https://www.yourdomain.com/sitemap.xml記得將上面的示例 URL 換成你自己網站地圖的網址。
如果你有多個網站地圖,只需要批量將他們加入。
Sitemap: https://www.asos.com/sitemap_1.xml Sitemap: https://www.asos.com/sitemap_2.xml
如果你要將Sitemap網站地圖提交至其他搜尋引擎,可以閱讀以下文章:
修復影響網站地圖的錯誤
Google 站長工具可以告訴你與網站地圖相關的大多數技術錯誤。
比如,在以下的例子中,我們提交的一個 URL 被 robots.txt檔案遮蔽了,Google 站長工具給出了警告:
點選此處,你可以瞭解這些問題的更多資訊,以及如何修復他們。
話雖如此,有一些問題並不在 Google 站長工具的警告之列。
以下我們羅列出了一些更常見的問題,以及如何修復他們。
網站地圖包含無用的、低質量的頁面
網站地圖中的每一個頁面都必須是索引的權威版本。
然而,這並不意味著所有頁面都是高質量的。如果你的網站內容較多,那麼一些低質量的頁面就有可能混入你的網站地圖。
例如,我們來看一下某電商網站的這兩個頁面。
他們對搜尋使用者來說沒有任何價值,卻依然出現在了這個網站的網站地圖中,Google 也索引了這兩個頁面。
要找出這些頁面,可以前往網站診斷(Site Audit)> 重複內容 (Duplicate Content)
你需要找出那些重複的或者準重複的沒有權威版本的頁面。他們在 Ahrefs 中會以橙色方框表示。點選其中的某個可以看到存在該類問題的所有頁面。
檢視這些頁面,看他們是否有價值。
網站包含低質量頁面非常不好,主要有以下三個原因:
- 他們浪費了抓取的配額。讓搜尋引擎浪費時間和資源去抓取無用的、低重的頁面是很不理想的。他們應該花時間去抓取那些更重要的頁面。(宣告,Google 表示“大部分內容釋出者都無需擔心”抓取配額。)
- 他們偷取了更重要的頁面的連結權重度。頁面的權威度和他們的排名有著清晰的關係。指向低質量頁面的內鏈只會稀釋那些本可以流向更重要的頁面的權威度。
- 他們會導致糟糕的使用者體驗。這些頁面的訪客無法從中獲取任何價值。點選這些頁面對於訪客來說是惱人的,如果網站因此得到了低質量和無人看管的名聲,那麼最後訪客很有可能跳出。
總體來說,最好的行動方案是從網站和網站地圖中先後移除低質量的內容。如果你正在開展這項工作,那麼不要忘了連指向那些頁面的內部連結也一併刪除。否則,你會把一個問題(低質量頁面)變成另外一個問題(無效連結)。
除了重複和接近重複的內容,你還應該把那些單薄的內容找出來。
檢視網站診斷板塊中的“頁面”(“On page”)報告,注意那些帶有“字數較少”(“Low word count”)警告的頁面。
意外地被排除在網站地圖外的頁面
如果你按照上文中推薦的某種方法建立了網站地圖,那麼帶有 noindex 或者權威標籤(非自我參照)的頁面則不會被包含在內。
這是一件好事。你的網站地圖不應該包含權威連結或者無需索引的頁面。
話雖如此,如果你網站包含了粗製爛造的 noindex 標籤,頁面可能會意外地被排除在外。
你可以前往網站診斷板塊的“可索引性”(“Indexibility”)報告並點選“Noindex 頁面”警告,就可以看到所有沒有被索引的頁面。
這些頁面中的大部分可能都是被有意排除的,但是仍然有必要好好瀏覽這個列表,仔細檢查。粗製爛造的 noindex 標籤很容易被發現,因為他們會貫穿網站的某一分部。
如果你發現了不應該被排除的頁面,那就應該從頁面中移除 noindex 標籤,並將這個頁面(的連結)加入網站地圖。如果你使用了內容管理系統或者外掛,那麼第二步會自動發生。
專業提示
除此之外還有必要去檢視武斷的權威標籤和重定向。為此,你需要前往頁面分析(Page Explorer)板塊並加入以下過濾條件。
檢視武斷的權威標籤。
檢視武斷的重定向。
刪除所有武斷的權威標籤和重定向,並將受其影響的頁面(連結)新增進網站地圖。
常見問題
以下是對一些關於網站地圖常見問題的解答。如果你還有其他問題,請告訴我們,我們會把他們(連同答案)新增進來。
加速移動頁面(AMP)需要網站地圖嗎?
不需要。
@Kfowler325 No need for sitemaps for AMP pages — the rel=amphtml link is enough for us.
— 🍌 John 🍌 (@JohnMu) 13 October 2016
如何為電商網站建立網站地圖?
為電商網站新增網站地圖的操作和其他網站一樣。話雖如此,考慮到分面導航在電商網站中的普及度, 大量的重複和準重複頁面經常會成為漏網之魚,需要仔細檢查。
結語
建立網站地圖並不是很複雜的事情,尤其是當你可以藉助外掛來完成繁瑣步驟的時候。從無到有建立網站地圖也沒有很難——抓取你的網站頁面併為 URL 結果列表設定合適的格式即可。
話雖這樣說,非常重要的一點是你要記得 Google 並不是一定要索引你的網站地圖中的頁面。並且網站地圖和網站排名沒有什麼關係。
如果你想知道如何在 Google 中取得高排名,可以看看這篇文章。
除了通過Sitemap地圖提交資料至搜尋引擎之外,我們還應該利用一些推送API或這JS及時推送URL資料,這一點搜尋推送管理外掛可以幫到你。
(via ahrefs.com 譯者:Alex Wang, Not Soup Yet 創始人)
評論留言