網站地圖Sitemap懶人包
Sitemap(即用於SEO的網站地圖)是非常重要的SEO檔案、檔案格式是XML,Sitemap這名稱已指出它的用途:網址清單,即讓我們列出網址清單、再用Google指定的方式讓Google讀取檔案。
這篇Sitemap的分享除了會詳細介紹它的用途、如何提交給Google,也會分享我如何用它來解決網站轉址、搬家造成的索引問題。文章目錄:
Sitemap介紹
如上所述,Sitemap就是一堆網址的清單,讓網站經營者可以藉由這個清單跟Google說明網站有哪些重要網址、希望它多去看看,而檔案的格式則是XML。Google對於Sitemap的內容、格式、檔案大小、如何運用Sitemap索引檔等等,有非常完整的說明(相關文件),這邊要特別提醒的事項:
Sitemap是指引Google網站重要網頁的網址,那就不能置放無法被Google索引的網址,所以回應代碼是301或404的網址、被robots.txt封鎖的網址、被noindex的網址、標準網址指向其他網址的網址等等讓Google無法索引的網址,都要由Sitemap排除,不然會於Google Search Console顯示錯誤。
Sitemap的用途
前面有提到Sitemap最廣為人知的功能就是協助Google理解網站有哪些網址,讓它可以更有效的爬取、索引網站重要內容,但是即使沒有將這檔案提交給Google,它還是會爬取、索引網站內容,而且Google也說明「某些」情況下「不一定」需要這檔案,為何還是會建議一定要產出並提交Sitemap呢?原因:
- Sitemap搭配GSC的網頁索引狀態報告,可以更精準地知道Google處理網站重要網址的狀況;如果不提交Sitemap給Google而是讓它自己想辦法,我們就無法由GSC網頁索引狀態報告獨立檢視重要網址的報告,而是全都混在一起
- 當網站有特別重要的網址(對SEO或業績很重要的文章、商品),可以為它們特別產出Sitemap,除了不會淹沒在Sitemap的眾多網址中,也能由網頁索引狀態報告更快的檢視這些重要網址的狀況
- Sitemap還可用來處理hreflang(Google的說明)、標準網址(參考連結)
- 建立圖片的Sitemap有助於Google爬取、索引網站圖檔,對圖片 SEO很重要
- 提交Sitemap非常之簡單,還可以跟Google明示哪些網址重要、要它去看,為何要選擇放牛吃草、聽天由命的態度來處理Google的爬取?
整體而言,在評估Sitemap的運用時,應該要考量到網址的架構、網址的多寡、GSC的網頁索引狀態報告,如果網站是只有兩三百個網址的部落格,Sitemap也許沒那麼重要,但是搭配GSC的網頁索引狀態報告,還是檢視網站爬取跟索引狀態的重要手段。
如果網站是超大型網站,內容跟架構很複雜,不用Sitemap提示Google哪些是重要網頁,就是要它自己慢慢逛、隨意逛,我們也很難知道它到底有沒有逛到重點網址。即使有Sitemap,大型網站的爬取跟索引也是個極大的挑戰,何況是這種佛系做法!
產出Sitemap
Sitemap對SEO來說至關重要,那要如何處出呢?如果是WordPress,自5.5版起已內建Sitemap,但這個太簡陋,建議使用Yoast SEO、Rank Math等等SEO外掛提供的Sitemap。
如果網站沒提供這功能、需要自行產生,有幾種方式:
- 使用Screaming Frog
- 這是一次性產出,若後續有增加新的內容就需要再產出一次Sitemap
- 免費版產出的Sitemap最多只有500筆網址,需要更多就是…付錢買付費版
- 產出檔案後要先上傳到根目錄來產生Sitemap路徑,才能提交給Google
- 使用線上工具
- 搜尋Sitemap Generator就可找到不少,通常免費版只會列出500筆網址
- 產出檔案後要先上傳到根目錄來產生Sitemap路徑,才能提交給Google
- 使用現成的工具套件:以上兩種都是一次性產出、Sitemap不會因為網站內容更新而伴隨更新,比較好的方式是佈署相關程式套件(例:Unlimited Sitemap Generator),讓系統具備產出、更新Sitemap的功能
- 自行開發:如果自行開發,要確保排除掉前述不能出現在Sitemap的網址
提交Sitemap
產出Sitemap並上傳到網站主機後,該如何讓Google知道呢?可行的有三種方式,但這邊只介紹兩個:
- 於Google Search Console提交Sitemap
- 這是最常見的提交網站地圖方式,完成之後便可以於Google Search Console的「網頁索引狀態」報告觀察Google處理這些網址的狀態並進行對應的處置
- 相關文章:SEO小教室|Google Search Console驗證與提交XML Sitemap教學
- 於robots.txt跟Google說Sitemap位址:
- 如果網址有使用robots.txt檔案,也可以在上面列出Sitemap位址,語法是固定的:「sitemap:網站地圖位址」
- 例:sitemap: https://www.leo-travel.idv.tw/sitemap_index.xml
以上兩種方式都可以讓Google知道Sitemap的存在,但唯有當我們於Google Search Console提交Sitemap之後才能知道Google的處理狀態,建議一定要在Google Search Console提交。
小結
以上是Sitemap的基本重點、更多介紹可參考Search Engine Journal的文章,接下來會介紹我如何用它來處理被轉址的網址、被Google判斷為錯誤但實際上可以讀取的網址,靈感來自於John Mueller的建議(他是Google的員工、跟SEO社群的主要窗口)。上面關於Sitemap與標準網址的關聯,也是來自於他的說明。
以Sitemap處理特殊網址
John Mueller曾經建議過可將有問題的網址加到一個獨立的Sitemap並提交出去,讓Google知道這些網址,有機會可加快處理速度(參考連結),過一陣子後再移除這Sitemap。這個建議蠻實用的,在經營網站時很容易遇到因為某些原因讓我們產生無效網址,轉址需求也很常見。例:
- 頁面刪除或下架
- 網址結構轉換(轉換系統時很常見):產生無效連結,須轉址處理
- 文章合併:須轉址處理
- 將部分內容切割到全新網站:須轉址處理
無法連線或被轉址的網址,理論上不應該存在於Sitemap上,因為這Sitemap是用來跟Google說網站有那些重要內容,讓它將索引資源集中在這些內容。通常我也是如此處理,不管是被轉址或下架,Google還是會爬取舊網址,到時就會知道它的最新狀態。
但是….確實蠻常發生被轉址或下架的網址過了一段時間還顯示在搜尋結果頁上,用網址檢查工具看,發現Google超久沒爬取這些網址,根本不知道它的最新狀態。這時就可以考慮為這些網址建立、提交Sitemap,讓Google爬取這些舊內容、更新它們的狀態。
案例:將部分內容切割到全新網站
以本站為例,初始內容全都來自Travel with Leo、約40 – 50篇文章,我為每篇文章建立轉址之後就將其變成草稿,而草稿是不會顯示在WordPress的Sitemap上(我是用Yoast SEO生成)。我為這些內容生成一份獨立的Sitemap、提交到Travel with Leo的Google Search Console,除了很明確的跟Google說這些網址需要它看,也可搭配網頁索引狀態報告,檢視Google的處理進度。
不這樣處理的話,這些舊網址不存在於任一份Sitemap,網站前台也看不到(是草稿),又沒有外連,只能靠Google心血來潮時重新爬取,太賭運氣了。觀察的狀況是Google已經處理這Sitemap上八成的網址,但處理後是「這是重複網頁;已提交的網址未獲選為標準網址」,而非「頁面會重新導向」,雖然也解釋得通,但很微妙。
Google不是會爬取新網站嗎?是的,它會爬取,但我的SEO是累積在舊網址,沒有這些舊網址以301轉址將原本的SEO權重挹注到新網站,我要花很長的一段時間才能於全新的網站重建SEO成效。
案例:網站多次改版、變更網址結構
我平常也會協助維護親人的網站,該網站經過多次開發,前兩次是客製開發,後兩次是WordPress相關,網址結構非常混亂,累積了不少無效連結。問題可以分成兩段:
- 客製開發轉WordPress:同網域但網址結構不一樣,雖然設定了轉址,但依然有漏網之魚Google沒處理
- 移轉到WordPress後網域間的切割:同上述WP & SEO的例子,就算設定完整、正確的轉址,也要Google去爬取舊網址才能有進一步的更新
綜合上面兩個問題,Google Search Console的網頁索引狀態報告就很精彩了,有不少過往的網址是停留在「檢索異常」、「已檢索 – 目前尚未建立索引」、「已提交的網址發生檢索問題」,即使有設定正確的301轉址。
這些檢索有問題的網址不代表它們真的該被索引,我建議可以仔細查看這些網址在網頁索引狀態報告的狀態,如果發現有重要的舊網址,可以考慮同WP & SEO的例子,為他們建立、提交Sitemap,看看可否讓索引狀態正常。這邊的正常不是指狀態是GSC網頁索引狀態報告的「有效」或「有效但出現警告」,而是「頁面會重新導向」或「這是重複網頁;已提交的網址未獲選為標準網址」。
提醒事項
- 不是每個網址都值得這樣做,如索引有問題的網址本身沒啥SEO價值、Google處不處理都無所謂,那就忽略吧
- 如果有問題的網址才一兩個,用網址檢查工具提交就好,不要殺雞用牛刀
- 所謂的「正確」要搭配你當下的情境與要解決的問題,以John Mueller舉的範例來說,他的目標是要讓Google去檢視已下架網址、將狀態變成404;而我這兩個例子的正確指的是Google去爬取我建立轉址的網址,將狀態變更為「頁面會重新導向」或「這是重複網頁;已提交的網址未獲選為標準網址」
- 最重要的一點:請想清楚自己想達成怎樣的目標,用怎樣的方式驗證是否達成,這才是真正的考驗。SEO有很多「It depends」,無法一概而論
- 覺得Google處理的差不多之後,請記得由GSC移除這些暫時性的Sitemap
其實….綜合這兩個例子,作法都是:
將「被轉址的網址」新增到一份暫時性的Sitemap,觀察Google的處理狀況。
以往我都是設定轉址後就不管它了,其實有點放牛吃草、聽天由命,不是很好,應該要好好利用Sitemap跟網頁索引狀態報告。當然,如果你發現網頁索引狀態報告有許多狀態是有問題的,Google也很久沒去看,也可用暫時性Sitemap處理,也是前面提到John Mueller的建議。
FAQ
根據WordPress官方說法,目前伴隨WordPress 5.5推出的Sitemap只包含Post、Page、Category、Tag,不包含Image、News、Video,也不包含WooCommerce的產品、產品分類,而這些在都包含在Yoast SEO的Sitemap內
根據Yoast SEO的官方說明,系統會自動停用WordPress 5.5內建的Sitemap,使用者不用做任何調整。至於其他SEO外掛如何處理,請自行搜尋相關文件
我是以付費版Screaming Frog產出包含特定網址的Sitemap(教學文章),免費版可以爬取500個網址並產出對應的Sitemap,但我不確定是否可以如同付費版一樣針對特定網址產出Sitemap
前面已經說過,Sitemap的用途不僅僅用來跟Google說明重要網址在哪,還可以協助我們快速的判斷重要網址的索引狀態、協助Google判斷標準網址,當然還是要提交。Google只是以「索引的角度」來說明「不一定」要提交,但索引僅是Sitemap的用途「之一」
結語
單單以小部落格索引的角度來看Sitemap,可能不會覺得它很重要,但它還牽涉到圖片索引、標準網址、hreflang等等SEO重要議題,而且….Sitemap的GSC網頁索引狀態報告無庸置疑的是SEO從業人員最需要關注的報表之一。再者,大型網站的爬取跟索引問題錯綜複雜,沒有Sitemap的協助,只能說是….用瞎子摸象或以管窺天的態度處理SEO的核心議題。
這篇的重點是XML Sitemap的運用方式,更多GSC的功能介紹請參考SEO小教室|Google Search Console簡介、基本功能說明、成效與索引報告使用建議。
延伸閱讀
- SEO小教室|數據分析神器-Looker Studio視覺化報表核心功能與用途分享
- SEO小教室|流量下滑分析-步驟一:以「指標」、「管道」、「時間段」釐清問題
- SEO小教室|電商網站常見重複性內容問題與建議處理方式
- SEO小教室|如何用標準網址Canonical Tag處理重複性內容、與301轉址的差異
- SEO小教室|301轉址懶人包-轉址簡介、開發注意事項、評估方式、替代方案
- SEO小教室|SEO成效評估重點指標與推薦工具分享
- WordPress|內容網站SEO – 網域與索引、重點功能、內容編輯等七大主題教學
- WordPress|必裝SEO外掛 – 超完整Yoast SEO設定教學
- SEO小教室|Screaming Frog報表教學:索引狀態、Meta文案、失效連結等四大項目
- SEO小教室|排名追蹤工具SE Ranking介紹:專案設定、關鍵字排名報表、篩選功能
- SEO小教室|2021年SEO元素週期表-內容、架構、HTML
- SEO小教室|Rand Fishkin(蘭德.費希金)2019年SEO排名要素研究報告讀後心得