hexo博客的高级SEO优化 【灰鸿】

前言

不少人正在用基于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优化的所有总结,如果对你有所帮助,我会非常高兴。