hexo干货系列:(六)hexo提交搜索引擎(百度+谷歌)

前言

能看到这里,说明你们都跟我同样,已经把博客搭起来并洋洋洒洒写了几篇博文,正春风得意感受良好的时候,搭建博客有屎以来最大的危机出如今没有准备的我面前,百度+谷歌都没法搜索到个人博客。装逼还没几天就这样,真是不能忍。 因而就研究了几天,鼓捣出了这篇文章。教你们如何脱坑。javascript

正文

下面准备分别介绍谷歌和百度如何提交搜索引擎,其中有一些共同的地方,这里先说明html

先确认博客是否被收录

在百度或者谷歌上面输入下面格式来判断,若是能搜索到就说明被收录,不然就没有,用你的域名替代个人tengj.topjava

site:tengj.top

我目前搜索结果如图:

git

验证网站

两个搜索引擎入口:github

为何要验证网站  
站长平台推荐站长添加主站(您网站的连接也许会使用www 和非 www 两种网址,建议添加用户可以真实访问到的网址),添加并验证后,可证实您是该域名的拥有者,能够快捷批量添加子站点,查看全部子站数据,无需再一一验证您的子站点。
如何验证网站
首先若是您的网站已使用了百度统计,您可使用统计帐号登陆平台,或者绑定站长平台与百度统计帐号,站长平台支持您批量导入百度统计中的站点,您不须要再对网站进行验证。
百度站长平台为未使用百度统计的站点提供三种验证方式:文件验证、html标签验证、CNAME验证
  1.文件验证:您须要下载验证文件,将文件上传至您的服务器,放置于域名根目录下。
  2.html标签验证:将html标签添加至网站首页html代码的标签与标签之间。
  3.CNAME验证:您须要登陆域名提供商或托管服务提供商的网站,添加新的DNS记录。
验证完成后,咱们将会认为您是网站的拥有者。为使您的网站一直保持验证经过的状态,请保留验证的文件、html标签或CNAME记录,咱们会去按期检查验证记录。

无论谷歌仍是百度都要先添加域名,而后验证网站,这里统一都使用文件验证,就是下载对应的html文件,放到域名根目录下,也就收博客根目录下的source下面web

而后部署到服务器,输入地址:http://tengj.top/googlead0e22632f59a368.html 能访问到就能够点验证按钮。npm

站点地图是一种文件,您能够经过该文件列出您网站上的网页,从而将您网站内容的组织架构告知Google和其余搜索引擎。Googlebot等搜索引擎网页抓取工具会读取此文件,以便更加智能地抓取您的网站。bash

咱们要先安装一下,打开你的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屏蔽了百度爬虫目前,因此咱们要主动出击,咱们本身把网站提交给百度。
这就要使用到百度站长平台

### 验证网站

验证网站最上面提过了,这里直接截图


网页抓取

上面步骤成功后,进入站点管理,找到网页抓取这边详情点进去

咱们主动提交博客文章连接

如何选择连接提交方式
一、主动推送:最为快速的提交方式,推荐您将站点当天新产出连接当即经过此方式推送给百度,以保证新连接能够及时被百度收录。
二、自动推送:最为便捷的提交方式,请将自动推送的JS代码部署在站点的每个页面源代码中,部署代码的页面在每次被浏览时,连接会被自动推送给百度。能够与主动推送配合使用。
三、sitemap:您能够按期将网站连接放到sitemap中,而后将sitemap提交给百度。百度会周期性的抓取检查您提交的sitemap,对其中的连接进行处理,但收录速度慢于主动推送。
四、手动提交:一次性提交连接给百度,可使用此种方式。

通常主动提交比手动提交效果好,这里介绍主动提交的三种方法

从效率上来讲:

主动推送>自动推送>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公众号,开源开源,有需求的能够关注~撒花

相关文章
相关标签/搜索