前言
不少人正在用基于hexo的方法来搭建博客,但是自己搭建的博客搜索引擎不常常光顾,这时候就需要SEO优化了。以下的方法纯属本人经验,希望对你有所帮助,如果你还有更好的方法,可以留言反馈。
1.
查询你的网站是否被搜索引擎收录
使用高级搜索 site: 来查询你的网站是否被该搜索引擎收录
在搜索框内键入 site:你的网站域名 来验证你的网站是否被收录
如果你用site:高级搜索没有搜索到你的网站,那么说明你的网站并没有被搜索引擎收录。
如果搜索到了,但通过网站的关键词搜索不到,说明你的网站排名靠后,正需要SEO优化。
2.
将你的网站提交给百度/谷歌
没有被搜索引擎收录的情况下,不要慌,我们可以提交我们的网站给搜索引擎。
以百度举例,首先,进入百度搜索资源平台
进入之后在用户中心里找到站点管理,点击即可进入
点击添加网站,选择你的协议头 http/https 按照自身情况选择,输入你的网站地址,点击下一步
在下一步里选择你站点的类型,即可进入验证网站阶段
一般验证网站有以下几种验证方法:
文件验证 html标签验证 CNAME验证
文件验证是指将百度给你的html文件上传到你的网站的根目录(在hexo博客里是放在...\source路径下上传)
html标签验证则是在head标签里添加百度所指定的代码
CNAME验证就是添加域名解析记录
对于hexo的博客来说,我个人建议CNAME和文件验证这两种
值得注意的是:文件验证的文件是一个HTML文件,hexo可能会将他与主题镶嵌在一起,所以要在百度给你的HTML文件上加入以下代码:
---
layout: false
---
网站验证成功后,就可以在站点管理管理你的网站了。
谷歌提交网站则是访问Google Search Console,同理,我就不再举例了。
提交完你的网站后,不出意外的情况下,搜索引擎会在几个星期内收录你的网站,一般不超过一个月,超过一个月的话可能就有问题了。
3.
添加sitemap站点地图
sitemap站点地图可以让搜索引擎更便捷的抓取你的网站,一般为XML文件。
hexo有两个插件可以自动生成sitemap:
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 ,则会在缓存文件夹下生成sitemap.xml baidusitemap.xml则为成功。
生成了sitemap后,则需要提交sitemap给搜索引擎:
百度则是进入搜索资源平台的站点管理,点击sitemap,添加baidusitemap.xml的路径
谷歌则是进入Google Search Console,进入站点地图,添加sitemap.xml的路径
4.
添加robots.txt
robots可以告诉搜索引擎,哪些路径的文件允许抓取,哪些不允许抓取,还可以告诉搜索引擎你网站的sitemap
在 .../source 路径下创建robots.txt文件,里面输入你的robots配置,如果不懂,可以百度robots的语法,修改后保存即可提交。
5.
优化URL
hexo博客默认的文章路径是 域名/年/月/日/文章名称
这样的多层目录搜索引擎爬虫爬起来非常费力,我们则需要优化文章的URL路径。
进入根目录的_config.yml配置文件,找到permalink,将permalink: :year/:month/:day/:title/
可以修改为
permalink: :year:month:day/:title/
或
permalink: :title.html
修改完成后,运行hexo g,即可发现文章的目录结构改变了
6.
关键词与描述的优化
keywords和description是告诉搜索引擎你这个网页的关键词和你这个网页是干什么的,不能乱写。
7.
将网页提交给百度搜索引擎
百度网页的提交有以下几种方式:
主动推送:最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录
自动推送:是轻量级链接提交组件,将自动推送的 JS 代码放置在站点每一个页面源代码中,当页面被访问时,页面链接会自动推送给百度,有利于新页面更快被百度发现
sitemap:您可以定期将网站链接放到sitemap中,然后将sitemap提交给百度。百度会周期性的抓取检查您提交的sitemap,对其中的链接进行处理,但收录速度慢于主动推送
手动提交:如果您不想通过程序提交,那么可以采用此种方式,手动将链接提交给百度
sitemap提交上面已经说过,不再讲解;手动提交十分麻烦,而且并不灵活,是通过站点管理手动提交链接。
我们这里主要讲主动推送和自动推送。
主动推送:
npm install hexo-baidu-url-submit --save
安装上面的插件,然后修改根目录下的配置文件_config.yml里添加以下内容:
baidu_url_submit:
count: 100# 提交最新的多少个链接
host: huihongyhy.xyz# 在百度站长平台中添加的域名
token: your_token# 秘钥
path: baidu_urls.txt# 文本文档的地址, 新链接会保存在此文本文档里
host: 后面对应填写你在百度搜索资源平台中添加的域名
count: 后边对应你要提交最新的多少个链接
token: 后面填的是搜索资源平台里接口调用地址里的token=xxx,这里的xxx,即为你的秘钥。
之后加入新的deploy
deploy:
- type: git## git的deployer
repo:
branch:
- type: baidu_url_submitter## 百度提交链接的deploy
每次运行hexo g都会产生保存着链接的txt文件,每次hexo d,返回以下类似代码,即为配置成功
{"remain":49953,"success":7}
INFO Deploy done: baidu_url_submitter
remain是当天可剩余提交的链接数,success是成功提交的链接数
自动推送:
在...\themes\default\layout\_partial\head.ejs内添加以下代码:
<script>
(function(){
varbp=document.createElement('script');
varcurProtocol=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';
}
vars=document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp,s);
})();
</script>
上面的代码是自动推送的JavaScript代码,每次网页被访问,该网页都会被会自动提交。
8.
代码压缩
网页的代码存在大量空白符,压缩代码可以提高网站被访问速度。
npm install hexo-neat --save
安装以上插件
修改根目录下的配置文件_config.yml添加以下代码:
# 开启压缩
neat_enable: true
neat_html:
enable: true
exclude:
neat_css:
enable: true
exclude:
- '**/*.min.css'
neat_js:
enable: true
mangle: true
output:
compress:
exclude:
- '**/*.min.js'
- '**/index.js'
以上就是我对hexo博客的SEO优化的所有总结,如果对你有所帮助,我会非常高兴。