title: HEXO SEO 高级优化
copyright: true
top: 0
date: 2018-07-19 21:17:42
tags: SEO,HEXO,HEXO SEO优化
categories: Debian
permalink:
password:
keywords: [HEXO,HEXO SEO优化]
description: 总结一下使用Hexo搭建博客后,SEO优化方案的总结,后期会不定期更新。
你已经成功了,成功的人不需要流弱者的眼泪。
个人对HEXO搭建博客的SEO优化方案进行总结,从本地的文章结构到定期推送,再到SEO关键词优化做一个全面体系的汇总,如果有更好的方法可以私聊我。
本地文章优化
添加sitemap
首先给你的文章生成sitemap文件
npm install hexo-generator-sitemap --save #sitemap.xml适合提交给谷歌搜素引擎
npm install hexo-generator-baidu-sitemap --save #baidusitemap.xml适合提交百度搜索引擎
然后在站点配置文件_config.yml中添加以下代码
# 自动生成sitemap
sitemap:
path: sitemap.xml
baidusitemap:
path: baidusitemap.xml
最后修改站点配置文件_config.yml
# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://你的网站
每次hexo g后都会在/public目录下生成sitemap.xml和baidusitemap.xml,这就是你的站点地图。
优化结构
seo搜索引擎优化认为,网站的最佳结构是用户从首页点击三次就可以到达任何一个页面,但是我们使用hexo编译的站点打开文章的url是:sitename/year/mounth/day/title四层的结构,这样的url结构很不利于seo,爬虫就会经常爬不到我们的文章,于是,我们可以将url直接改成sitename/title的形式,并且title最好是用英文,在根目录的配置文件下修改permalink如下:
url: http://你的网站
root: /
permalink: :title.html
permalink_defaults:
首页标题优化
SEO最重要的是你的标题,一般搜索都是搜索你的标题。
更改index.swig文件(your-hexo-site\themes\next\layout);
将下面这段代码:
{% block title %} {
{ config.title }} {% endblock %}
改成:
{% block title %} {
{ config.title }} - {
{ theme.description }} {% endblock %}
这时候你的首页会更符合网站名称 - 网站描述这习惯。
进阶,做了seo优化,把关键词也显示在title标题里,可改成:
{% block title %} {
{ theme.keywords }} - {
{ config.title }}{
{ theme.description }} {% endblock %}
注意:别堆砌关键字,整个标题一般不超过80个字符,可以通过chinaz的seo综合查询检查。
关键词与描述
搜索引擎除了主要抓取标题外,页面的关键词和描述也会抓取。
在\scaffolds\post.md中添加如下代码,用于生成的文章中添加关键字和描述。
keywords:
description:
在\themes\next\layout_partials\head.swig有如下代码,用于生成文章的keywords。暂时还没找到生成description的位置。
{% if page.keywords %}
<meta name="keywords" content="{
{ page.keywords }}" />
{% elif page.tags and page.tags.length %}
<meta name="keywords" content="{% for tag in page.tags %}{
{ tag.name }},{% endfor %}" />
{% elif theme.keywords %}
<meta name="keywords" content="{
{ theme.keywords }}" />
{% endif %}
然后在\themes\next\layout_macro\post.swig中找到这个位置:
{% if post.description %}
将以下代码去掉:
{% if post.description %}
{