{{ 'fb_in_app_browser_popup.desc' | translate }} {{ 'fb_in_app_browser_popup.copy_link' | translate }}

{{ 'in_app_browser_popup.desc' | translate }}

目錄 購物車 {{currentCart.getItemCount()}}
商品總數的上限為 100 件,請調整數量再點擊購買

SEO 爭取網頁收錄速度的必殺技:製作 XML Sitemap 網站地圖

什麼是網站地圖(Sitemap)?

爬蟲(Googlebot)到訪網站時,會透過搜索所有內部連結,再將每個頁面逐一轉譯讀取,最終才能完成收錄作業。而 XML 網站地圖(Sitemap)是一種以 xml 格式紀錄站內所有網頁連結架構的檔案,,讓爬蟲在第一時間就能獲取站內所有頁面的相關資訊,讓搜尋引擎能在網站管理者的指引下,以更有效率的方式收錄網頁,不會遺漏任何一個重要頁面,進而確保 SEO 的成效。

另一方面,爬蟲什麼時候會到訪網站是無法掌控的事,若站內有重要的更新訊息,或SEO 專家想要爭取提早進入索引排名的時候,向 Google 提交已更新的網站地圖,能從被動等待轉化為主動出擊

查找網站地圖的目的

假設今天你到圖書館想搜尋特定的書,爬蟲就是在入口為你服務的館藏導覽機器人,它必須內建所有館藏書籍資料,才能引導你找到正確的書架位置,找到指定的某本書。

在此之前,SEO 專家也就代表著圖書館管理員,他必須仔細紀錄每一本既有或新進的書籍資料,並分門別類放置到適當的書架上,每當新增或更新館藏紀錄時,就同步輸入資訊到導覽機器人的資料庫裡。

如此一來,每位進入圖書館找書的人,都能享有最即時、正確的館藏資訊,幫助他在短時間內得到符合需求的書籍。

所以當書籍資料遺失(網站內部連結不良),或是機器人的館藏資訊已過時(搜尋引擎沒有收錄到新頁面),都會造成使用者在搜尋結果裡,找不到也看不見你架上的那本書(網頁)。

網站地圖就像是提交更新資訊給導覽機器人的館藏資料,當漫步在規模浩大的圖書館裡,可能不會明顯感覺到它的必要性和存在,但如果許多書籍都放在不可被看見的地方,當這裡無法滿足人們借書的需求時,就無法迫使他們停留得更久,對 SEO 就造成一定程度的影響。

總而言之,網站地圖存在的必要性,依目的可以歸納的原因如下:

  • 獲取彚整網站上所有頁面的列表:提供並幫助爬蟲到訪時能有效收錄索引。
  • 檢視本身網域中可能已過時的頁面:若向 GSC(Google Search Console) 提交網站地圖,將獲得索引結果的相關訊息,若有頁面發生錯誤,可在報告檢視中發現。
  • 即時更新網頁內容:當有最新發布的內容,主動提交網站地圖可以在最短時間內被收錄到索引結果當中。
  • 競家分析:可以查看同性質的競爭對手,利用哪些網頁佈局,提供使用者哪些資訊。

Image:美國 Roanoke Libraries 圖書館機器人-Pepper

如何找到你的網站地圖?

建立網站地圖不是一個強制性的任務,但如果你有這個需求,在爬蟲讀取之前,就必須驗證你的網站地圖可以正常運行及有效,我們可以透過一些簡單基本的方法檢視它的存在。

當成功找到後,畫面會顯示像這樣充滿許多標籤及網址內容,這就是 XML 網站地圖了。

Image:JKL 官網的 XML 網站地圖範例

手動基礎查詢

1.  嘗試在網域後面加上檔名字樣

在瀏覽器輸入你的網域,並在網址後面嘗試加上以下結尾,這些都是檔案可能放置的基本位置。

https://你的網域/sitemap

https://你的網域/sitemap.xml

https://你的網域/sitemap_index.xml

Image:嘗試在網域後面加上檔名查找示範

2. 嘗試從 robots.txt 裡面查找網站地圖位址:

標準的 robots.txt 會紀錄網站地圖的網址,所以只要透過找到 robots.txt,在文件裡面也可以知道網站地圖在哪裡。

https://你的網域/robots.txt

Image:嘗試在 robots.txt 裡面查找地圖網址示範

3. 嘗試在搜尋引擎查找:

如果網站已發布且被爬蟲收錄,可以直接在搜尋引擎上輸入搜索指令,限定在自己的網域內顯示 xml 檔案文件的結果,若獲得的 xml 檔案過多,可以再加列 inurl:sitemap 指令,增加結果的精確度,但要特別注意inurl:後面不可以有空格存在,否則會查找不到資料。

site:你的網域 filetype:xml inurl:sitemap

Image:嘗試在搜尋引擎查找地圖網址示範

進階工具查詢

如果前面介紹的基礎方法都沒有用,也可以試試看免費線上測試工具-SEO Site Checkup 幫助查詢,在輸入框貼上你的網域,再按下 checkup 即可。還會同步顯示網站地圖的成效分數,可以作為改善的建議參考。

Image: 線上測試網站地圖工具(SEO Site Checkup

如何找到競爭對手的網站地圖?

所謂「知己知彼,百戰不殆」,當競爭對手頻頻更新網頁,我們必須時刻掌握並監控他們的網站。為什麼要分析競家網站,大致可歸納為下列三項目的:

  • 佈局了多少內容:觀察網頁數量。
  • 更新的頻率多高:觀察資料的新舊程度。
  • 內容的性質是什麼:觀察網頁內容品質及規模程度。

透過分析觀察,分析並推測競家的流量表現可能出自於什麼原因,如此我們才能適時的做出足以應對的經營策略。若雙方更新頻率及內容落差太大,明顯落後或缺乏內容的那一方,勢必在爭取訪客及流量的表現就會趨於弱化。

實際操作說明

這裡我們假設以一家床墊製造廠商為例,使用手動基礎查找方式,找到競爭對手網站的 sitemap.xml 後,會發現裡面充滿了無法目視數清的網頁位址,如何接著觀察裡面的網址結構及數量?

Image: 悅夢床墊官網的 XML 網站地圖

將 sitemap.xml 內容 Ctrl + A 全選,Ctrl + C 複製並貼到 Google 試算表的欄位當中,此時會發現高達 1581 筆資料列,但其實這裡面包含了許多不屬於網址列的標籤(例如 <url>、</url>),所以在分析網址結構前,先把這些資料列剔除,可以選取資料所在欄位,對全部資料依名稱進行排序。

Image: 複製貼上網站地圖至表單

此時 </url> 與 <url> 的資料列會集中排列在一起,分別在資料列的頭尾兩端,將它們全數刪除後,就可以獲得網站所有的網址,資料列數量由 1581 筆精減至 526 筆。

Image: 刪除非必要資料列示範

若進一步觀察網址分類,會發現該床墊廠商的網站結構有五分之三以上為部落格內容,表示該品牌對於工作日誌或床墊知識的相關文章非常重視,若要與他維持競爭關係,不能只單獨提供電子商務的銷售功能,還必須大量補充知識面性質的網頁內容,才能吸引會事先爬文作功課的理性型的消費客群。

Image:進階分析競家網站地圖內容

找不到網站地圖怎麼辦?

嘗試一系列的查找方法之後,如果發現沒有網站地圖該怎麼辦?

對於剛發布上線或是規模很小的網站,其實沒有網站地圖是很常見的現象,並非所有的網站都需要擁有它,但如果想要並且願意,可以參考後面章節介紹的建置方法,並把檔案提交給 Google。

什麼時候需要使用網站地圖?

根據 Google 及 SEO 專家提供的建議,當符合以下這些情況時,應該考慮著手建置您的網站地圖:

網站規模龐大

網站規模透過站內頁面數量來定義,並且這些頁面是以想要被收錄到索引結果為前提,則超過 500 個頁面屬於大型規模。

網頁之間的連結關係錯亂無章

適當的內部連結可以讓爬蟲輕易的找到網站內的所有內容,但是若發生在網站規模過於龐大、長時間多次編寫修改、多人接手繼承管理等情況時,除非你對經營所有頁面連結毫無任何差錯,否則只要任何一個頁面缺乏通盤考慮,將造成被遺漏的可能,此時 XML 網站地圖就能起到很大的幫助。

網站經營時間不長

由於爬蟲是透過搜尋網頁之間的相互連結,才能進一步擷取關聯性的內容,如果網站剛成立不久,網頁結構不夠豐厚、點閱流量也不夠多,極少的外部連結也無法幫助爬蟲或人們引領到你的網站,這時候期待網頁能被找到就有一定的難度,所以此時主動將網頁提報給 Google 會是一個較有效率的作法。

頁面裡豐含其他多媒體資料

網站地圖除了可以記載所有網頁之外,還可以支援多媒體檔案,如果想要讓爬蟲收錄站內的影音檔案、或是時常更新的新聞網頁內容,就必須讓它知道網頁上有哪些不同於文章形式的資源可以取用,如此一來,就可以提供人們在搜尋特定媒體資料的時候,就可以顯示在索引結果當中。

網站地圖可以記載哪些資料類型?

圖片網站地圖

有些時候,使用者會透過搜尋圖片來查找想要的結果,我們除了在網頁插入圖片時,可以參考 Google 圖片搜尋引擎最佳化的做法之外,如果想要讓爬蟲知道網站裡面擁有多少可公開的圖片資源,建置圖片網站地圖是一個理想的方式,讓它可以順利的將站內圖片收到索引當中,讓人們在搜圖的過程中,有機會為網頁帶來更高的流量。

可以特別建置一個獨立的圖片網站地圖,也可以將圖片以標記的方式加到現有的網站地圖當中(以下為 Google 提供的範例),但這種方法每一個連結頁最多只能標記 1,000 張圖片。

Image:在網站地圖中標記圖片-網頁內含有兩張圖片範例

影片網站地圖

影片網站地圖的原理與圖片一樣,只是如果以標記的方式加到現有的網站地圖當中,標籤語法不太一樣,而且可提供定義該影片的項目比圖片多,以下列出並解釋必要的標記項目。

  • <video:thumbnail_loc>:影片縮圖的圖片網址,縮圖尺寸至少要達到 60 x 30 像素。
  • <video:title>:影片的標題,須符合影片主題。
  • <video:description>:影片的說明,內容須與網頁內崁影片的說明大致相符。
  • <video:content_loc>:影片的實際所在網址,讓爬蟲擷取影片內容的最有效方法。
  • <video:player_loc>:影片特定播放器的網址。

Image:在網站地圖中標記影片-必要定義的標籤範例

新聞網站地圖

如果是必須時常更新的新聞發布內容,傳統網站地圖雖然一樣適用於提交更新資訊,但使用新聞網站地圖可以更適應快速淘汰更新的網頁類型,讓爬蟲知道網站會定期提供具有參考價值的內容。

每一次更新地圖時,不必重新建立,地圖內容只需要包含兩天內發布的新聞網址,超過兩天以上的新聞,請務必直接從地圖中移除,檔案內最多包含 1000 則新聞網址,<news:news>是必要的標記項目。

  • <news:publication>:要顯示在 Google 新聞中的名稱。
  • <news:name>:新聞出版方的名稱。
  • <news:language>:新聞內容使用的語言,以二至三個英文字母作為代碼
  • <news:publication_date>:新聞發布日期,格式為 yyyy-mm-dd。
  • <news:title>:新聞報導的標題。

Image:在網站地圖中標記新聞頁面-必要定義的標籤範例

一般網站地圖

在前面介紹各種查詢網站地圖的方法,可顯示的結果就是最常見的基本內容,裡面記載條列了網站所有的頁面網址,也可以給予一些標記資訊加以描述網頁內容,幫助爬蟲更有效率的進行解讀及收錄工作,標籤介紹會在後面章節進行更詳細的說明。

Image:網站地圖基礎範例

什麼情況下不必使用網站地圖

並非每個網站建置時都應該擁有或提交地圖資訊,通常也有一些情況是不太需要特別設置使用的,例如:

  • 當網頁規模很小的時候:

    因為頁面數量還很少,網站規模不夠大,彼此之間的結構相對明確清晰,在建立內部連結時,也較不容易錯漏某些頁面,這時候人為管理只要沒有太嚴重的疏失,基本上就不一定要建置地圖。

  • 當網頁內容不想被收錄的時候:

    如果沒有追求或根本不想要網頁內容出現在搜索結果當中,例如加密型的網站資料,或是特定登入權限者才可觀看的內容,那就也沒有建置的必要。

網站地圖長什麼模樣?

網站地圖的內容,並非長得像一張地圖,也不是圖像的形式,它是一份有制式資料格式規範的檔案,並且支援多種檔案格式,常見有 XML、RSS、TEXT,其中以 XML 檔案格式最為單純,也最被廣泛使用,所以下列將特別介紹 XML 網站地圖。以 XML 為檔案格式的網站地圖

Image: XML 網站地圖內容結構/JKL SEO 編輯團隊

標籤結構

  • 外層:以 <urlset> 標記作為開始,再以 </urlset> 標記作為結束。
  • 內層:
    • 每一則網址以 <url> 標記作為開始,以 </url> 標記作為結束。
    • 每一則網址必備一個子標記 <loc>,作為紀錄網址的地方。
    • <lastmod>、<changefreq> 和 <priority> 標記並非必要,但可以使用。
    • <lastmod>:頁面最後修改日期,格式為 yyyy-mm-dd。
    • <changefreq> :頁面的更新頻率,總共有七種:總是always/ 每小時hourly/ 每天daily/ 每週weekly/ 每月monthly/ 每年yearly/ 從不never。
    • <priority>:該頁面相對於網站內其他頁面的優先層級,有效值的範圍 0.0 ~1.0,通常默認的優先權重為 0.5,愈重要則數字愈大。

格式限制

針對 XML 網站地圖的協議架構,內容必須符合實體逸出的原則,這項特定的編寫規則是為了確保解讀 XML 標籤時,不會產生發生字元不正確的情況,因為正常情況下,XML 裡面只有兩個非字母字元存在,冒號(:)與底線(_),所以在地圖文件當中,包含網址結構本身,如果使用到特殊字符,要先進行實體轉義,詳細的轉義示範可參考 sitemaps.org

特殊字符 轉義代碼
&amp;
&apos;
&quot;
&gt;
&lt;

Table:實體逸出轉義碼對應參考

此外,網站地圖內的網址,必須都屬於同一個網域。

儲存格式

可以透過空白文件編輯地圖內容,在儲存時記得選擇以「 UTF-8 」作為編碼格式,最後再存成 *.xml 的檔案格式。

Image: XML 網站地圖的儲存格式/JKL SEO 編輯團隊

如何開始建立網站地圖

創建的方式有兩種,一種是從頭開始手動建置地圖,另一種則是透過工具自動生成地圖。

使用手動建立網站地圖

第一步驟:收集網站所有的網址

這個步驟有許多種做法:

  • 手動整理:
    在自行架設的網站主機或托管的網站平台,點擊查看網頁放置目錄下的所有頁面。
  • 在 Google 進行指令搜尋:
    直接在 Google 搜尋引擎輸入site:你的網域,可以獲得目前已被收錄在索引的網頁數量及結果,但這無法代表實際上擁有的所有頁面,因為有可能內部連結的缺失,導至有些頁面沒有被讀取收錄的機會。

Image: 以 site 指令查詢網站頁面資源

  • 爬蟲工具 Screamingfrog:
    Screaming Frog SEO Spider 是一個網站爬蟲工具,可以免費下載安裝使用,可下載和抓取 500 個站內連結網址,若需要更多的功能及數量,也可以付費購買進階使用權利。使用方式只要在軟體裡輸入網站網址,就會開始自動抓取網站內所有的資源,並加以彚整統計。

Image:Screaming Frog SEO Spider 的操作結果示範

第二步驟:對所有網址進行編碼

  1. 準備一個編輯器,例如:Sublime TextVisual Studio Code、甚至是最簡單的內建記事本。
  2. 接著在文件起始處宣告網站地圖參照的通訊協定版本
    <urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9">。
  1. 每則網址獨立以一組 <url> 及 </url> 標籤包覆於起始和結尾處。
  2. 網址前後加上一組 <loc> 及 </loc> 標籤作為網址的的識別。
  3. 網址本身必須包含通訊協定 http:// 或 https://。
  4. 到這個階段已完成最基礎的 XML 網站地圖格式,若網址內需要更多的選用定義標籤,可以參考稍早介紹的標籤結構段落。
  5. 以 UTF-8 作為編碼格式,將文件儲存成副檔名為 .xml 。

Image:XML 網站地圖手動建立示範/JKL SEO 編輯團隊

使用工具自動產生網站地圖

工具一、Sitemap Generator:Chrome 免費擴充應用程式

下載位址:Chrome 線上應用程式商店

軟體特色:直接安裝在 Chrome 瀏覽器就可使用,打開應用程式介面,直接輸入網址,就會開始抓取網站的頁面結構,最後完成時會直接在瀏覽器的視窗上顯示網站地圖內容,將網頁另存下載成為 xml 檔就可以了。

Image:Sitemap Generator 自動建置 XML 網站地圖

Image:Sitemap Generator 的地圖成果

工具二、Screamingfrog:最受歡迎

下載位址:screamingfrog

軟體特色:如果你對前面介紹如何收集網站所有的網址的方法還有印象,screamingfrog 除了爬蟲功能之外,也能支援在完成讀取網站的工作後,將網站地圖匯出,只要在功能列選擇 Sitemap,選取匯出的相關格式設定,就能立即得到一個網站地圖.xml。

Image:screamingfrog 的地圖成果

向 Google 提交網站地圖

在成功創建了 XML 網站地圖後,交給網站管理員或在網站托管平台上,將地圖檔案存放於網站的根目錄底下,而且必須切記,所有記載的網址必須和地圖存放在同一個網域(主機)中。

當完成了這項工作後,就能向 Google 以網址的形式提交最新的網站地圖了,而提交的方式也有許多種:

在 Google Search Console 中提交

首次提交建議使用,約 7 天更新收錄。

使用這個方法的前提,就是必須先申請註冊 Google Search Console 的帳戶,並通過驗證手續,在 Google 確認你擁有網站的所有權後,才能進一步提供各項網站分析數據及優化服務。

而提交的方法也很簡單,只要點選側面的 Sitemap 功能,並在「新增 Sitemap」的欄位輸入網站地圖放置的位址,並點擊「提交」就完成了。

Image:在 Google Search Console 提交地圖/JKL SEO 編輯團隊

使用 ping 指令提交

最方便迅速的方法,約 2 - 3 天更新收錄。

Google 提供了一串快速提交地圖的網址,做法是只要在瀏覽器的網址列,輸入這串短址,並把網站地圖的網址接在等號(=)後面,接著按下 enter鍵,就等同提交了。

  格式:https://www.google.com/ping?sitemap=FULL_URL_OF_SITEMAP

  範例:https://www.google.com/ping?sitemap=https://www.shopjkl.com/sitemap.xml

Image:在瀏覽器上輸入 ping 網址提交地圖

在 robots.txt 裡面加入網站地圖位址

被動式等待收錄,更新時間不確定。

在網站根目錄找到 robots.txt 檔案,在裡面直接添加一行網站地圖的網址,當爬蟲進入網站時,會先依循 robots.txt 給予的規則來決定是否讀取或收錄網頁,所以在讀取這份檔案的同時,也就能一併知情地圖的存在,但如果爬蟲遲遲沒有到訪網站,這個方式就顯得被動許多。

  格式:Sitemap: FULL_URL_OF_SITEMAP

Image:在 robots.txt 裡面添加地圖網址

網站地圖超大怎麼辦?

地圖的規模超過搜索引擎的限制時,就需要考慮將其進行分割。

一般來說,XML 網站地圖的檔案大小不可大於 50 MB,內含的網址數量不可超過 50,000個。如果地圖已超過上述限制範圍,可以考慮以下兩種方法來解決這個問題:

  • 分割:
    將 XML 地圖分割成多個小型地圖,每份小地圖各自擁有一部分的網址列表,內容及語法與主地圖無異,接著在主地圖中以 <sitemap> 作為每一則的索引起始,添加分割地圖的位址後,再以 </sitemap> 作為結束,爬蟲自動就能依循每則小地圖,逐項進行讀取網址了,但必須注意的是,總索引數量的上限個數為 500 個。

Image:在 XML 網站地圖裡面添加數個分割地圖的索引檔範例

  • 壓縮:
    使用 Gzip 等壓縮工具將地圖檔案進行壓縮,這樣也可以使檔案佔用空間縮小,而且爬蟲支援壓縮格式,可以正確地解析和索引這些網址內容。

HTML Sitemap 與 Sitemap 的差別

當在搜尋引擎查找「SITEMAP」時,不論是中文或英文的結果,常常可以發現涵蓋了兩種層面,一種指的是給爬蟲機器看的 XML 網站地圖,另一種是爬蟲和人都可以看的 HTML 網站地圖。

雖然本篇主指著墨在 XML SITEMAP,但在一些富含專業權威的網頁裡,HTML SITEMAP 也時常被放在一起提及,這其實是因為兩件事相輔相成,對 SEO 成效都是有幫助的。

不管是人還是機器,都需要有良好的引導機制,才能讓網頁有機會被看見。

人類主要倚靠直觀的視覺化引導及設計,HTML SITEMAP 事實上也屬於網頁設計的一部分,只是這個網頁負責的是導航,幫助使用者在瀏覽網站時,因為網頁以有組織的方式分類及顯示,網頁之間的跳轉及連結也符合操作邏輯,所以讓訪客可以迅速找到感興趣的內容,這對於整體的使用體驗能大幅提高,而且別忘了 SEO 排名也考量了網頁體驗及優化程度。

反之,爬蟲機器則需要靠方法和技術才能釐清網站全部架構,但若已瀏覽到這裡,相信你已經對怎麼建置 XML SITEMAP 有了基礎概念。

Image:Apple 的 HTML SITEMAP

結論

總而言之,XML 網站地圖是一種能夠幫助搜索引擎更好了解網站內容的工具。

它可以提供網站的完整頁面列表,讓搜索引擎更容易收錄並索引這些內容,這不僅有助於提高網站在搜索引擎中的排名,還可以確保網站的有效性及良好的用戶體驗。因此,我們建議所有網站都應該盡可能的包含一個 XML 網站地圖,將它視為 SEO 的一部分,雖然沒有它,網站仍能正常運行,但 SEO 應該追求讓所有頁面都具備排名的機會。

本文章由《JKL SEO 公司》編輯 Alva 所撰寫。Alva 具備軟體工程師與開發教學系統的相關背景,擅長彚整與制訂作業流程,幫助新手理解如何進行資訊化應用。目前致力投入於 SEO 領域與內容行銷工作,將平日細微的生活觀察力,表現在關鍵字搜尋的結果裡,提供讀者可以完全信任的實用內容。聯絡請洽詢:pm2@shopjkl.com