Linux下使用 github+hexo 搭建个人博客07-next主题接入搜索和站点管理
这是搭建个人博客系统系列文章的最后一篇,如果你是从第一篇一路跟下来的,那么恭喜你,即将完成整个博客网站的搭建。OK,话不多说,开始我们的收官之战。
不知你想过没有,如果我们的文章少,一眼看完整个目录,那么还好。但是如果日积月累几年下来,我们的文章增加到 100+ 以上,那么不管是你博主,还是访问用户,如何去快速找到所需的文章呢。这时我们就需要用到搜索了。
还有就是我们的文章最终是要让其他人看的,而不是我们自娱自乐。除了到各大平台引流到自己的博客系统外,最好让搜索引擎也收录我们的文章。常用的搜索引擎有百度和谷歌,因此本文会针对这两者进行讲解。
搜索服务
Local Search
添加百度/谷歌/本地 自定义站点内容搜索。
1 [root@iZ28xbsfvc4Z hexo]# pwd # 站点目录
2 /app/softinsall/hexo
3 [root@iZ28xbsfvc4Z hexo]# npm install hexo-generator-searchdb --save
4 [root@iZ28xbsfvc4Z hexo]# vim _config.yml # 站点配置文件,追加信息
5 # Local Search
6 search:
7 path: search.xml
8 field: post
9 format: html
10 limit: 10000
11 [root@iZ28xbsfvc4Z hexo]# cd themes/next/ # 到主题目录
12 [root@iZ28xbsfvc4Z next]# vim _config.yml # 修改主题配置文件
13 # Local search
14 # Dependencies: https://github.com/flashlab/hexo-generator-search
15 local_search:
16 enable: true # 从 false 改为 true
然后进入站点目录,清除静态文件和缓存,重新生成,之后再启动服务即可
hexo clean ==> hexo g ==> hexo s -p 80
页面效果
站点管理
先确认博客是否被收录
在百度或者谷歌上面输入下面格式来判断,如果能搜索到就说明被收录,否则就没有。
site:zhangblog.com
创建站点地图文件
站点地图是一种文件,您可以通过该文件列出您网站上的网页,从而将您网站内容的组织架构告知Google和其他搜索引擎。搜索引擎网页抓取工具会读取此文件,以便更加智能地抓取您的网站。
安装插件
在站点目录安装插件,并修改站点配置文件。
1 [root@iZ28xbsfvc4Z hexo]# pwd # 站点目录
2 /app/softinsall/hexo
3 [root@iZ28xbsfvc4Z hexo]# npm install hexo-generator-sitemap --save
4 [root@iZ28xbsfvc4Z hexo]# npm install hexo-generator-baidu-sitemap --save
5 [root@iZ28xbsfvc4Z hexo]# vim _config.yml # 添加如下信息
6 # 站点地图
7 Plugins:
8 - hexo-generator-baidu-sitemap
9 - hexo-generator-sitemap
10
11 baidusitemap:
12 path: baidusitemap.xml
13 sitemap:
14 path: sitemap.xml
15 [root@iZ28xbsfvc4Z hexo]# hexo g # 生成静态文件,可见有 baidusitemap.xml 和 sitemap.xml 文件生成
16 INFO Start processing
17 INFO Files loaded in 1.25 s
18 INFO Generated: baidusitemap.xml # 生成的文件
19 INFO Generated: sitemap.xml # 生成的文件
20 INFO 2 files generated in 1.26 s
百度站点地图
谷歌站点地图
百度收录我们的博客
添加站点
这里推荐使用文件验证。下载文件放到 hexopublic 目录下即可。
数据引入 ==> 链接提交
为了方便我们使用「自动提交」下的「自动推送」和「sitemap」。
自动推送 自动推送很简单,就是在你代码里面嵌入自动推送JS代码,在页面被访问时,页面URL将立即被推送给百度。
将复制的 JS 代码,添加到如下文件:
1 [root@iZ28xbsfvc4Z next]# pwd #主题目录
2 /app/softinsall/hexo/themes/next
3 [root@iZ28xbsfvc4Z next]# vim layout/_partials/footer.swig # 在文件最后面追加
4 <!-- 百度自动推送 -->
5 <script>
6 (function(){
7 var bp = document.createElement('script');
8 var curProtocol = window.location.protocol.split(':')[0];
9 if (curProtocol === 'https') {
10 bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
11 }
12 else {
13 bp.src = 'http://push.zhanzhang.baidu.com/push.js';
14 }
15 var s = document.getElementsByTagName("script")[0];
16 s.parentNode.insertBefore(bp, s);
17 })();
18 </script>
代码来源
sitemap提交 这个直接提交就行。
得到结果
如何选择链接提交方式
1、主动推送:最为快速的提交方式,推荐你将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。 2、自动推送:最为便捷的提交方式,请将自动推送的JS代码部署在站点的每一个页面源代码中,部署代码的页面在每次被浏览时,链接会被自动推送给百度。可以与主动推送配合使用。 3、sitemap:您可以定期将网站链接放到sitemap中,然后将sitemap提交给百度。百度会周期性的抓取检查您提交的sitemap,对其中的链接进行处理,但收录速度慢于主动推送。 4、手动提交:一次性提交链接给百度,可以使用此种方式。
谷歌收录我们的博客
谷歌操作比较简单,就是向 Google 站长工具提交 sitemap 就可以了。
得到结果
总结
上述这些完成后,搜索引擎不会马上就收录完成。得等一两天后才会完成收录。在站点管理页面中才有数据。
谷歌收录会快些最长几天,百度的话可能要等半个月左右吧。
推荐阅读
Linux下使用 github+hexo 搭建个人博客01-hexo搭建
Linux下使用 github+hexo 搭建个人博客02-hexo部署到Github Pages
Linux下使用 github+hexo 搭建个人博客03-hexo配置优化
Linux下使用 github+hexo 搭建个人博客04-next主题优化
Linux下使用 github+hexo 搭建个人博客05-next主题接入评论系统
Linux下使用 github+hexo 搭建个人博客06-next主题接入数据统计
Linux下使用 github+hexo 搭建个人博客07-next主题接入搜索和站点管理
- 腾讯Bugly Unity3D Plugin使用指南
- 远丰集团旗下CMS疑有官方后门
- 前端黑魔法之远程控制地址栏
- 信息收集利器:ZoomEye
- go sync.Mutex 设计思想与演化过程 --转
- 漏洞预警 | Ubuntu 16.04版本存在本地提权漏洞(附EXP)
- 通过“震网三代”和Siemens PLC 0day漏洞,实现对工控系统的入侵实验
- 安卓端渗透工具DVHMA:自带漏洞的混合模式APP
- 小萝莉说Crash(二): Unrecognized selector xxx 之 ForwardInvocation
- 5分钟教程:如何通过UART获得root权限
- 源码级剖析PHP 7.2.x GD拒绝服务漏洞
- 美女程序媛发福利,读懂ANR的trace文件So easy
- Openshift高阶探索实验
- 卡卡卡!小萝莉告诉你开发iOS应用如何避免卡顿
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- thinkphp5引入公共部分header、footer的方法详解
- php实现文章评论系统
- PHP如何搭建百度Ueditor富文本编辑器
- 浅谈keras.callbacks设置模型保存策略
- pandas之分组groupby()的使用整理与总结
- PHP fclose函数用法总结
- Python collections.defaultdict模块用法详解
- PHP crc32()函数讲解
- python读取图像矩阵文件并转换为向量实例
- PHP echo()函数讲解
- Python3开发环境搭建详细教程
- php使用QueryList轻松采集js动态渲染页面方法
- PHP convert_uudecode()函数讲解
- php实现在线考试系统【附源码】
- 实例介绍PHP中zip_open()函数用法