hexo搭建个人博客之seo优化

SEO最重要的是你的标题,一般搜索都是搜索你的标题。

更改index.swig文件(your-hexo-sitethemesnextlayout);

将下面这段代码:

1

{% block title %} {{ config.title }} {% endblock %}

改成:

1

{% block title %} {{ config.title }} - {{ theme.description }} {% endblock %}

这时候你的首页会更符合网站名称 - 网站描述这习惯。

进阶,做了seo优化,把关键词也显示在title标题里,可改成:

1

{% block title %} {{ theme.keywords }} - {{ config.title }}{{ theme.description }} {% endblock %}

注意:别堆砌关键字,整个标题一般不超过80个字符,可以通过chinaz的seo综合查询检查。

关键词与描述

搜索引擎除了主要抓取标题外,页面的关键词和描述也会抓取。

在scaffoldspost.md中添加如下代码,用于生成的文章中添加关键字和描述。

1
2

keywords: 
description:

在themesnextlayout_partialshead.swig有如下代码,用于生成文章的keywords。暂时还没找到生成description的位置。

1
2
3
4
5
6
7

{% if page.keywords %}

{% elif page.tags and page.tags.length %}

{% elif theme.keywords %}

{% endif %}

然后在themesnextlayout_macropost.swig中找到这个位置:

1

{% if post.description %}

将以下代码去掉:

1
2
3
4
5
6
7

{% if post.description %}
{{ post.description }}
<div class="post-more-link text-center">

{{ __('post.read_more') }} »


否则首页的文章摘要就会变成文章的description。

举个例子:

1
2
3
4
5
6
7
8
9
10
11
12

---
title: HEXO SEO优化方法总结
copyright: true
top: 0
date: 2018-07-19 21:17:42
tags: SEO
categories: Debian
permalink:
password:
keywords: [HEXO,HEXO SEO优化]
description: 总结一下使用Hexo搭建博客后,SEO优化方案的总结,后期会不定期更新。
---

nofollow 标签

给非友情链接的出站链接添加 “nofollow” 标签,nofollow标签是由谷歌领头创新的一个“反垃圾链接”的标签,并被百度、yahoo等各大搜索引擎广泛支持,引用nofollow标签的目的是:用于指示搜索引擎不要追踪(即抓取)网页上的带有nofollow属性的任何出站链接,以减少垃圾链接的分散网站权重。

以hexo的NexT主题为例,需要修改两处

一:找到footer.swig,路径在your-hexo-sitethemesnextlayout_partials,将下面代码

改成:

将下面代码:

1


改成:

1


二:修改sidebar.swig文件,路径在your-hexo-sitethemesnextlayout_macro,将下面代码

1

{{ name }}

改成:

1

{{ name }}

将下面代码:

1


改成:

1


安装nofollow插件

减少出站链接能够有效防止权重分散,hexo有很方便的自动为出站链接添加nofollow的插件。

1

npm install hexo-autonofollow --save

该插件会将博客中的出站链接自动加上nofollow属性,例外请在站点配置文件_config.xml中添加如下字段

1
2
3
4

nofollow:
enable: true
exclude:
- https://qqqww.com // 友链地址

这样,例外的链接将不会被加上nofollow属性。

开启SEO优化选项

hexo博客next提供了seo优化选项,在主题配置文件_config.yml中有个选项是seo,默认是false,改成true即开启了seo优化,会进行一些seo优化,如改变博文title等,然后相同文件下有个关键字选项keywords,填充上,写博文时最好每篇博文都加上keywords。

我用的是next的主题,把该主题的_config.yml的默认keyword改成你的网址关键词

1
2

# Set default keywords (Use a comma to separate)
keywords: "wanggongtou"

开启压缩文件

因为hexo生成的文件是静态html,里面占用了大量的空白符。使用gulp进行压缩接口提高访问速度并且降低内存。

使用命令

1
2
3
4

npm install gulp -g
npm install gulp-minify-css gulp-uglify gulp-htmlmin gulp-htmlclean gulp --save
npm install gulp-concat
npm install gulp-imagemin

在hexo blog文件夹下创建gulpfile.js:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

var gulp = require('gulp'),
uglify = require('gulp-uglify'),
cssmin = require('gulp-minify-css'),
imagemin = require('gulp-imagemin'),
htmlmin = require('gulp-htmlmin'),
htmlclean = require('gulp-htmlclean');
concat = require('gulp-concat');
//JS压缩
gulp.task('uglify', function() {
return gulp.src(['./public/js/**/.js','!./public/js/**/*min.js'])//只是排除min.js文件还是不严谨,一般不会有问题,根据自己博客的修改我的修改为return gulp.src(['./public/**/*.js','!./public/zuoxi/**/*.js',,'!./public/radio/**/*.js'])
.pipe(uglify())
.pipe(gulp.dest('./public/js'));//对应修改为./public即可
});
//public-fancybox-js压缩
gulp.task('fancybox:js', function() {
return gulp.src('./public/vendors/fancybox/source/jquery.fancybox.js')
.pipe(uglify())
.pipe(gulp.dest('./public/vendors/fancybox/source/'));
});
// 合并 JS
gulp.task('jsall', function () {
return gulp.src('./public/**/*.js')
// 压缩后重命名
.pipe(concat('app.js'))
.pipe(gulp.dest('./public'));
});
//public-fancybox-css压缩
gulp.task('fancybox:css', function() {
return gulp.src('./public/vendors/fancybox/source/jquery.fancybox.css')
.pipe(cssmin())
.pipe(gulp.dest('./public/vendors/fancybox/source/'));
});
//CSS压缩
gulp.task('cssmin', function() {
return gulp.src(['./public/css/main.css','!./public/css/*min.css'])
.pipe(cssmin())
.pipe(gulp.dest('./public/css/'));
});
//图片压缩
gulp.task('images', function() {
gulp.src('./public/uploads/*.*')
.pipe(imagemin({
progressive: false
}))
.pipe(gulp.dest('./public/uploads/'));
});
// 压缩 public 目录 html文件 public/**/*.hmtl 表示public下所有文件夹中html,包括当前目录
gulp.task('minify-html', function() {
return gulp.src('./public/**/*.html')
.pipe(htmlclean())
.pipe(htmlmin({
removeComments: true,
minifyJS: true,
minifyCSS: true,
minifyURLs: true,
}))
.pipe(gulp.dest('./public'))
});
gulp.task('build', ['uglify', 'cssmin', 'fancybox:js', 'fancybox:css', 'jsall','images']);

//, 'minify-html'

在根目录下的package.json文件中生成写入scripts:

1

"scripts": {"build": "hexo clean && hexo g && gulp build"}

这样每次输入npm run build就会自动清理上次生成的文件,然后生成新的文件,最后压缩文件。

站内优化

这里就真正的涉及到SEO的相关知识了,对你的文章的结构,描述,关键词进行优化。

title优化

搜索引擎在抓取网页时,最先读取的就是网页标题,所以title是否正确设置极其重要。title一般不超过80个字符,而且词语间要用英文“-”隔开,因为计算机只对英语的敏感性较高,对汉语的敏感性不高。

1

用法:网站标题

注意点:

首页title写法:首页的title写法格式一般是“总标题-特别重要的关键词或者一句话含有特别重要关键词的描述”。注意这里的“-”是英文,要问我为什么呢?这个因为互联网不是我们国内开发的,汉语不是标准,计算机只对英语敏感性较高,而对汉语敏感性不太高。栏目页title写法:栏目页title的写法有两种,关键词名称命名写法是“栏目名称-总名称”,非关键词命名写法是:“栏目名称 栏目关键词-总名称”。分类列表页的title写法:用关键词为这个栏目起名,然后按照下列顺序填写便可了“分类列表页名称-栏目名称-总名称”。

注意事项:

每个标题应该是根据当前内容设置的独特不重复的。字数限制。不能太长,要不然搜索引擎结果列表会显示不全。最好不超过 25 个中文字。最好是在 10~20 之间。切勿堆砌关键词。这是很多人常犯的错误关键词最好出现在最前面标题有吸引力。毕竟有吸引力的标题才能让用户点击连词符的使用。可以使用 |->不要使用没有意义的句子 keywords优化

主要作用是告诉搜索引擎,这个网站内容是什么。因为,好多站长在keywords堆砌关键词,所以好多搜索引擎不太重视keywords了。建议大家还是认真填写keywords,有的搜索引擎还是很重视的,由于现在词频和密度对于 SEO 影响不大,所以只要保持你的正文中出现 4~6 次关键词就可以了。千万不能堆砌关键词。

注意点:

首页keywords写法:首页keywords按照选定的栏目名称,在首页的keywords中加入总名称、栏目名称和一两个关键词。栏目keywords写法:栏目的keywords其栏目下所有分类列表的名称列出,加上栏目关键字,写法是“栏目名称,栏目关键字,栏目分类列表名称”分类列表页keywords写法:将你这个栏目中的主要关键字写入。 Description优化

功能让搜索引擎是判断整个页面内容的,当中要写入的内容是你页面内容的简介。description一般不超过100个字符。对于个人站点而言,描述标签最好是一句通顺的句子,如果不能的话,则宁可不要。

注意点:

首页description写法:description的写法就是将首页的标题、关键词和一些特殊栏目的内容融合到里面,写成简单的介绍形式,不要只写关键词。栏目description写法:将栏目的标题、关键字、分类列表名称,尽量的写入description中,仍是尽量写成介绍形式。分类description写法:是将你这个栏目中的主要关键字写入。 H标签优化

H 标签的重要性可能是仅次与页面标签。H1->H6 的重要性依次降低。

所以建议在页面的 H1 和 H2 标签中混入关键词

图片 ALT 文字优化

插入图片的时候会提示输入文字,这个不能敷衍。图片 ALT 文字出现的关键词对页面相关性也有一定的影响。同样的,也不要在 ALT 上堆砌关键词。

内部链接及锚文字优化

内部链接对于爬行和收录具有很重要的意义。内部链接对页面关键词相关性也有影响,最主要的就是在内部链接中使用锚文字。

锚文字是告诉搜索引擎被链接页面主题内容的最重要依据之一。我们有时候可能无法控制外部链接的锚文字,但是对于站内的内部链接锚文字我们可以控制。不过有几点需要注意:

适当出现匹配关键词的锚文字锚文字不能集中导航或者页尾,要分散在正文中

本文参考文档以下三篇

HEXO SEO 高级优化

Hexo Seo优化让你的博客在google搜索排名第一

Hexo SEO设置

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享