{{ 'fb_in_app_browser_popup.desc' | translate }} {{ 'fb_in_app_browser_popup.copy_link' | translate }}
{{ 'in_app_browser_popup.desc' | translate }}
{{word('consent_desc')}} {{word('read_more')}}
{{setting.description}}
{{ childProduct.title_translations | translateModel }}
{{ getChildVariationShorthand(childProduct.child_variation) }}
{{ getSelectedItemDetail(selectedChildProduct, item).childProductName }} x {{ selectedChildProduct.quantity || 1 }}
{{ getSelectedItemDetail(selectedChildProduct, item).childVariationName }}
爬蟲(Googlebot)到訪網站時,會透過搜索所有內部連結,再將每個頁面逐一轉譯讀取,最終才能完成收錄作業。而 XML 網站地圖(Sitemap)是一種以 xml 格式紀錄站內所有網頁連結架構的檔案,,讓爬蟲在第一時間就能獲取站內所有頁面的相關資訊,讓搜尋引擎能在網站管理者的指引下,以更有效率的方式收錄網頁,不會遺漏任何一個重要頁面,進而確保 SEO 的成效。
另一方面,爬蟲什麼時候會到訪網站是無法掌控的事,若站內有重要的更新訊息,或SEO 專家想要爭取提早進入索引排名的時候,向 Google 提交已更新的網站地圖,能從被動等待轉化為主動出擊。
假設今天你到圖書館想搜尋特定的書,爬蟲就是在入口為你服務的館藏導覽機器人,它必須內建所有館藏書籍資料,才能引導你找到正確的書架位置,找到指定的某本書。
在此之前,SEO 專家也就代表著圖書館管理員,他必須仔細紀錄每一本既有或新進的書籍資料,並分門別類放置到適當的書架上,每當新增或更新館藏紀錄時,就同步輸入資訊到導覽機器人的資料庫裡。
如此一來,每位進入圖書館找書的人,都能享有最即時、正確的館藏資訊,幫助他在短時間內得到符合需求的書籍。
所以當書籍資料遺失(網站內部連結不良),或是機器人的館藏資訊已過時(搜尋引擎沒有收錄到新頁面),都會造成使用者在搜尋結果裡,找不到也看不見你架上的那本書(網頁)。
網站地圖就像是提交更新資訊給導覽機器人的館藏資料,當漫步在規模浩大的圖書館裡,可能不會明顯感覺到它的必要性和存在,但如果許多書籍都放在不可被看見的地方,當這裡無法滿足人們借書的需求時,就無法迫使他們停留得更久,對 SEO 就造成一定程度的影響。
總而言之,網站地圖存在的必要性,依目的可以歸納的原因如下:
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:在網站地圖中標記圖片-網頁內含有兩張圖片範例
影片網站地圖的原理與圖片一樣,只是如果以標記的方式加到現有的網站地圖當中,標籤語法不太一樣,而且可提供定義該影片的項目比圖片多,以下列出並解釋必要的標記項目。
Image:在網站地圖中標記影片-必要定義的標籤範例
如果是必須時常更新的新聞發布內容,傳統網站地圖雖然一樣適用於提交更新資訊,但使用新聞網站地圖可以更適應快速淘汰更新的網頁類型,讓爬蟲知道網站會定期提供具有參考價值的內容。
每一次更新地圖時,不必重新建立,地圖內容只需要包含兩天內發布的新聞網址,超過兩天以上的新聞,請務必直接從地圖中移除,檔案內最多包含 1000 則新聞網址,<news:news>是必要的標記項目。
Image:在網站地圖中標記新聞頁面-必要定義的標籤範例
在前面介紹各種查詢網站地圖的方法,可顯示的結果就是最常見的基本內容,裡面記載條列了網站所有的頁面網址,也可以給予一些標記資訊加以描述網頁內容,幫助爬蟲更有效率的進行解讀及收錄工作,標籤介紹會在後面章節進行更詳細的說明。
Image:網站地圖基礎範例
並非每個網站建置時都應該擁有或提交地圖資訊,通常也有一些情況是不太需要特別設置使用的,例如:
因為頁面數量還很少,網站規模不夠大,彼此之間的結構相對明確清晰,在建立內部連結時,也較不容易錯漏某些頁面,這時候人為管理只要沒有太嚴重的疏失,基本上就不一定要建置地圖。
如果沒有追求或根本不想要網頁內容出現在搜索結果當中,例如加密型的網站資料,或是特定登入權限者才可觀看的內容,那就也沒有建置的必要。
網站地圖的內容,並非長得像一張地圖,也不是圖像的形式,它是一份有制式資料格式規範的檔案,並且支援多種檔案格式,常見有 XML、RSS、TEXT,其中以 XML 檔案格式最為單純,也最被廣泛使用,所以下列將特別介紹 XML 網站地圖。以 XML 為檔案格式的網站地圖
Image: XML 網站地圖內容結構/JKL SEO 編輯團隊
針對 XML 網站地圖的協議架構,內容必須符合實體逸出的原則,這項特定的編寫規則是為了確保解讀 XML 標籤時,不會產生發生字元不正確的情況,因為正常情況下,XML 裡面只有兩個非字母字元存在,冒號(:)與底線(_),所以在地圖文件當中,包含網址結構本身,如果使用到特殊字符,要先進行實體轉義,詳細的轉義示範可參考 sitemaps.org。
特殊字符 | 轉義代碼 |
& | & |
' | ' |
" | " |
> | > |
< | < |
Table:實體逸出轉義碼對應參考
此外,網站地圖內的網址,必須都屬於同一個網域。
可以透過空白文件編輯地圖內容,在儲存時記得選擇以「 UTF-8 」作為編碼格式,最後再存成 *.xml 的檔案格式。
Image: XML 網站地圖的儲存格式/JKL SEO 編輯團隊
創建的方式有兩種,一種是從頭開始手動建置地圖,另一種則是透過工具自動生成地圖。
第一步驟:收集網站所有的網址
這個步驟有許多種做法:
Image: 以 site 指令查詢網站頁面資源
Image:Screaming Frog SEO Spider 的操作結果示範
第二步驟:對所有網址進行編碼
Image:XML 網站地圖手動建立示範/JKL SEO 編輯團隊
工具一、Sitemap Generator:Chrome 免費擴充應用程式
下載位址:Chrome 線上應用程式商店
軟體特色:直接安裝在 Chrome 瀏覽器就可使用,打開應用程式介面,直接輸入網址,就會開始抓取網站的頁面結構,最後完成時會直接在瀏覽器的視窗上顯示網站地圖內容,將網頁另存下載成為 xml 檔就可以了。
Image:Sitemap Generator 自動建置 XML 網站地圖
Image:Sitemap Generator 的地圖成果
工具二、Screamingfrog:最受歡迎
下載位址:screamingfrog
軟體特色:如果你對前面介紹如何收集網站所有的網址的方法還有印象,screamingfrog 除了爬蟲功能之外,也能支援在完成讀取網站的工作後,將網站地圖匯出,只要在功能列選擇 Sitemap,選取匯出的相關格式設定,就能立即得到一個網站地圖.xml。
Image:screamingfrog 的地圖成果
在成功創建了 XML 網站地圖後,交給網站管理員或在網站托管平台上,將地圖檔案存放於網站的根目錄底下,而且必須切記,所有記載的網址必須和地圖存放在同一個網域(主機)中。
當完成了這項工作後,就能向 Google 以網址的形式提交最新的網站地圖了,而提交的方式也有許多種:
首次提交建議使用,約 7 天更新收錄。
使用這個方法的前提,就是必須先申請註冊 Google Search Console 的帳戶,並通過驗證手續,在 Google 確認你擁有網站的所有權後,才能進一步提供各項網站分析數據及優化服務。
而提交的方法也很簡單,只要點選側面的 Sitemap 功能,並在「新增 Sitemap」的欄位輸入網站地圖放置的位址,並點擊「提交」就完成了。
Image:在 Google Search Console 提交地圖/JKL SEO 編輯團隊
最方便迅速的方法,約 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 給予的規則來決定是否讀取或收錄網頁,所以在讀取這份檔案的同時,也就能一併知情地圖的存在,但如果爬蟲遲遲沒有到訪網站,這個方式就顯得被動許多。
格式:Sitemap: FULL_URL_OF_SITEMAP
Image:在 robots.txt 裡面添加地圖網址
當地圖的規模超過搜索引擎的限制時,就需要考慮將其進行分割。
一般來說,XML 網站地圖的檔案大小不可大於 50 MB,內含的網址數量不可超過 50,000個。如果地圖已超過上述限制範圍,可以考慮以下兩種方法來解決這個問題:
Image:在 XML 網站地圖裡面添加數個分割地圖的索引檔範例
當在搜尋引擎查找「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