前言
博客已经写了一段时间,这几天看到小伙伴在群上贴了一张图,大体是关于:在Google搜索某个关键字,可以在前几条记录里面找到他的博客内容。于是我抱着试一试的心态,在Google上搜了下自己博客里的一些关键字,效果出乎意料的好!但当我用百度,好搜,神马之类的国内搜索引擎,搜索同样的关键字,却几乎看不到任何博客信息。
Google搜索效果
搜索以下几个关键字,都可以在前面几条可以找到我的博客!
搜索”xtutu”
搜索”游戏产品 客户端”
搜索”游戏 转盘 算法”
搜索”服务端架构 思考”
搜索”c++ 添加 lua”
手动提交sitemap
毕竟在国内,百度的用户还是不少的。
既然百度无法主动搜索到我的网站,只能靠我们自己把网站信息手动提交给百度了!
地址
同理,好搜,神马搜索都可以自己手动来提交网站的sitemap。
但是!!!
然后百度居然不支持hexo的sitemap!!!
解决方法
好在百度还支持主动推送,所以只好自己写脚本把网站的sitemap.xml解析成百度支持的格式,然后再发给ta。
代码如下,注意配置这块改成自己的。自己的信息可以从这里找到,就是图中的接口调用地址。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
import urllib2 import urllib from xml.dom import minidom
def get_nodevalue(node, index = 0): return node.childNodes[index].nodeValue if node else ''
needAddWWW = False sitemapUrl = "http://xtutu.github.io/sitemap.xml"
baiduUrl = "http://data.zz.baidu.com/urls?site=www.xtutu.me&token=xxxxxxxxxxxxxxxx"
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: urlString = urlString.replace("://", "://www.") linksStr = linksStr + urlString + "\n" print linksStr
req = urllib2.urlopen(baiduUrl, linksStr) content = req.read() print content
raw_input("Press ENTER to exit")
|
输出结果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| http://xtutu.github.io/search-engine-and-my-website/ http://xtutu.github.io/baidu_verify_4Lm08kj7TJ.html http://xtutu.github.io/egret-graphics-draw-optimize/ http://xtutu.github.io/game-wheel-lottery/ http://xtutu.github.io/think-about-server/ http://xtutu.github.io/helloworld/ http://xtutu.github.io/typescript-javascript-compare/ http://xtutu.github.io/egret-source-part-mainloop/ http://xtutu.github.io/egret-source-part-render/ http://xtutu.github.io/how-to-create-a-good-game-for-client-programmer/ http://xtutu.github.io/python-script-to-upload-directory-from-windows-to-a-linux-server-achieving-one-click-deployment/ http://xtutu.github.io/the-date-object-in-js/ http://xtutu.github.io/coffeescript-javascript-compare/ http://xtutu.github.io/add-lua-support-for-cplusplus-project/ http://xtutu.github.io/categories/index.html http://xtutu.github.io/tags/index.html http://xtutu.github.io/egret/ http://xtutu.github.io/about/index.html http://xtutu.github.io/404.html
{"remain":387,"success":19}
|
百度,我只能帮你到这里了
后记
好搜,神马在提交了sitemap之后,搜索结果的确是有了不少改善,但是还是没有google那么精准。
至于百度。。。搜索结果依旧毫无改善。
查了下资料,才发现居然是因为Github主动屏蔽了来自于BaiduSpider的请求。- -!
不过这一情况可以通过CDN(国内的很多平台都需要备案)来解决,可以参考以下这篇文章:
http://www.dozer.cc/2015/06/github-pages-and-cdn.html
目前我是把博客移到了gitcafe上。。。但是即使我做了这么多,百度依旧搜不到我的博客,看来只能慢慢等百度收录了。。。
转载本站文章请注明作者(xtutu)和出处 xtutu