博客地址:http://svend.cc
站点地图
站点地图是一个页面,上面放置了网站上需要搜索引擎抓取的所有页面的链接
为你的Hexo博客生产站点地图
进入Hexo博客根目录,安装百度和Google的站点地图生成插件
npm install hexo-generator-baidu-sitemap --save
npm install hexo-generator-sitemap --save
在博客根目录的_config.yml
配置文件种添加一下代码
# 自动生成sitemap
sitemap:
path: sitemap.xml
baidusitemap:
path: baidusitemap.xml
编译部署博客代码
hexo generate
hexo deploy
你会发现你的博客编译完成的代码目录public
种生成了baidusitemap.xml
和sitemap.xml
此时我们访问域名我下面的这两个文件,看看有没有
- http://svend.cc/baidusitemap.xml
-
http://svend.cc/sitemap.xml
效果如下:
百度sitemap
百度和Google的爬虫就可以通过这个来爬取你的博客内容了
注:下面的步骤会用到这两个文件
查看博客是否已经被收录
在百度和Google分别输入搜索:
site:svend.cc
注:这里需要将svend.cc换成你们自己的域名
百度验证网站
提交链接到百度
提交链接到百度添加站点
提交链接到百度验证站点
提交链接到百度下载百度验证文件,放到博客域名根目录,这里可以放到主题下面的source下themes/next/source
提交链接到百度
为什么放到主题的source下而不直接放在站点source下面呢?
因为站点source下面的html文件都会被按照主题样式重新渲染,最后html文件的内容会被改变,百度验证就不能识别。
虽然可以更改html文件让主题不去重新渲染此html文件,但我认为直接放到source下面不去更改文件内容更方便
放置完成之后,执行命令将文件部署到服务器(Coding和GitHub)上
hexo generate
hexo deploy
部署完成之后点击立即验证
或者直接访问,域名/百度验证文件名
http://svend.cc/baidu_verify_gw7pXzPYp6.html
提交链接到百度访问正常,并且除了一串代码意外没有其他任何东西就可以了,点击
完成验证
提交链接到百度
百度网页抓取
进入链接提交,选择自己的站点
提交链接到百度提交博客链接到百度
如何选择链接提交方式
1、主动推送:最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。
2、自动推送:最为便捷的提交方式,请将自动推送的JS代码部署在站点的每一个页面源代码中,部署代码的页面在每次被浏览时,链接会被自动推送给百度。可以与主动推送配合使用。
3、sitemap:您可以定期将网站链接放到sitemap中,然后将sitemap提交给百度。百度会周期性的抓取检查您提交的sitemap,对其中的链接进行处理,但收录速度慢于主动推送。
4、手动提交:一次性提交链接给百度,可以使用此种方式。
sitemap提交
提交链接到百度这个时候需要用到第一步生产的sitemap了。选择
自动提交
种的sitemap
,将http://svend.cc/baidusitemap.xml粘贴到输入框内,输入验证码,点击提交。
下面的列表就会出现你添加的sitemap链接了,这个时候状态
栏显示的应该是等待
,一般过几十秒刷新一下页面就会正常,然后百度就会自动的周期抓取你的sitemap
下面是我的提交情况
提交链接到百度
自动推送
安装自动推送JS代码的网页,在页面被访问时,页面URL将立即被推送给百度。
自动推送代码
<script>
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
</script>
自动推送链接到百度可以将上面代码添加到post模板中,这样每篇文章生成的时候都会有自动推送代码。
最直接的就是直接添加到主题目录下的layout/post.swig
文件下
注:我使用的是next主题,主题已经默认集成了自动推送代码,只需要将主题的_config.yml文件中的baidu_push: false改为baidu_push: true
主动推送
主动推送最为快速的提交方式,是被百度收录最快的推送方式
百度提供了主动推送的示例:支持curl
、php
、python
、java
、php
、ruby
等等方式,你可以自己选择一种进行主动推送
具体使用帮助请看主动推送教程
我正在开发一个Java版本的主动推送软件,暂时还没完成。敬请期待~完成了会立马更新上来
Java版本百度站长主动提交链接工具--BaiduPush诞生
详情请看百度站长主动提交链接工具--BaiduPush
Google验证网站
添加站点
提交链接到Google验证站点
提交链接到Google下载Google验证文件,放到博客域名根目录,这里可以放到主题下面的source下themes/next/source
提交链接到Google
放置完成之后,执行命令将文件部署到服务器(Coding和GitHub)上
hexo generate
hexo deploy
部署完成之后点击立即验证
或者直接访问:域名/Google验证文件名
http://svend.cc/googlea249058410be3808.html
提交链接到Google访问正常,并且除了一串代码意外没有其他任何东西就可以了,点击
完成验证
Google网页抓取
sitemap
提交链接到Google进入刚刚添加的网站的站点地图操作界面,
添加站点地图
,输入第一步生产的站点地图链接,因为这里默认已经有了域名,所以只需要输入sitemap.xml
,然后点击提交就好了。
完成之后下面列表同样会出现刚刚添加的sitemap地址,Google也会周期性的抓取
完成
呼~花了俩小时终于写完了,我最开始也是为了搞这个收录搞了几天时间,Google收录很快,因为百度爬虫被GitHub给屏蔽了,所以一直不能收录。
最后知道原因之后就有了Hexo系列:(三)Hexo博客部署到GitHub和Coding,国内访问Coding之后,
终于百度开始收录了,不过新站点想被收录和不被K站的话,还是要保证博客文章的质量的。加油~不要急哦!被百度收录还是需要几天时间的
网友评论
怎么会有这啊?
<breadCrumb title="搭建个人博客" url="http://yoursite.com/categories/%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/"/>
然后我再本地访问 http://svend.cc/baidusitemap.xml
会有下面报错,求解答
This page contains the following errors:
error on line 19 at column 88: xmlParseEntityRef: no name
Below is a rendering of the page up to the first error.