从零开始的Hexo博客搭建教程(三):SEO优化

从零开始的Hexo博客搭建教程(三):SEO优化

🍰 本篇着重介绍了 Hexo 博客做 SEO 的一些小技巧,在内容优质程度不变的情况下如何针对搜索引擎展示或主动提交更多内容。

为什么要做SEO?

SEO”Search Engine Optimization”汉译为搜索引擎优化 ,搜索引擎优化是一种利用搜索引擎的搜索规则来提高目前网站在有关搜索引擎内的自然排名的方式,搜索引擎优化是提高网站在搜索引擎结果中排名的战略。

SEO非常耗时间,但“结果”是增加流量和更高的回报,而这需要您长久的悉心耕耘。

我国互联网用户高达12.8亿,这意味着无论您提供什么样的业务,您的目标受众都可能会在搜索引擎上搜索类似的产品或服务,如果你想吸引他们到你的网站,你需要搜索引擎优化。

它涉及确定目标受众在寻找像您这样的产品或服务时使用哪些关键词和短语,然后努力为这些搜索排名。您需要找到最有潜力和最少竞争的5或10个关键词。这些通用术语的流量通常非常高,并且可能会将网站变成一个流量生成的强国。

  • 搜索流量质量高:主动搜索的用户基本上都是有相关需求的,这些流量留存率高,转化率高,是非常优质的流量来源

  • 性价比高:相对于其他宣传方式,付出的成本低很多

  • 可扩展性:网站可以不停的增加关键词及相关流量

  • 长期有效: 一旦排名提上去,有效期较长

网站标题优化

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

更改 index.swig 文件(your-hexo-site\themes\next\layout);

将下面这段代码:

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 综合查询检查。

生成 sitemap

添加 sitemap 的目的是为了告诉搜索引擎你的站点结构。

sitemap 生成插件的安装和配置

1
2
$ npm install hexo-generator-sitemap --save
$ npm install hexo-generator-baidu-sitemap --save

在站点配置文件中添加 sitemap 的生成路径

1
2
3
4
sitemap:
path: sitemap.xml
baidusitemap:
path: baidusitemap.xml

现在执行 hexo g 生成以后应该可以访问 sitemap.xml 和 baidusitemap.xml

分别到谷歌和百度的站长工具网站上提交 sitemap 就可以了。
如果不主动提交 sitemap,搜索引擎可能无法自己找到 sitemap,即使找到,速度也会很慢。
github 好像屏蔽了百度的爬虫,所以即使提交了 sitemap,也可能出现无法爬下来的情况。于是我们需要主动向百度提交链接。

让搜索引擎收录你的站点

百度站长

我们首先要做的就是让各大搜索引擎收录你的站点,我们在刚建站的时候各个搜索引擎是没有收录我们网站的,在搜索引擎中输入site:<域名>,如果如下图所示就是说明我们的网站并没有被百度收录。我们可以直接点击下面的“网址提交”来提交我们的网站。
查看站点是否被百度收录

提交网址

一般选 www.开头
(题外话:一定要注意 github 和 coding 在绑定域名时也要顺便绑定 www 和非 www)

百度新站保护

经检测,您的站点符合百度新站保护要求,请先填写您网站的备案号,填写完成后您可以使用链接提交工具中的“新站保护”提交方式提交数据,百度将对此部分数据的抓取收录提供优待,为期2个月;备案信息可在站点属性工具中查看及修改。

Google Search Console

添加资源

将该文件上传至 hexo 博客文件夹的 source/ 目录后部署即可。

注意:一定要设置根目录下的 _config.yml

1
2
3
skip_render: #跳过渲染的文件列表
- googlexxxxxxxxxxxxxx.html #防止被渲染导致内容变更,不一致则无法验证所有权
- README.md

提交 sitemap.xml

打开 菜单 - 站点地图 提交 sitemap.xml 即可。

向百度主动提交链接

百度站长获取 token

安装 hexo-baidu-url-submit 插件

1
npm install hexo-baidu-url-submit --save

然后,同样在根目录下,把以下内容配置到_config.yml文件中:

1
2
3
4
5
baidu_url_submit:
count: 1 ## 提交最新的一个链接
host: www.nuist.today ## 在百度站长平台中注册的域名
token: your_token ## 请注意这是您的秘钥, 所以请不要把博客源代码发布在公众仓库里!
path: baidu_urls.txt ## 文本文档的地址, 新链接会保存在此文本文档里

其次,记得查看 _config.yml 文件中 url 的值, 必须包含是百度站长平台注册的域名(一般有 www), 比如:

1
2
3
4
# URL
url: https://www.nuist.today
root: /
permalink: post/:title/

最后,加入新的 deployer:

1
2
deploy:
- type: baidu_url_submitter

执行hexo deploy 的时候,新的连接就会被推送了。

robots.txt 文件

your-hexo-site\source 中新建 robots.txt,告诉搜索引擎,哪些是可以爬的,哪些是不可以爬的,格式如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#hexo robots.txt
User-agent: *

Allow: /
Allow: /archives/
Allow: /categories/
Allow: /tags/

Disallow: /vendors/
Disallow: /js/
Disallow: /css/
Disallow: /fonts/
Disallow: /vendors/
Disallow: /fancybox/

Sitemap: https://hjptriplebee.github.io/search.xml
Sitemap: https://hjptriplebee.github.io/sitemap.xml
Sitemap: https://hjptriplebee.github.io/baidusitemap.xml

外链 nofollow

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

修改模板

网站中的 href 出站链接最好添加 nofollow 标签,如:

1
2
3
{{ __('footer.powered',
'Hexo'
) }}

改成

1
2
3
{{ __('footer.powered',
'
"external nofollow">Hexo
') }}

这种方式修改貌似只能一个一个修改,有点麻烦,只修改了几处地方,或许有空可以研究 hexo 和 next 主题代码看如何进一步优化。

使用 hexo-nofollow 插件

为什么没有使用 hexo-autonofollow 插件呢

原理:使用 cheerio 修改文章中每一个 标签 的属性。

安装

1
$ npm install hexo-nofollow --save

To enable this plugin, insert the following to _config.yml:

1
2
nofollow:
enable: true

Options

1
2
3
4
5
6
nofollow:
enable: true
exclude:
- exclude1.com
- exclude2.com
external_link: true

*Note:* external_link setting is already in the default _config.yml. Only add it if you can’t find it.

文章 url 唯一且永久化

HEXO 默认的文章链接形式为domain/year/month/day/postname,默认就是一个四级 url,并且可能造成 url 过长,对搜索引擎是十分不友好的,而且一旦文章名字改变,链接也跟着改变。有没有什么方法让地址尽量短小精悍,同时永久化呢?

使用插件 hexo-abbrlink 可以做到,安装:

1
$ npm install hexo-abbrlink --save

至于为什么不用 hexo-uuid,请看 hexo-abbrlink 插件的介绍

然后 hexo 的根目录配置文件_config.yml 中修改:

1
2
3
4
permalink: p/:abbrlink
abbrlink:
alg: crc16 # 算法:crc16(default) and crc32
rep: dec # 进制:dec(default) and hex

这样就确保了博文链接的唯一化,只要不修改 md 文件的 abbrlink 的值,url 就永久不会改变。如此 md 文件名和文件内容也可以随便改了。这样也有利于 SEO 优化。

_另外,在使用过程中我发现了一个 BUG,请注意不要在 hexo server 下直接编辑_post 文件夹中的文章,会导致整个文件直接被覆盖成 addrlink: xx。_

打个广告(。^ ▽ ^)

推荐好朋友 牛牛小可爱写的插件 🎀 hexo-nanoid

本站已经在使用了

文章关键词与描述

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

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

1
2
keywords:
description:

其他

养成良好的md图片书写习惯

众所周知 是有利于搜索引擎的,所以在markdown中指定图片时不要漏掉图片标题 ![图片标题](图片链接🔗)

遵循中文文案排版规范

虽然这对SEO并无帮助,但这对于 增强网站气质、降低沟通成本 是必要的。

排版、空白、标点符号 等的正确使用大有章法可循。

这里提供一些参考资料↓



📘《从零开始的Hexo博客搭建教程》系列文章:

  1. 从零开始的Hexo博客搭建教程(一):开始
  2. 从零开始的Hexo博客搭建教程(二):主题
  3. 从零开始的Hexo博客搭建教程(三):SEO优化
  4. 从零开始的Hexo博客搭建教程(四):图床
  5. 从零开始的Hexo博客搭建教程(五):文章发布
  6. 从零开始的Hexo博客搭建教程(六):插件
  7. 从零开始的Hexo博客搭建教程(七):遇到的坑

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×