Hexo博客收錄百度和谷歌-基于Next主題(應該是比較全面的一篇教程)
我們的博客做出來當然是希望別人來訪問,但是Github和Coding都做了防爬蟲處理,這樣子我們博客可能就無法被搜索引擎收錄,需要我們手動提交!
本教程基于Hexo博客框架,使用Next主題(其他主題舉一反三),博主本人已綁定自己的域名(在下文會點明區別,沒有太大影響);很多過程使用了Flow.ci進行自動構建!
原創文章,轉載請注明出處
你需要準備的
1.百度站長賬號;
沒有的申請,很簡單,跟百度分析一起使用挺好,不過分析的話還是推薦CNZZ,不過都掛上沒有壞處!
2.谷歌賬號:
谷歌賬號能夠享受所有的谷歌服務,當然也包括網站搜索分析服務!不過需要提前準備梯子!
3.Flow.ci用于自動構建網站地圖(推薦,非必須):
可參考這篇文章>>配置自動構建,本文會在這基礎之上進行提高!
4.最重要的是你有自己的博客!
驗證你的站點是否被收錄:
一般情況下你的站點是不能被搜到的!你可以用site驗證:
驗證百度:
site:www.oneonecity.xyz
域名換成你自己的,百度還支持site搜索么?如果沒有找到你的博客說明沒有被收錄!
驗證谷歌:
site:www.oneonecity.xyz
域名換成你自己的,谷歌是一定支持的,不過你需要梯子!如果沒有找到你的博客說明沒有被收錄!
收錄百度
措辭是不是有問題?就是你的網站被百度搜索收錄!
1.手動提交:
你可以手動提交你的站點到百度搜索,點這里>>,當然這種方法很麻煩,因為如果想讓每一篇文章都能被搜索到就需要把所有的頁面鏈接進行提交!
2.驗證網站所有權:
通過驗證之后百度會認為你是網站所有者,然后能做諸如自動推送、手動推送的高級功能!
點這里>>,輸入你的博客首頁地址(可以是自己的域名也可以是Coding或者Github的Pages頁面地址!),然后點擊下一步!
3.進行驗證:
這里有三種方法:文件驗證、HTML標簽驗證和CNAME驗證。下面分別說一下方法和適用范圍!
(1)文件驗證:
a.你需要做的是下載驗證文件:是一個html文件,里面存放著你的token信息!
b.然后將這個文件放在你的主題的根目錄下,之所以不放在source是因為Next主題在構建過程中會在驗證文件中加入很多東西影響驗證!
c.接下來就是編譯部署你的博客
hexo g -d
,如果你已經實現自動化部署的話只需要push你的原文件:
git add .
git commit -am "添加驗證文件"
git push origin master
關于自動部署,請移步這里>>
d.點擊點擊這里進行驗證,其實是你的博客首頁加了驗證文件路徑;
e.最后點擊完成驗證如果順利的話,是能夠完成!這種方法比較麻煩,不是很推薦!
(2)HTML標簽驗證:
這種方法需要根據不同的主題進行配置,博主使用的Next主題,其他主題可以自己摸索,原理一樣:都是將HTML驗證標簽加入到博客每個頁面的head里面!注意是紅框中完整的標簽,而不是一部分!
第一步:將該標簽(紅框中完整的,并非只是后面的token);
第二步:在Next主題配置文件(不是博客配置文件)開啟提交百度的選項:
# 此處設置成true之后,將themes/next/layout/_partials/head.swig
# 下把默認的百度和 google 驗證值替換為搜索引擎為你提供的完整HTML標簽即可
google_site_verification: true
baidu_site_verification: true
這里的名字google_site_verification:
可以隨便起,不過需要與后面的themes/next/layout/_partials/head.swig
中相對應,默認都是下劃線!
第三步:修改themes/next/layout/_partials/head.swig
,添加從百度獲取的完整的HTML驗證標簽,注意名字的對應!
{% if theme.baidu_site_verification %}
<meta name="baidu-site-verification" content="yourtoken" />
{% endif %}
第四步:同文件驗證的c.步驟:編譯部署你的博客!進入你的博客首頁或者任意文章,按F12,如果再head標簽中看到了驗證標簽,就可以了!
第五步:點擊驗證按鈕!,如果過程沒問題則會驗證成功!
(3)CNAME驗證,如果你綁定了自己的域名,這種方式是最簡單的!
第一步:你要有自己的域名并使用CNAME解析,如果沒有請移步這里>>
第二步:如圖添加一條新的CNAME解析:記錄類型是CNAME,主機記錄是你的token,,記錄值是zz.baidu.com,其他默認:
第三步:點擊驗證!這一種方法最簡單,推薦!
收錄谷歌:
HTML 標簽驗證,參考百度驗證!
{% if theme.google_site_verification %}
<meta name="google-site-verification" content="yourtoken" />
{% endif %}
生成站點地圖:
這一步很重要,通過構建網站地圖能夠讓搜索引擎更好的抓取你的網站內容!
1.安裝sitmap插件:
npm install hexo-generator-sitemap --save
npm install hexo-generator-baidu-sitemap --save
如果你搭建了基于Flow.ci的自動構建,請修改Flow.ci的自定義腳本:
# 安裝Hexo命令行工具
flow_cmd "npm install hexo-cli -g" --echo
flow_cmd "npm install hexo-generator-sitemap --save" --echo
flow_cmd "npm install hexo-generator-baidu-sitemap --save" --echo
# 準備并安裝私鑰
flow_cmd "cp .ssh/id_rsa ." --echo
flow_cmd "chmod 600 ./id_rsa" --echo
flow_cmd "eval $(ssh-agent)" --echo
flow_cmd "ssh-add ./id_rsa" --echo
# 執行Hexo生成和發布
flow_cmd "hexo clean" --echo
flow_cmd "hexo g" --echo
flow_cmd "hexo d" --echo
flow_result $?
2.修改博客配置文件:
a.修改URL為你博客首頁,這樣是為了保證生成的sitemap.xml文件中地址正確:
b.指定生成文件名及路徑,在配置文件最后添加一下代碼:
# 自動生成sitemap
sitemap:
path: sitemap.xml
baidusitemap:
path: baidusitemap.xml
c.執行構建hexo g
,正常情況下會在source文件夾下看到多出兩個文件:sitemap.xml
和baidusitemap.xml
,這就是sitemap文件。
此后等待搜索引擎抓取或者配置自動推送或者主動推送!
自動推送sitemap到百度:
基于Next主題,其他主題原理一樣:
修改主題配置文件
將baidu_push
狀態改成true
:
# Enable baidu push so that the blog will push the url to baidu automatically which is very helpful for SEO
baidu_push: true
修改baidu_push.swig:
位置是themes\next\layout\_scripts\baidu_push.swig
,添加以下代碼(代碼來自百度自動推送):
{% if theme.baidu_push %}
<script>
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
</script>
{% endif %}
這樣子的話每次訪問博客中的頁面會自動向百度提交。
提交Google站點地圖:
添加/測試站點地圖
點此>>進入Google Search Console控制臺,需要翻墻。
點擊你的站點,如果沒有請先添加站點;
然后點擊控制臺-->抓取-->站點地圖,點擊右上角添加/測試站點地圖按鈕,將你的sitemap.xml提交測試,測試成功之后重復該步驟進行添加!
幫助文檔>>
主動推送到百度:
該過程配合Flow.ci實現起來很方便,單獨開篇,點此跳轉>>
任何問題,歡迎討論!