Posted on 

解決 Google Search Console 抓不到 Hexo 放在 Github Pages 的 sitemap.xml 的問題

最近才將 Blog 的文章內容搬家到 Hexo,當然最在意的是 Google 搜不搜得到我的 Hexo 文章,所以我在 Google Search Console 中提交了 Sitemap,一開始提交時 Search Console 說無法擷取我的 Sitemap,我以為需要時間生效,所以就放著沒有管,直到兩個月後再去看還是無法擷取的狀況,只好搜尋解法,本來還搜不太到解法,好不容易搜尋到原來只要一個簡單的步驟就可以解決這個狀況,真的是搜尋很久,故藉著這篇文章篇幅讓大家更容易搜尋得到這個問題。

解法如下:
在你所屬的 {account}.github.io repository 新增一個空白檔案叫:.nojekyll

新增完後 Commit 推上 Github 等待 Github rebuild 你的 pages 即可。

你同時可以到 Google Search Console 去提交你的 Sitemap,但是 Github Pages 也是需要等待時間生效,提交後有可能還是無法擷取的狀態,如還是發生無法擷取,請等一天過後再到 Search Console 看有沒有擷取成功就好(通常應該過一下子或半天就可以了)。

就醬,很簡單。

But

推上之後,Hexo 在 deploy 時會把 .nojekyll 蓋掉,我們可以把 .nojekyll 新增在 source/ 目錄底下:

再來我們打開根目錄下的 _config.yml,找到 include files 的區域,將 - .nojekyll 加上:

再往下找 deploy 區域,將 ignore_hidden 改為 false

這樣在 hexo generate 時就會把 .nojekyll 檔案也一起移到 public 資料夾下等待 deploy,再執行 hexo deploy 就會推上 github 去囉。