只有Google才能搜索到我的网站?!

前言

博客已经写了一段时间,这几天看到小伙伴在群上贴了一张图,大体是关于:在Google搜索某个关键字,可以在前几条记录里面找到他的博客内容。于是我抱着试一试的心态,在Google上搜了下自己博客里的一些关键字,效果出乎意料的好!但当我用百度,好搜,神马之类的国内搜索引擎,搜索同样的关键字,却几乎看不到任何博客信息。

Google搜索效果

搜索以下几个关键字,都可以在前面几条可以找到我的博客!

搜索”xtutu”

这是一张图片

搜索”游戏产品 客户端”

这是一张图片

搜索”游戏 转盘 算法”

这是一张图片

搜索”服务端架构 思考”

这是一张图片

搜索”c++ 添加 lua”

这是一张图片

手动提交sitemap

毕竟在国内,百度的用户还是不少的。
既然百度无法主动搜索到我的网站,只能靠我们自己把网站信息手动提交给百度了!
地址
同理,好搜,神马搜索都可以自己手动来提交网站的sitemap。

但是!!!

然后百度居然不支持hexo的sitemap!!!

解决方法

好在百度还支持主动推送,所以只好自己写脚本把网站的sitemap.xml解析成百度支持的格式,然后再发给ta。
代码如下,注意配置这块改成自己的。自己的信息可以从这里找到,就是图中的接口调用地址。
pic

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
# !/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,当设为True的时候,就会自动把地址补为www.xtutu.me
needAddWWW = False
sitemapUrl = "http://xtutu.github.io/sitemap.xml"
# token位置,比如我的网站是在这里查看
# http://zhanzhang.baidu.com/linksubmit/index?site=http://xtutu.github.io/
baiduUrl = "http://data.zz.baidu.com/urls?site=www.xtutu.me&token=xxxxxxxxxxxxxxxx"

# 获取并解析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

# 发送xml文件给百度
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