個(gè)人博客搭建完成,就算在互聯(lián)網(wǎng)的世界里安了一個(gè)家变骡。從阿里云的萬網(wǎng)申請到了域名衔蹲,我們的家也就有了門牌號肢娘。然而,要在茫茫人海中被人發(fā)現(xiàn)踪危,僅僅靠口口相傳是不夠的蔬浙。我們需要在黃頁上登記自己的住址和成員,這樣贞远,有緣人才能登門拜訪畴博。
百度
1.生成sitemap
針對百度和谷歌,分別有兩種hexo插件蓝仲,hexo-generator-sitemap是傳統(tǒng)的sitemap俱病,可供谷歌使用;hexo-generator-baidu-sitemap則是針對百度袱结。
npm install hexo-generator-sitemap --save-dev
npm install hexo-generator-baidu-sitemap --save-dev
安裝完成后亮隙,重啟hexo,執(zhí)行hexo g后垢夹,在public目錄下生成對應(yīng)的xml文件溢吻。本地可以通過http://127.0.0.4000/sitemap.xml
和 http://127.0.0.4000/baidusitemap.xml
訪問到sitemap文件。
2.注冊百度站長平臺
有百度賬號即可
3.添加個(gè)人站點(diǎn)
進(jìn)入站點(diǎn)管理果元,添加網(wǎng)站促王,主要障礙在第二步的驗(yàn)證,方式有三:文件而晒、html標(biāo)簽和cname蝇狼。由于hexo會在生成編譯文件的過程中,修改html文件內(nèi)容倡怎,導(dǎo)致百度驗(yàn)證失敗迅耘,因此,不建議再踩一遍這個(gè)坑监署。
由于域名是我在萬網(wǎng)上注冊的颤专,所以選擇cname的方式。過程如下:
- 進(jìn)入萬網(wǎng)云解析管理平臺钠乏;
- 添加解析>記錄類型(CNAME)栖秕,填寫表單,兩項(xiàng)必填:
- 主機(jī):就是他給你的帶有自身網(wǎng)站后綴的域名
- 記錄值:ziyuan.baidu.com
4.提交sitemap
回到鏈接提交處缓熟,選擇自己的站點(diǎn)網(wǎng)址累魔。找到自動提交摔笤,選擇sitemap,按照提示的格式添加自己的sitemap文件
5.新增蜘蛛?yún)f(xié)議
新建robots.txt文件垦写,添加以下文件內(nèi)容吕世,把robots.txt放在hexo站點(diǎn)的source文件下。
# hexo robots.txt
User-agent: * Allow: /
Allow: /archives/
Disallow: /vendors/
Disallow: /js/
Disallow: /css/
Disallow: /fonts/
Disallow: /vendors/
Disallow: /fancybox/
Sitemap: http://dadroid.cn/sitemap.xml
Sitemap: http://dadroid.cn/baidusitemap.xml
然后去百度站長平臺檢測robots
文件是否生效梯投。
However
掛了好幾天命辖,發(fā)現(xiàn)百度依然收錄不了我的站點(diǎn),登錄平臺查看抓取診斷
->抓取一次
分蓖,錯(cuò)誤信息如下:
HTTP/1.1 403 Forbidden
Cache-Control: no-cache
Content-Type: text/html
Transfer-Encoding: chunked
Accept-Ranges: bytes
Date: Thu, 03 May 2018 05:57:37 GMT
Via: 1.1 varnish
Connection: close
X-Served-By: cache-hnd18744-HND
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1525327058.780403,VS0,VE113
Vary: Accept-Encoding
X-Fastly-Request-ID: 7333aaaa3853b41672517dffa1a85e843dcbcdb4
可以看出該錯(cuò)誤是拒絕訪問
尔艇,根據(jù)百度提供的信息可知
{% blockquote %}
【訪問遭拒絕】
一般情況下,百度會通過跟蹤網(wǎng)頁間的鏈接來查找內(nèi)容么鹤。百度spider必須能夠訪問某個(gè)網(wǎng)頁才能抓取該網(wǎng)頁终娃。如果您意外地看到了“訪問遭拒”錯(cuò)誤,可能是由于以下幾種原因?qū)е碌模?br>
(1)百度spider無法訪問您網(wǎng)站上的網(wǎng)址蒸甜,因?yàn)槟W(wǎng)站上的所有或部分內(nèi)容要求用戶登錄后才能查看棠耕。
(2)您的服務(wù)器要求用戶使用代理進(jìn)行身份驗(yàn)證,或者您的托管服務(wù)提供商阻止百度spider訪問您的網(wǎng)站柠新。
{% endblockquote %}
說明我們托管在github pages
上的博客禁止百度爬蟲的訪問窍荧。那么我們有什么辦法能讓百度收錄我們的頁面呢?
- 托管在國內(nèi)平臺恨憎,如coding
- 采用主動/手動提交鏈接
由于coding綁定自定義域名免費(fèi)模式會被攔截蕊退,顯示coding的廣告,既影響爬蟲抓取站點(diǎn)內(nèi)容憔恳,也影響美觀瓤荔,因此嘗試過后便放棄了。下面介紹使用hexo自動提交鏈接的插件喇嘱。
前提
注冊百度站長工具茉贡,然后在工具->網(wǎng)頁抓取->鏈接提交里找到你的密匙塞栅。
hexo-baidu-url-submit
首先者铜,在Hexo根目錄下,安裝本插件:
npm install hexo-baidu-url-submit --save
然后放椰,同樣在根目錄下作烟,把以下內(nèi)容配置到_config.yml文件中:
baidu_url_submit:
count: 1 ## 提交最新的一個(gè)鏈接
host: www.hui-wang.info ## 在百度站長平臺中注冊的域名
token: your_token ## 請注意這是您的秘鑰,所以請不要把博客源代碼發(fā)布在公眾倉庫里!
path: baidu_urls.txt ## 文本文檔的地址砾医, 新鏈接會保存在此文本文檔里
其次拿撩,記得查看_config.ym文件中url的值, 必須包含是百度站長平臺注冊的域名(一般有www)如蚜, 比如:
# URL
url: http://www.dadroid.cn
root: /
permalink:
最后压恒,加入新的deployer:
deploy:
- type: git ## 這是我原來的deployer
- type: baidu_url_submitter ## 這是新加的
實(shí)現(xiàn)原理
- 新鏈接的產(chǎn)生影暴,
hexo generate
會產(chǎn)生一個(gè)文本文件,里面包含最新的鏈接 - 新鏈接的提交探赫,
hexo deploy
會從上述文件中讀取鏈接型宙,提交至百度搜索引擎
谷歌
步驟1——5與百度大同小異,以下介紹一些不同點(diǎn):
1.注冊Google Search Console
鏈接:https://www.google.com/webmasters/
2.抓取方式
完成robost檢測后伦吠,點(diǎn)擊左側(cè)的Google抓取方式
妆兑。
在這里我們填上我們需要抓取的url,不填這表示抓取首頁毛仪,抓取方式可以選擇桌面搁嗓,智能手機(jī),自行根據(jù)需要選擇箱靴。填好url之后腺逛,點(diǎn)擊抓取。
然后可能會出現(xiàn)幾種情況衡怀,如:完成屉来、部分完成、重定向等狈癞,自由這三種情況是可以提交的茄靠。
提交完成后,提交至索引蝶桶,根據(jù)提示操作就可以了
hexo優(yōu)化
修改文章鏈接
Hexo默認(rèn)的文章鏈接形式是一個(gè)四級url——domain/year/month/day/postname
慨绳,可能造成url過長,對搜索引擎是十分不友好真竖。我們可以改成domain/postname
的形式脐雪,編輯站點(diǎn)_config.yml文件,修改permalink字段改為permalink: :title.html
即可恢共。
keywords 和 description
在hexo工程根目錄下的\scaffolds\post.md
中添加如下代碼战秋,用于生成的文章中添加關(guān)鍵字和描述。
keywords:
description:
給出站鏈接添加 “nofollow” 標(biāo)簽
網(wǎng)絡(luò)爬蟲可能在搜索當(dāng)前頁面的所有鏈接時(shí)讨韭,跳到別的網(wǎng)站回不來了脂信。因此,需要nofollow
標(biāo)簽發(fā)揮作用透硝。
nofollow
標(biāo)簽是由谷歌領(lǐng)頭創(chuàng)新的一個(gè)“反垃圾鏈接”的標(biāo)簽狰闪,并被百度、yahoo等各大搜索引擎廣泛支持濒生,引用nofollow
標(biāo)簽的目的是:用于指示搜索引擎不要追蹤(即抓嚷癖谩)網(wǎng)頁上帶有nofollow
屬性的任何出站鏈接,以減少垃圾鏈接的分散網(wǎng)站權(quán)重。
Hexo的Next主題需要改以下幾個(gè)地方:
- 找到
footer.swig
丽声,路徑在your-hexo-site\themes\next\layout\_partials
礁蔗,將下面代碼中的a標(biāo)簽
加上rel="external nofollow"
屬性;
{{ __('footer.powered', '<a class="theme-link" ) }}
<a class="theme-link" >
- 修改
sidebar.swig
文件雁社,路徑在your-hexo-site\themes\next\layout_macro
瘦麸,將下面代碼中的a標(biāo)簽
加上rel="external nofollow"
屬性;
<a href="{{ link }}" target="_blank">{{ name }}</a>
<a href="http://creativecommons.org/licenses/{{ theme.creative_commons }}/4.0" class="cc-opacity" target="_blank">
首頁title的優(yōu)化
更改index.swig
文件歧胁,文件路徑是your-hexo-site\themes\next\layout
滋饲,將下面代碼:
{% block title %} {{ config.title }} {% endblock %}
改為:
{% block title %} {{ config.title }} - {{ theme.description }} {% endblock %}
原文鏈接: 大卓の哆啦A夢