Hexo博客收录百度和谷歌-基于Next主题
Hexo博客收录百度和谷歌-基于Next主题(应该是比较全面的一篇教程)
我们的博客做出来当然是希望别人来访问,但是Github和Coding都做了防爬虫处理,这样子我们博客可能就无法被搜索引擎收录,需要我们手动提交!
本教程基于Hexo博客框架,使用Next主题(其他主题举一反三),博主本人已绑定自己的域名(在下文会点明区别,没有太大影响);很多过程使用了Flow.ci进行自动构建!
原创文章,转载请注明出处
你需要准备的
1.百度站长账号;
没有的申请,很简单,跟百度分析一起使用挺好,不过分析的话还是推荐CNZZ,不过都挂上没有坏处!
2.谷歌账号:
谷歌账号能够享受所有的谷歌服务,当然也包括网站搜索分析服务!不过需要提前准备梯子!
3.Flow.ci用于自动构建网站地图(推荐,非必须):
可参考这篇文章>>配置自动构建,本文会在这基础之上进行提高!
4.最重要的是你有自己的博客!
验证你的站点是否被收录:
一般情况下你的站点是不能被搜到的!你可以用site验证:
验证百度:
site:www.oneonecity.xyz
域名换成你自己的,百度还支持site搜索么?如果没有找到你的博客说明没有被收录!
验证谷歌:
site:www.oneonecity.xyz
域名换成你自己的,谷歌是一定支持的,不过你需要梯子!如果没有找到你的博客说明没有被收录!
收录百度
措辞是不是有问题?就是你的网站被百度搜索收录!
1.手动提交:
你可以手动提交你的站点到百度搜索,点这里>>,当然这种方法很麻烦,因为如果想让每一篇文章都能被搜索到就需要把所有的页面链接进行提交!
2.验证网站所有权:
通过验证之后百度会认为你是网站所有者,然后能做诸如自动推送、手动推送的高级功能!
点这里>>,输入你的博客首页地址(可以是自己的域名也可以是Coding或者Github的Pages页面地址!),然后点击下一步!
3.进行验证:
这里有三种方法:文件验证、HTML标签验证和CNAME验证。下面分别说一下方法和适用范围!
(1)文件验证:

a.你需要做的是下载验证文件:是一个html文件,里面存放着你的token信息!
b.然后将这个文件放在你的主题的根目录下,之所以不放在source是因为Next主题在构建过程中会在验证文件中加入很多东西影响验证!
c.接下来就是编译部署你的博客hexo g -d
,如果你已经实现自动化部署的话只需要push你的原文件:
git add .
git commit -am "添加验证文件"
git push origin master
关于自动部署,请移步这里>>
d.点击点击这里进行验证,其实是你的博客首页加了验证文件路径;
e.最后点击完成验证如果顺利的话,是能够完成!这种方法比较麻烦,不是很推荐!
(2)HTML标签验证:
这种方法需要根据不同的主题进行配置,博主使用的Next主题,其他主题可以自己摸索,原理一样:都是将HTML验证标签加入到博客每个页面的head里面!注意是红框中完整的标签,而不是一部分!

第一步:将该标签(红框中完整的,并非只是后面的token);
第二步:在Next主题配置文件(不是博客配置文件)开启提交百度的选项:

# 此处设置成true之后,将themes/next/layout/_partials/head.swig
# 下把默认的百度和 google 验证值替换为搜索引擎为你提供的完整HTML标签即可
google_site_verification: true
baidu_site_verification: true
这里的名字google_site_verification:
可以随便起,不过需要与后面的themes/next/layout/_partials/head.swig
中相对应,默认都是下划线!
第三步:修改themes/next/layout/_partials/head.swig
,添加从百度获取的完整的HTML验证标签,注意名字的对应!
{% if theme.baidu_site_verification %}
<meta name="baidu-site-verification" content="yourtoken" />
{% endif %}
第四步:同文件验证的c.步骤:编译部署你的博客!进入你的博客首页或者任意文章,按F12,如果再head标签中看到了验证标签,就可以了!

第五步:点击验证按钮!,如果过程没问题则会验证成功!
(3)CNAME验证,如果你绑定了自己的域名,这种方式是最简单的!
第一步:你要有自己的域名并使用CNAME解析,如果没有请移步这里>>
第二步:如图添加一条新的CNAME解析:记录类型是CNAME,主机记录是你的token,,记录值是zz.baidu.com,其他默认:

第三步:点击验证!这一种方法最简单,推荐!
收录谷歌:
HTML 标签验证,参考百度验证!
{% if theme.google_site_verification %}
<meta name="google-site-verification" content="yourtoken" />
{% endif %}
生成站点地图:
这一步很重要,通过构建网站地图能够让搜索引擎更好的抓取你的网站内容!
1.安装sitmap插件:
npm install hexo-generator-sitemap --save
npm install hexo-generator-baidu-sitemap --save
如果你搭建了基于Flow.ci的自动构建,请修改Flow.ci的自定义脚本:
# 安装Hexo命令行工具
flow_cmd "npm install hexo-cli -g" --echo
flow_cmd "npm install hexo-generator-sitemap --save" --echo
flow_cmd "npm install hexo-generator-baidu-sitemap --save" --echo
# 准备并安装私钥
flow_cmd "cp .ssh/id_rsa ." --echo
flow_cmd "chmod 600 ./id_rsa" --echo
flow_cmd "eval $(ssh-agent)" --echo
flow_cmd "ssh-add ./id_rsa" --echo
# 执行Hexo生成和发布
flow_cmd "hexo clean" --echo
flow_cmd "hexo g" --echo
flow_cmd "hexo d" --echo
flow_result $?
2.修改博客配置文件:
a.修改URL为你博客首页,这样是为了保证生成的sitemap.xml文件中地址正确:

b.指定生成文件名及路径,在配置文件最后添加一下代码:
# 自动生成sitemap
sitemap:
path: sitemap.xml
baidusitemap:
path: baidusitemap.xml
c.执行构建hexo g
,正常情况下会在source文件夹下看到多出两个文件:sitemap.xml
和baidusitemap.xml
,这就是sitemap文件。
此后等待搜索引擎抓取或者配置自动推送或者主动推送!
自动推送sitemap到百度:
基于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
修改baidu_push.swig:
位置是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 %}
这样子的话每次访问博客中的页面会自动向百度提交。
提交Google站点地图:
添加/测试站点地图
点此>>进入Google Search Console控制台,需要翻墙。
点击你的站点,如果没有请先添加站点;
然后点击控制台-->抓取-->站点地图,点击右上角添加/测试站点地图按钮,将你的sitemap.xml提交测试,测试成功之后重复该步骤进行添加!

作者:小矮人Ethan
链接:https://www.jianshu.com/p/8c0707ce5da4
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Hexo博客收录百度和谷歌-基于Next主题的更多相关文章
- Hexo博客框架攻略
前言 前天无意在b站看到up主CodeSheep上传的博客搭建教程,引起了我这个有需求但苦于没学过什么博客框架的小白的兴趣.于是花了两天时间终于终于把自己的博客搭建好了,踩了无数的坑,走偏了无数的路, ...
- 【干货】2个小时教你hexo博客添加评论、打赏、RSS等功能 (转)
备注:该教程基于Hexo 2.x版本,目前Hexo是3.x版本,照本教程实现有可能会出现404错误,笔者目前还未找时间去解决,待笔者找时间解决该问题后,再写一篇该问题的解决教程,给各位读者带来困扰,还 ...
- Hexo博客搭建以及Next主题美化的经验之谈
这并不是一篇博客搭建教程.内容主要包含个人对于Hexo博客搭建的心得,Next6.0主题美化的部分建议,以及摘录一些各种用于博客搭建的link. 在博客园3年6个月,确实也学到了很多,博客园也是目前为 ...
- hexo博客谷歌百度收录踩坑日记
title: hexo博客谷歌百度收录踩坑日记 toc: false date: 2018-04-17 00:09:38 百度收录文件验证 无论怎么把渲染关掉或者render_skip都说我的格式错误 ...
- 基于 Github Actions 自动部署 Hexo 博客
前言 前不久使用了 Hexo 搭建独立博客,我是部署在我的腾讯云轻量应用服务器上的,每次都需要 hexo deploy 然后打包.上传.解压和刷新 CDN,非常麻烦.我的服务器配置也不高 2C2G 无 ...
- hexo博客相关
https://www.cnblogs.com/sulishibaobei/p/6428241.html 利用hexo+github+nodejs搭建自我博客的一天 http://www.sulish ...
- Hexo博客部署到远程仓库(Conding、Gitee、Github)
一.本地环境搭建 1.安装Git Git可以有效.高速的处理各种项目版本管理.也就是用来管理你的hexo博客文章,上传到GitHub的工具. Git下载地址 安装好了之后使用git -version查 ...
- Hexo博客主题优化
Hexo博客主题优化 添加背景图 在 themes/*/source/css/_custom/custom.styl 中添加如下代码: body{ background:url(/images/bg. ...
- Hexo 博客 github.io MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
随机推荐
- this指向问题(2)
4.显示绑定 指的是apply.bind.call (1).apply 和 call 相同点: <1> 这两个方法的用途是在特定的作用域中调用函数,实际上等于设置函数体内 this 对象的 ...
- 一篇SSM框架整合友好的文章(一)
转载请标明出处: http://blog.csdn.net/forezp/article/details/53730333 本文出自方志朋的博客 最近实在太忙,之前写的<rxjava系列文章&g ...
- SpringBoot学习13:springboot异常处理方式3(使用@ControllerAdvice+@ExceptionHandle注解)
问题:使用@ExceptionHandle注解需要在每一个controller代码里面都添加异常处理,会咋成代码冗余 解决方法:新建一个全局异常处理类,添加@ControllerAdvice注解即可 ...
- react事件绑定的三种常见方式以及解决Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state问题思路
在 React 组件中,每个方法的上下文都会指向该组件的实例,即自动绑定 this 为当前组件. 而且 React 还会对这种引用进行缓存,以达到 CPU 和内存的优化.在使用 ES6 classes ...
- js | javascript改变style样式和css样式
转载 在很多情况下,都需要对网页上元素的样式进行动态的修改.在JavaScript中提供几种方式动态的修改样式,下面将介绍方法的使用.效果.以及缺陷. 1.使用obj.className来修改样式表的 ...
- (二)、Python 基础
Python入门 一.第一句Python 在 /home/dev/ 目录下创建 hello.py 文件,内容如下: print "hello,world" 执行 hello.py ...
- 用ajax获取淘宝关键字接口
可定需要查看淘宝界面的结构,按F12查看网页,此时先清除一下网页中的数据,让Network制空,随后在输入框中输入新的内容,比如钱包,数据中会出现新的数据.点击及查看蓝色方框中的内容 点击之后,你可以 ...
- laravels -- Swoole加速php
LaravelS是一个胶水项目,用于快速集成Swoole到Laravel,然后赋予它们更好的性能.更多可能性. 环境 : ubuntu16 + nginx + php7.1 + LaravelS搭建高 ...
- java多线程批量读取文件( 八)--读写分离
package com.net.thread.future; import java.io.BufferedReader; import java.io.BufferedWriter; import ...
- python——内建模块instance的学习
python中内建函数isinstance的用法 语法:isinstance(object,type) 作用:来判断一个对象是否是一个已知的类型. 其第一个参数(object)为对象,第二个参数(ty ...