谷歌搜尋社群的用戶XQ詢問:新增的網站地圖Sitemap,顯示無法讀取此網站地圖
- 網站地圖網址:https://yqksp.tk/sitemap.xml
- Robots網址:https://yqksp.tk/robots.txt
這邊從用戶XQ 提供的網站地圖仔細來查看,有三個問題
- 檢查XML格式是否正確
- 提交的網址是否為https
- 提交的網址,網頁是否有宣告標準網址 rel-canonical
- 提交的網址,是否有通過Mobile Friendly 測試
- 濫用網站地圖參數:頻率<changefreq>、優先權<priority>
文章目錄
檢查XML 格式錯誤
Google 搜尋中心有推薦的XML 格式,然而免費的XML 生成工具常常在一開始的XML 格式上就有問題
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/foo.html</loc>
<lastmod>2018-06-04</lastmod>
</url>
</urlset>
網站地圖的網址<loc>必須https
從這邊的網站地圖格式中可以發現,提交的網址裡面為http,但是存取網站的時候卻都是https,因此<loc>裡面應該更改為https,Google也是建議使用https 有加密的網址
網站地圖的網址,是否有宣告標準網址 rel-canonical
比如Siteamp 提交的網址:https://example.com/dresses/green-dresses,同時也要在網頁<head>之間,放置標準化網址,語法範本如下:
網頁標準網址是什麼?
這是告知Google,你的網頁標準網址是哪個,這是為了移除重複的內容,比如當網址使用了?utm 來去追蹤廣告成效,若沒有透過rel-canonical 來宣告標準化網址,Google 則會認定這是另一個網頁,但是內容卻相同,就會被判定是重複內容,而導致排名下降
<link rel="canonical" href="https://example.com/dresses/green-dresses" />
濫用網站地圖參數:頻率<changefreq>、優先權<priority>
首先Google 會忽略 <priority>
和 <changefreq>
值
如果要使用<changefreq> 不應該每個網址都是always,應該要分層,比如首頁是<daily> 每天都會更新,其他網頁依照實際更新頻率來設定,比如文章,產品頁面是每週更新應標記<weekly>,不常使用的網頁應標記<monthly>即可
若每個網頁的更新頻率都設定一樣,爬蟲反而會覺得沒有參考價值,那乾脆不要使用這個參數,這邊的參數只是給爬蟲做參考,爬蟲還是會自行決定爬取得頻率
Google 會使用 <lastmod>
值來去檢查是否需要重新爬取
反而Google 會使用<lastmod> 的值,來比對上次爬取得時間與網頁的最近更新日期,判斷是否需要再次抓取最新的內容。
Google 搜索中心延伸資源:
歡迎到Google 搜索社群上發問與學習