前言
大部分人写博客都希望让别人访问到,但是GitHub
和Coding
都做了防爬虫的处理,因此我们托管在其上的博客就无法被搜索引擎收录,需要我们手动提交。
今天作者就来介绍下如何才能让度娘收录你的博客。作者的博客是HEXO+GitHub
搭建的,主题是NEXT
,虽说各种主题不一样,但是大致步骤相同,要学会举一反三。
如果觉得NEXT
主题不错的朋友,可以切换主题,之前出过一篇NEXT
主题优化的教程:女朋友看了我的博客,说太LOW了,于是我折腾了一天~
如何判断自己的博客被百度收录了?
判断自己的博客有没被百度收录很简单,搜索site:域名
,比如site:www.baidu.com
。
如果搜索出结果,则表明被百度收录了,如下我的博客:
如何操作?
操作步骤还是挺复杂的,但是跟着一步一步总能成功,下面将会逐一介绍。
准备一个百度站长账号
已经有的不用申请了,没有的注册一个,注册地址:https://ziyuan.baidu.com
验证网站所有权
网站所有权通过验证之后,百度会认为你是网站所有者,那么你能做自动推送,手动提交等等功能。
没有验证过的可以自己认证下,网址:https://ziyuan.baidu.com/site/siteadd
。
打开之后输入你的博客首页地址,可以是Github Pages
或者Coding
的地址,然后点击下一步。
HTML验证
这里的验证其实有三种方式,这里作者说下HTML
验证的方式。
这里的方法需要根据不同的主题进行配置,作者使用的是NEXT
主题,其他主题可以自己摸索。
原理其实都是一样:都是将
HTML
验证标签加入到博客每个页面的head
里面!注意是红框中完整的标签,而不是一部分!
第一步:在主题配置文件_config.yml
中添加如下一行配置:
baidu_site_verification: true
第二步:修改themes/next/layout/_partials/head.swig
,添加从百度获取的完整的HTML
验证标签,注意名字的对应!
{% if theme.baidu_site_verification %} <meta name="baidu-site-verification" content="你的token" /> {% endif %}
第三步:编译发布你的博客,在博客首页按F12
,如果在head
标签中看到了验证标签则成功了,如下:
第四步:点击验证按钮,如果没问题则已成功。
生成站点地图
通过构建网站地图能够让搜索引擎更好的抓取你的网站内容。
第一步:安装插件,在博客根目录,直接CMD运行以下命令安装:
npm install hexo-generator-sitemap --save npm install hexo-generator-baidu-sitemap --save
第二步:修改站点配置文件_config.yml中的URL
为你的博客首页地址,这样是为了保证生成的sitemap.xml
文件中地址正确。
第三步:在站点配置文件_config.yml中指定生成的sitemap
的文件名和地址,在配置文件末尾添加如下配置:
# 自动生成sitemap sitemap: path: sitemap.xml baidusitemap: path: baidusitemap.xml
第四步:执行hexo g
,正常情况下会在根目录下的public
目录下多出两个文件,分别是sitemap.xml
和baidusitemap.xml
。
站点地图生成后,只需要等待百度自动抓取或者配置自动配送或者主动推送。
等待百度自动抓取:百度收录都有一个周期,估计十几天会抓取一次。
主动推送:在百度站长内手动提交自己的sitemap.xml
内容,如下位置:
自动推送:这个是今天的重点,下面介绍。
如何自动推送?
第一步:修改主题配置文件,将baidu_push
修改为true
,如下:
baidu_push: true
第二步:修改themes\next\layout\_scripts\baidu_push.swig
(没有这个文件则创建),添加以下代码:
{% if theme.baidu_push %} <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> {% endif %}
以上配置完成后,每次访问博客首页会自动向百度提交,不用再手动提交了。
总结
百度收录操作虽然复杂,但是按照作者的步骤来搞还是非常简单的,对于有博客的朋友可以借鉴下。