博客弄好后,怎么才能让其他小伙伴搜索到呢,首先重要的是让百度收录你的站点,在百度搜索site:<域名>,就可以产看网站有没有被百度收录。百度提供了主动提交的三种方法来提交链接。
从效率上来排序三种分别是:主动推送 > 自动推送 > sitemap
下面介绍两种方法,第一种作者没有试验,网上不少人用,应该是可以的。第二种是作者自己琢磨出来(主要是当时没看到网上介绍的第一种)。
安装插件npm install hexo-baidu-url-submit –save
然后再根目录的配置文件中新增字段
baidu_url_submit:
count: 100 # 提交最新的一个链接
host: wudong.tech # 在百度站长平台中注册的域名
token: 23GYpxowKnhgVsUM # 请注意这是您的秘钥, 所以请不要把博客源代码发布在公众仓库里!
path: baidu_urls.txt # 文本文档的地址, 新链接会保存在此文本文档里
在加入新的deploye
deploy:
- type:baidu_url_submitter
新链接的产生, hexo generate 会产生一个文本文件,里面包含最新的链接
新链接的提交, hexo deploy 会从上述文件中读取链接,提交至百度搜索引擎
首先作者直接有一台便宜的VPS服务器,因此可配置脚本,然后通过定时任务向百度推送网站地址。作者自己写了一个简单generator生成urls.txt。
安装插件npm install hexo-generator-urls –save
每次只需hexo g的时候,会自动生成urls.txt在public目录下,可以直接通过url访问,例如:https://wudong.tech/urls.txt。
其次在VPS编写脚本
#!/bin/bash
cd /usr/local/src/sitepush
var=`date +%Y%m%d%H%M`
echo $var | tee -a log.txt
curl -o urls.txt https://wudong.tech/urls.txt
curl -H 'Content-Type:text/plain' --data-binary @urls.txt "http://data.zz.baidu.com/urls?site=https://wudong.tech&token=23GYpxowKnhgVsUM" | tee -a log.txt
echo -e "\n" | tee -a log.txt
大概是,先输出执行时间到日志,然后curl调用https://wudong.tech/urls.txt,并将结果写入urls.txt文本,最后curl推送urls.txt的地址。
最后在VPS中配置定时任务,启动当前脚本
编辑定时任务
crontab -e
追加定时任务,每条8点20点执行
0 8,20 * * * /usr/local/src/sitepush/sitepush.sh
ps:如果有需求的小伙伴,我可以在自己的vps帮忙配置一个,但是不能确保能运行多久。
如果是next主题,在主题配置文件中修改,将baidu_push设置为true:
# Enable baidu push so that the blog will push the url to baidu automatically which is very helpful for SEO
baidu_push: true
如果没有的话,需要自己修改,在主题生成模板中加入以下脚本:
<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>
安装sitemap插件
npm install hexo-generator-sitemap –save #这个生成sitemap文件是可以给百度以外搜索引擎使用,例如谷歌
npm install hexo-generator-baidu-sitemap –save #生成百度可用的sitemap文件
修改博客配置文件
# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: https://wudong.tech
root: /
permalink: :year/:month/:day/:title/
permalink_defaults:
hexo generate 会产生两个文件baidusitemap.xml和sitemap.xml在public的根目录下。可以通过https://wudong.tech/baidusitemap.xml,查看该文件是否生成。
然后我们就可以将我们生成的sitemap文件提交给百度
作者以上三种都在使用,但是截至到现在(大概一周左右),百度任然只收录了博客的首页,sitemap提交后的状态任然是等待中。百度收录的效率是非常低的,尤其是对于我这种个人博客,只能在耐心等待。倒是谷歌第一天提交,第二天就收录了所有的网址。
作者正在研究怎么做SEO优化,例如锚文本,熊掌号等,有兴趣的小伙伴也可以试试。