前言
博客已經(jīng)寫(xiě)了一段時(shí)間,這幾天看到小伙伴在群上貼了一張圖侮叮,大體是關(guān)于:在Google搜索某個(gè)關(guān)鍵字避矢,可以在前幾條記錄里面找到他的博客內(nèi)容。于是我抱著試一試的心態(tài)囊榜,在Google上搜了下自己博客里的一些關(guān)鍵字审胸,效果出乎意料的好!但當(dāng)我用百度卸勺,好搜砂沛,神馬之類的國(guó)內(nèi)搜索引擎,搜索同樣的關(guān)鍵字曙求,卻幾乎看不到任何博客信息尺上。
Google搜索效果
搜索以下幾個(gè)關(guān)鍵字,都可以在前面幾條可以找到我的博客圆到!
搜索"xtutu"
搜索"游戲產(chǎn)品 客戶端"
搜索"游戲 轉(zhuǎn)盤(pán) 算法"
搜索"服務(wù)端架構(gòu) 思考"
搜索"c++ 添加 lua"
手動(dòng)提交sitemap
畢竟在國(guó)內(nèi),百度更加符合國(guó)人的口味卑吭,而且近一段時(shí)間百度首頁(yè)也做了很多改版芽淡,比如我的關(guān)注、推薦等等豆赏,看新聞的確是方便了不少挣菲。
既然百度無(wú)法主動(dòng)搜索到我的網(wǎng)站,只能靠我們自己把網(wǎng)站信息手動(dòng)提交給百度了掷邦!
地址
同理白胀,好搜,神馬搜索都可以自己手動(dòng)來(lái)提交網(wǎng)站的sitemap抚岗。
但是;蚋堋!宣蔚!
然后百度居然不支持hexo的sitemapO蚯馈!胚委!
解決方法
好在百度還支持主動(dòng)推送挟鸠,所以只好自己寫(xiě)腳本把網(wǎng)站的sitemap.xml解析成百度支持的格式,然后再發(fā)給ta亩冬。
代碼如下艘希,注意配置這塊改成自己的。自己的信息可以從這里找到,就是圖中的接口調(diào)用地址覆享。
# !/usr/bin/env python
# coding=utf8
import urllib2
import urllib
from xml.dom import minidom
def get_nodevalue(node, index = 0):
return node.childNodes[index].nodeValue if node else ''
# 配置信息
# 如果sitemap中的地址是xtutu.me佳遂,當(dāng)設(shè)為True的時(shí)候,就會(huì)自動(dòng)把地址補(bǔ)為www.xtutu.me
needAddWWW = False
sitemapUrl = "http://www.xtutu.me/sitemap.xml"
baiduUrl = "http://data.zz.baidu.com/urls?site=www.xtutu.me&token=xxxxxxxxxxxxxx&type=original"
# 獲取并解析xml文件
linksStr = ""
req = urllib2.urlopen(sitemapUrl)
xmlVal = req.read()
doc = minidom.parseString(xmlVal)
root = doc.documentElement
urlSet = root.getElementsByTagName('url')
for node in urlSet:
urlString = get_nodevalue(node.getElementsByTagName('loc')[0]).encode('utf-8','ignore')
if needAddWWW: # 判斷是否需添加www字段
urlString = urlString.replace("://", "://www.")
linksStr = linksStr + urlString + "\n"
print linksStr
# 發(fā)送xml文件給百度
req = urllib2.urlopen(baiduUrl, linksStr)
content = req.read()
print content
raw_input("Press ENTER to exit")
輸出結(jié)果
http://www.xtutu.me/search-engine-and-my-website/
http://www.xtutu.me/baidu_verify_4Lm08kj7TJ.html
http://www.xtutu.me/egret-graphics-draw-optimize/
http://www.xtutu.me/game-wheel-lottery/
http://www.xtutu.me/think-about-server/
http://www.xtutu.me/helloworld/
http://www.xtutu.me/typescript-javascript-compare/
http://www.xtutu.me/egret-source-part-mainloop/
http://www.xtutu.me/egret-source-part-render/
http://www.xtutu.me/how-to-create-a-good-game-for-client-programmer/
http://www.xtutu.me/python-script-to-upload-directory-from-windows-to-a-linux-server-achieving-one-click-deployment/
http://www.xtutu.me/the-date-object-in-js/
http://www.xtutu.me/coffeescript-javascript-compare/
http://www.xtutu.me/add-lua-support-for-cplusplus-project/
http://www.xtutu.me/categories/index.html
http://www.xtutu.me/tags/index.html
http://www.xtutu.me/egret/
http://www.xtutu.me/about/index.html
http://www.xtutu.me/404.html
{"remain":387,"success":19}
代碼地址
https://github.com/xtutu/util-script
百度淹真,我只能幫你到這里了
后記
好搜讶迁,神馬在提交了sitemap之后,搜索結(jié)果的確是有了不少改善核蘸,但是還是沒(méi)有g(shù)oogle那么精準(zhǔn)巍糯。
至于百度。客扎。祟峦。搜索結(jié)果依舊毫無(wú)改善。
查了下資料徙鱼,才發(fā)現(xiàn)居然是因?yàn)镚ithub主動(dòng)屏蔽了來(lái)自于BaiduSpider的請(qǐng)求宅楞。- -!
不過(guò)這一情況可以通過(guò)CDN(國(guó)內(nèi)的很多平臺(tái)都需要備案)來(lái)解決袱吆,可以參考以下這篇文章:
http://www.dozer.cc/2015/06/github-pages-and-cdn.html
目前我是把博客移到了gitcafe上厌衙。。绞绒。但是即使我做了這么多婶希,百度依舊搜不到我的博客,看來(lái)只能慢慢等百度收錄了蓬衡。喻杈。。
本文同步發(fā)表在個(gè)人網(wǎng)站xtutu.me