sitemap.xml網站地圖是什麼?從工具/產生器/程式製作到進行提交教學

對許多一開始就接觸seo的人來說,最常遇到的問題就是sitemap.xml到底是什麼碗糕。這不論是在哪一個seo參考書或是新手教學都是一定會出現的項目。這兩個項目對行銷人員而言,看到程式碼就會害怕;而對程式開發者卻也是不一定有接觸過的項目,對於如何實作也是一知半解。
因此,這一篇文章將以深入淺出的方式介紹sitemap.xml到底是什麼東西,而又該如何實作。不論是從新手利用產生器產生Sitemap,到若是有工程師協助時該如何製作自己的完整Sitemap,你都能夠在這一篇看到。

到底,sitemap.xml是什麼東西!?

在認識Sitemap之前,先大略介紹一下xml檔案是什麼。
可延伸標記式語言(英語:Extensible Markup Language,簡稱:XML),是一種標記式語言。標記指電腦所能理解的資訊符號,通過此種標記,電腦之間可以處理包含各種資訊的文章等。如何定義這些標記,既可以選擇國際通用的標記式語言,比如HTML,也可以使用像XML這樣由相關人士自由決定的標記式語言,這就是語言的可延伸性。XML是從標準通用標記式語言(SGML)中簡化修改出來的。它主要用到的有可延伸標記式語言、可延伸樣式語言(XSL)、XBRL和XPath等。(以上節錄自維基百科 – XML
簡單來說,xml檔案就是專門拿來給電腦進行閱讀的語言。而Sitemap.xml就是搜尋引擎利用這個規範,讓網站主可以使用它來製作一個包含了網站內所有網頁的目錄檔案,提供給搜尋引擎的爬蟲閱讀。就像是一個地圖一樣,讓搜尋引擎可以知道網站內到底有些什麼網頁。當然製作Sitemap不一定要使用xml格式,google官方指南指出,他們接受的格式還有RSS、mRSS 和 Atom 1.0等。但xml已經是最常使用的規範,因此本文將以介紹這一個檔案格式為主。
  一個sitemap.xml檔案,最基本的樣子可能是長這樣的:

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

而我們說需要做的,就是將網站內所有的網址都填進去,假設我的網站有首頁、a.html、b.html,我的Sitemap就會長這樣:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.example.com.tw</loc>
  </url>
  <url>
    <loc>https://www.example.com.tw/a.html</loc>
  </url>
  <url>
    <loc>https://www.example.com.tw/b.html</loc>
  </url>
</urlset>

不要懷疑,就是這麼簡單就可以完成你的Sitemap檔案了。完成之後將檔案上傳到網站的根目錄,並輸入網址「http://www.example.com/sitemap.xml」,就可以看到你的Sitemap已經上傳成功。
網頁上的sitemap

sitemap.xml檔案的提交

Sitemap檔案已經完成了之後,接著要完成的任務就是要在Google Search Console(以下簡稱SC)及Bing Webmaster內完成提交。
提交sitemap
真的是簡單到筆者第一次完成時還在懷疑這樣真的可以嗎!?如果真的不放心,過幾天後,等待Google讀取完成你的Sitemap,再到Search Console內就可以看到提交的Sitemap內的網址的收錄情形。
Search Console Sitemap收錄狀況
以這個網站為例,雖然提交了80個網頁,確實被收錄的頁面卻只有36個。從這裡就可以知道,在提交的80個網頁中有44個網頁是沒有被收錄的。不過在這個報告內,並沒有辦法可以確切知道哪些是沒有被收錄到的網頁,但是依然是檢視網站收錄狀況的好幫手。

使用Sitemap製作工具來快速製作Sitemap

使用手刻的方式製作sitemap.xml檔案可能在網站規模小時還可以一個一個網址寫上去,但當網站成長到一定規模時就一定會需要使用一些其他方法來輔助製作sitemap.xml檔案了,以下將會簡單介紹一些好用的工具。

1. XML-Sitemaps線上Sitemap製作工具

sitemap線上產生器
網址:https://www.xml-sitemaps.com
此工具提供免費線上製作Sitemap,以500個網址為限。此工具對於小網站而言已經相當足夠,可以迅速完成Sitemap。

2. wonderwebware.com的Sitemap Generator線下工具

sitemap線下產生器
網址:https://wonderwebware.com/sitemap-generator/
  此工具為線下版工具,需要下載後才能使用。優點為免費且沒有網址數量限制。它亦有可以看到所有網址Title的功能,相當實用。

大型網站的Sitemap要如何製作

在大型網站要製作sitemap時所要考量的因素與小型網站大大的不同。這時候往往會遇到以下這些問題:

1. 網址數量往往超過一個Sitemap檔案可以乘載的大小

  根據Google的Sitemap官方指南,每個Sitemap檔案內網址的極限數量只能有50,000 個。因此當網站規模大於這個大小時,可以考慮在製作Sitemap時用創建目錄檔(sitemap_index)的方式,如此一來可以對各個Sitemap檔案進行管理。

2. 單靠Sitemap製作工具依然會有許多網頁沒辦法被找到

  這是因為Sitemap的製作工具其理解網站的方式一樣是依靠Crawler在網站中找出所有的網頁。因此可以理解成用Sitemap製作工具找到的網頁基本上都是google本身就有辦法找到的,但是Sitemap最大的功能就是讓搜尋引擎能夠在網站中發現它無法找到的網頁,因此若只單單使用這些工具對網站結構越複雜、越大型的網站是絕對不夠的。

3. 每天都有大量新頁面產生,需要時時更新Sitemap內的內容

  一般來說使用Sitemap工具並沒有辦法時時刻刻更新Sitemap的內容,而每一次更新時都會需要機器人在自己的網站上重新爬取一次所有的連結,相當沒有效率,尤其不可能只要有新的內容就重新操作一次這樣的動作。

使用程式來自行產生Sitemap吧!

  基於上述所提到的問題,如果Sitemap能夠由程式碼自動產生,那麼自然可以用一次的開發成本來省去許多管理的時間。因此以下將提供幾個自行製作sitemap.xml檔案的方法:

1. WordPress外掛

Yoast新增Sitemap
  如果你的網站剛好是使用wordpress所架設,那麼只需要使用外掛就能夠自動產生Sitemap檔案了。像是平常許多wordpress網站都有使用的seo外掛Yoast,就有這樣的功能,可以幫助你直接將wordpress內出現的所有網頁一次整理在Sitemap檔案內,而且他們也有使用Sitemap index喔!

2. 透過Github上的程式語言/框架的相關模組/套件來製作

  在Github上,已有許多前人有撰寫過相關的程式碼。若己身所使用的框架已經有他人撰寫過相關的程式,不仿就直接使用吧!
yii Sitemap

laravel sitemap產生程式
建議可以在自己開始開發前,先在網路上尋找是否有前人已經撰寫過的程式碼!

3. 自行開發Sitemap產生機制

對於自行開發的網站而言當然沒有辦法用以上的方式來製作Sitemap,因此自行開發在所難免。自行開發可以對於使用他人程式碼所產生的資案疑慮可以大大降低,更能夠串連資料庫及時新增產生的新網址,其彈性可以大大增加。像是為網址加上<lastmod>、<priority>等屬性,或是將較重要的網址放在Sitemap前方、甚至製作圖片Sitemap、影片Sitemap等,這些都是在自行開發時可以設計的機制。(這些進階的項目在此文章先不多談,如果有興趣請讓我們知道,我們再來深入討論!)

結語

目前搜尋引擎爬取網站的技術比其實年前已經進步得太多,因此透過Sitemap.xml輔助來爬取網站的需求已經越來越少。但是透過正確的Sitemap製作依然可以有效的檢視自己網站確切的網址數量有多少,從而與Google的收錄數進行比較,以確認目前的網站的收錄狀況。趕快從上述方式中挑選最適合自己的,為自己的網站製作Sitemap檔案吧!

 

如有任何自然流量增加的問題,或想瞭解關於 SEO 人工智慧解決方案,歡迎立即諮詢,將有 awoo 專業顧問為您服務。

立即聯絡阿物 

延伸閱讀:Sitemap 是什麼?讓 Google 爬蟲快速了解你的網站!

延伸閱讀:檢索預算(Crawl Budget)是什麼?中大型網站不可不知的SEO項目!