首先嘗試在google搜索 site:你的域名
,來確認你的BLOG有沒有被收錄,能搜索到代表有被收錄,若無則沒有。
一般優化
文章鏈接優化
請參考:Hexo 搭建系列 - Hexo-Abbrlink插件 永久鏈接
增加 nofollow標籤
這是反垃圾鏈接標籤,用於指示搜尋引擎不要抓取網頁上帶有nofollow標籤的任何出站鏈接,減少垃圾鏈接分散網站權重。
你可以使用 hexo-filter-nofollow 插件。
添加robots.txt
在./source新建robots.txt 填寫以下內容:
1 | User-agent: * |
User-agent: *
表示運行所有的搜尋引擎,你也可以設定只允許特定的搜尋引擎爬取,例如User-agent: Googlebot
Allow
表示允許被訪問的,Disallow
是不允許的意思。Disallow
不添加任何路徑就表示運行爬取任何內容。
(若要Disallow多個資料夾或檔案,需要分成多行來寫,一行只能寫一個)
關鍵詞與描述
在\scaffolds\post.md
中添加如下代碼,用於生成的文章中添加關鍵字和描述。
1 | keywords: |
Sitemap
「Sitemap」是一種檔案,您可以在其中提供網站中網頁、影片和其他檔案的相關資訊,並說明各種網頁和檔案之間的關係。Google 這類搜尋引擎會讀取Sitemap 檔案,以更靈活的方式檢索您的網站。 Sitemap會向檢索器顯示您認為網站上的哪些檔案較為重要,並針對這類檔案提供有價值的資訊:舉例來說,Sitemap會針對網頁提供最近更新時間、變更頻率以及替代語言版本等相關資訊。
您可以透過下列幾種方式讓 Google 存取您的 Sitemap:
- 使用
Search Console Sitemap
工具向 Google 提交 Sitemap - 在
robots.txt
檔案中任一處插入以下這一行字元,指定 Sitemap 的路徑。
1 | Sitemap: http://example.com/sitemap.xml |
- 透過「連線偵測 (ping)」功能要求 Google 檢索您的 Sitemap。請按照下列方式傳送 HTTP GET 要求:
1 | http://www.google.com/ping?sitemap=<complete_url_of_sitemap> |
例如:
1 | http://www.google.com/ping?sitemap=https://example.com/sitemap.xml |
STEP 1
安裝hexo-sitemap-generator外掛可以自動幫你的BLOG產生Sitemap.xml,你只需要打開BLOG根目錄Git Bash輸入以下指令:
1 | npm install hexo-generator-sitemap --save |
安裝完後瀏覽你的 網址/sitemap.xml,就會發現已經生成了。可以把sitemap提交到GSC來增加收錄。
STEP 2
設定config.yml。
1 | sitemap: |
STEP 3
註冊Google Search Console https://search.google.com/search-console/about?hl=zh-tw
使用google帳號登陸即可。
貼上BLOG網址點擊「繼續」,因為我已經加入Google Analytics到我的BLOG,所以我可以通過Google Analytics帳號來驗證。
你也可以在 [設定 - 擁有權驗證 - 其他驗證方法] 使用其他方法驗證。
STEP 4
到 [Google Search Console後台 - Sitemap - 新增Sitemap] 填寫sitemap.xml
。
等待幾天就能夠在google上搜尋到自己的網站了。
Google無法讀取sitemap(一般的HTTP錯誤) 解決方式
我剛開始提交sitemap的時候試了無數次發現總是出現
無法讀取 Sitemap ,一般的 HTTP 錯誤
這個錯誤,為此我在google上查找了許久都沒有找到解決方式,於是我開始閱讀 google的sitemap說明,在Sitemap 格式處發現了問題所在。
若你跟我有一樣的問題,你可以打開 你的網址/sitemap.xml
查看你的時間格式是否為 <lastmod>2019-09-29T09:52:32Z</lastmod>
你能發現跟官方的<lastmod>2018-06-04</lastmod>
差在多了後面多了T時分秒Z…等一些沒必要的格式,我猜這就是問題所在,
於是google搜尋了解決辦法,參考Convert an ISO date to the date format yyyy-mm-dd in JavaScript
找到了解決辦法。
以下是解決方式:
打開 .\node_modules\hexo-generator-sitemap\sitemap.xml 在
1 | post.updated.toISOString() |
後方加上
1 | .substring(0, 10) |
substring(Start,End) 意思是擷取從0開始到9位數(End位數不會擷取),本來是2019-09-29T09:52:32Z,就只會擷取到2019-09-29,這樣就是官方所要求的格式。
重新提交sitemap之後等待一會就會顯示成功了。
現在已經能在google搜尋到我的網站了。
參考資料
hexo-generator-sitemap
Hexo 优化:提交 sitemap 及解决百度爬虫无法抓取 GitHub Pages 链接问题
Hexo做SEO优化遇到的坑
Hexo Seo优化让你的博客在google搜索排名第一
管理您的 Sitemap,建立並提交 Sitemap
Convert an ISO date to the date format yyyy-mm-dd in JavaScript