HEXO配置关键词及sitemap方法

对HEXO搭建的博客进行简单SEO处理,给每篇文章加上关键词keywords,并生成sitemap.xml文件,方便搜索引擎有效索引。

catigeries: default
keywords:
description: 摘要描述

hexo安装sitemap

windows10+用户可以在博客根目录下按shift键不放再点击鼠标【右键】,即可在此目录下直接运行PowerShell或CMD窗口。
输入如下代码:

npm install hexo-generator-sitemap --save

在博客根目录下找到_config.yml文件,添加如下代码:

sitemap:
path: sitemap.xml

执行hexo g生成静态页面,再然后执行hexo s启动服务。
打开http://localhost:4000/sitemap.xml即可看到效果,弄好之后你就可以到各大搜索引擎提交sitemap站点地图了。

设置HEXO站点关键词

默认情况下hexo博客及博客里的文章是没有keywords关键字,需要手动添加。

设置hexo博客的关键字:
在博客根目录下找到_config.yml文件,在#site后面添加

keywords: 关键字1,关键字2,关键字3…,

注意关键词用英文逗号隔开,注意keywords:后面必须有至少一个空格。
设置完成后,_config.yml相关部分显示如下:

#Site
title: 站点标题
subtitle: 站点副标题
description: 站点描述
author: 站点作者
language: zh-CN
timezone:
keywords: xx博客,hexo,github,NodeJs

设置文章关键字

1、打开theme/next/layout/common/head.ejs,这是主题NexT的head.ejs所在路径。
不同主题可能不同,但一般来说都是head.ejs文件,添加如下代码:

<% if (page.keywords){ %>
<meta name="keywords" content="<%= page.keywords %>,<%= config.keywords %>">
<% } else if (config.keywords){ %>
<meta name="keywords" content="<%= config.keywords %>">
<%} %>

这段java?代码的意思是如果page有关键字,则用page的关键字,否则使用配置文件的关键字

如果使用的HEXO主题是NXT,编码页面的语言不是java则不行,需要把上面的代码修改成njk的代码?作为一个外行,表示不会转换这个代码,所以暂时没有实现post页面keywords的自动化设定。
具体可以参考HEXO官方文档中关于页面的设置?哪位大神如果实现了NXT主题增加keywords的代码,可以分享一下。

2、在文章(post)的front-matters里面加入关键词选项,具体如下所示:


title: 文章标题
date: 日期
categories: 分类
tags: 标签
keywords: 关键词1,关键词2

根据官方文档,做撰写文章(post)的时候,可以自行设定很多不同的前置内容,如keywords和description等用于SEO的参数。
然后在HEXO调用主题生成相应页面的时候,在生成代码中进行相应的front-matters信息调用,达到对应的目的。

参考资料:

https://opstrip.com/2017/03/12/hexo-sitemap-keywords/