1. 程式人生 > >hexo部落格收錄

hexo部落格收錄

前言

能看到這裡,說明大家都跟我一樣,已經把部落格搭起來並洋洋灑灑寫了幾篇博文,正春風得意感覺良好的時候,搭建部落格有屎以來最大的危機出現在沒有準備的我面前,百度+谷歌都無法搜尋到我的部落格。裝逼還沒幾天就這樣,真是不能忍。<!-- more --> 於是就研究了幾天,鼓搗出了這篇文章。教大家如何脫坑。

正文

下面準備分別介紹谷歌和百度如何提交搜尋引擎,其中有一些共同的地方,這裡先說明

先確認部落格是否被收錄

在百度或者谷歌上面輸入下面格式來判斷,如果能搜尋到就說明被收錄,否則就沒有,用你的域名替代我的tengj.top

site:tengj.top

我目前搜尋結果如圖:



驗證網站

兩個搜尋引擎入口:

為什麼要驗證網站  
站長平臺推薦站長新增主站(您網站的連結也許會使用www 和非 www 兩種網址,建議新增使用者能夠真實訪問到的網址),新增並驗證後,可證明您是該域名的擁有者,可以快捷批量新增子站點,檢視所有子站資料,無需再一一驗證您的子站點。
如何驗證網站
首先如果您的網站已使用了百度統計,您可以使用統計賬號登入平臺,或者繫結站長平臺與百度統計賬號,站長平臺支援您批量匯入百度統計中的站點,您不需要再對網站進行驗證。
百度站長平臺為未使用百度統計的站點提供三種驗證方式:檔案驗證、html標籤驗證、CNAME驗證
  1.檔案驗證:您需要下載驗證檔案,將檔案上傳至您的伺服器,放置於域名根目錄下。
  2.html標籤驗證:將html標籤新增至網站首頁html程式碼的<head>標籤與</head>標籤之間。
  3.CNAME驗證:您需要登入域名提供商或託管服務提供商的網站,新增新的DNS記錄。
驗證完成後,我們將會認為您是網站的擁有者。為使您的網站一直保持驗證通過的狀態,請保留驗證的檔案、html標籤或CNAME記錄,我們會去定期檢查驗證記錄。



不管谷歌還是百度都要先新增域名,然後驗證網站,這裡統一都使用檔案驗證,就是下載對應的html檔案,放到域名根目錄下,也就收部落格根目錄下的source下面



站點地圖

站點地圖是一種檔案,您可以通過該檔案列出您網站上的網頁,從而將您網站內容的組織架構告知Google和其他搜尋引擎。Googlebot等搜尋引擎網頁抓取工具會讀取此檔案,以便更加智慧地抓取您的網站。

我們要先安裝一下,開啟你的hexo部落格根目錄,分別用下面兩個命令來安裝針對谷歌和百度的外掛

npm install hexo-generator-sitemap --save
npm install hexo-generator-baidu-sitemap --save

在部落格目錄的_config.yml中新增如下程式碼(我不加也可以)

# 自動生成sitemap
sitemap:
path: sitemap.xml
baidusitemap:
path: baidusitemap.xml

編譯你的部落格

hexo g

如果你在你的部落格根目錄的public下面發現生成了sitemap.xml以及baidusitemap.xml就表示成功了。
這時候sitemap.xmlbaidusitemap.xml裡面的內容一樣,但是文章連結都是tengj.github.io的,這裡我就很奇怪了,我部落格同時對應github和coding的,為啥生成的sitemap.xml對應的域名都指向了github,sitemap.xml我是要提交谷歌的,對應github的域名沒問題,但是baidusitemap.xml裡面域名還對應github問題就大了,因為github禁止了百度爬蟲,提交了百度也是不會訪問的。所以我把baidusitemap.xml裡面的改成了我的個人域名tengj.top,因為國內使用者訪問tengj.top其實是訪問coding上面。
部署後你分別訪問
http://tengj.top/sitemap.xml
http://tengj.top/baidusitemap.xml
效果如下圖:



讓谷歌收錄我們的部落格

谷歌操作比較簡單,就是向Google站長工具提交sitemap

登入Google賬號,添加了站點驗證通過後,選擇站點,之後在抓取——站點地圖中就能看到新增/測試站點地圖,如下圖:


谷歌我提交過了一天就能搜尋到我的部落格了,效率很高。

讓百度收錄我們的部落格

谷歌很好搞定,百度就感覺很難,我從提交百度到現在寫這篇部落格,在百度那邊也只能搜尋到一條我的部落格,真不容易。
正常情況,是要等百度爬蟲來爬到你的網站,才會被收錄。
但是github遮蔽了百度爬蟲目前,所以我們要主動出擊,我們自己把網站提交給百度。
這就要使用到百度站長平臺

驗證網站

驗證網站最上面提過了,這裡直接截圖




網頁抓取

上面步驟成功後,進入站點管理,找到網頁抓取這邊詳情點進去


我們主動提交部落格文章連結

如何選擇連結提交方式
1、主動推送:最為快速的提交方式,推薦您將站點當天新產出連結立即通過此方式推送給百度,以保證新連結可以及時被百度收錄。
2、自動推送:最為便捷的提交方式,請將自動推送的JS程式碼部署在站點的每一個頁面原始碼中,部署程式碼的頁面在每次被瀏覽時,連結會被自動推送給百度。可以與主動推送配合使用。
3、sitemap:您可以定期將網站連結放到sitemap中,然後將sitemap提交給百度。百度會週期性的抓取檢查您提交的sitemap,對其中的連結進行處理,但收錄速度慢於主動推送。
4、手動提交:一次性提交連結給百度,可以使用此種方式。

一般主動提交比手動提交效果好,這裡介紹主動提交的三種方法

從效率上來說:

主動推送>自動推送>sitemap

主動推送

主動推送是百度搜索為站長們快速提交資料針對性開發的最快捷工具,但是也最難,沒有程式碼功底的小夥伴估計就不會了。
沒事,博主既然寫了這篇部落格就表示博主找到方法了,我自己用java寫了個post的推送示例,部署到了coding,我也不知道能部署多久,好像部署在coding的演示那邊每天都會扣除碼幣。
地址:戳我

說明

選擇資料型別,預設推送資料,也有更新資料,刪除資料。後面2個一般用不到
填寫站點,也就是你的域名,我的是tengj.top
填寫token,token在主動推送例子那邊有一串。實在找不到就按下CTRL+F查詢token
填寫文章地址,填寫你要提交的文章連結,每行一條記錄

成功提示:


地址錯誤提示:


自動推送

自動推送很簡單,就是在你程式碼裡面嵌入自動推送JS程式碼,在頁面被訪問時,頁面URL將立即被推送給百度
程式碼如下:

<script>
(function(){
    var bp = document.createElement('script');
    bp.src = '//push.zhanzhang.baidu.com/push.js';
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
})();
</script>

我是放在\themes\jacman\layout\_partial\after_footer.ejs中,新增到下面就行。

sitemap提交

sitemap提交最上面提過了,直接提交http://tengj.top/baidusitemap.xml 就行,大家看下圖就知道,一開始我是提交 sitemap.xml,裡面是指向github的,結果主域校驗失敗了,後來切換到指向tengj.top域名的baidusitemap.xml就提交成功。


最後大家看下我最近提交的情況


為什麼自動推送可以更快的將頁面推送給百度搜索?基於自動推送的實現原理問題,當新頁面每次被瀏覽時,頁面URL會自動推送給百度,無需站長彙總URL再進行主動推送操作。
藉助使用者的瀏覽行為來觸發推送動作,省去了站長人工操作的時間。
自動推送和連結提交有什麼區別?已經在使用連結提交的網站還需要再部署自動推送程式碼嗎?
二者之間互不衝突,互為補充。已經使用主動推送的站點,依然可以部署自動推送的JS程式碼,二者一起使用。
什麼樣的網站更適合使用自動推送?自動推送由於實現便捷和後續維護成本低的特點,適合技術能力相對薄弱,無能力支援全天候實時主動推送程式的站長。
站長僅需一次部署自動推送JS程式碼的操作,就可以實現新頁面被瀏覽即推送的效果,低成本實現連結自動提交。
同時,我們也支援主動推送和自動推送程式碼配合使用,二者互不影響。

參考

總結

寫了3個小時終於寫差不多了,很早就想寫這篇的,結果百度不給力,一直不給收錄所以拖到今天,昨天花了點時間寫了下主動推送的介面方便大家,地址上面有。
3月8號 分別用sitemapbaidusitemap提交到谷歌和百度
3月9號 谷歌的收錄了,可以搜尋到我的部落格
3月10號 百度收錄了

這麼辛苦~大家不覺得應該打賞一下麼~~~

更多教程可以來我嘟嘟獨立部落格裡面看到

最近擼了個java的公眾號,學習資源超級多,視訊,電子書,最新開發工具一個都不能少,已全部分享到百度雲盤,求資源共享,打造一個學習方便,工作方便的java公眾號,開源開源,有需求的可以關注~撒花



文/嘟嘟MD(簡書作者)
原文連結:http://www.jianshu.com/p/619dab2d3c08
著作權歸作者所有,轉載請聯絡作者獲得授權,並標註“簡書作者”。