这篇文章主要使用SEO使你的博客更具有吸引力(当然这是在被搜索引擎收录之后哦)
一、什么是SEO
汉译为搜索引擎优化。是一种方式:利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名
简单的说就是可以在当有用户搜索到关于你博客的内容时可以向他推送你博客的内容
优化结构
seo搜索引擎优化认为,网站的最佳结构是用户从首页点击三次就可以到达任何一个页面,但是我们使用hexo编译的站点打开文章的url是:sitename/year/mounth/day/title四层的结构,这样的url结构很不利于seo,爬虫就会经常爬不到我们的文章。在根目录的配置文件下修改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 %}
{% elif page.tags and page.tags.length %}
{% elif theme.keywords %}
{% endif %}
然后在\themes\next\layout_macro\post.swig中找到这个位置:
{% if post.description %}
将以下代码去掉:
{% if post.description %}
{{ post.description }}
<div class="post-more-link text-center">
<a class="btn" href="{{ url_for(post.path) }}">
{{ __('post.read_more') }} »
</a>
</div>
否则首页的文章摘要就会变成文章的description。
举个例子:
title: HEXO SEO优化
copyright: true
top: 0
date: 2019-1-1 21:17:42
tags: SEO
categories:
password:
keywords: [HEXO,HEXO SEO优化]
description: 总结一下使用Hexo搭建博客后,SEO优化方案的总结,后期会不定期更新。
nofollow 标签
给非友情链接的出站链接添加 “nofollow” 标签,nofollow标签是由谷歌领头创新的一个“反垃圾链接”的标签,并被百度、yahoo等各大搜索引擎广泛支持,引用nofollow标签的目的是:用于指示搜索引擎不要追踪(即抓取)网页上的带有nofollow属性的任何出站链接,以减少垃圾链接的分散网站权重。
以hexo的NexT主题为例,需要修改两处
一:找到footer.swig,路径在your-hexo-site\themes\next\layout_partials,将下面代码:
<a class="theme-link" href="https://github.com/iissnan/hexo-theme-next">
改成:
<a class="theme-link" href="https://github.com/iissnan/hexo-theme-next" rel="external nofollow">
二:修改sidebar.swig文件,路径在your-hexo-site\themes\next\layout_macro,将下面代码
<a href="{{ link }}" target="_blank">{{ name }}</a>
改成:
<a href="{{ link }}" target="_blank" rel="external nofollow">{{ name }}</a>
将下面代码:
<a href="http://creativecommons.org/licenses/{{ theme.creative_commons }}/4.0" class="cc-opacity" target="_blank">
改成:
<a href="http://creativecommons.org/licenses/{{ theme.creative_commons }}/4.0" class="cc-opacity" target="_blank" rel="external nofollow">
安装nofollow插件
减少出站链接能够有效防止权重分散,hexo有很方便的自动为出站链接添加nofollow的插件。
npm install hexo-autonofollow --save
该插件会将博客中的出站链接自动加上nofollow属性,例外请在站点配置文件_config.xml中添加如下字段
nofollow:
enable: true
exclude:
- www.tjl-myblog.cn
- 友链地址
这样,例外的链接将不会被加上nofollow属性。
##开启SEO优化选项
hexo博客next提供了seo优化选项,在主题配置文件_config.yml中有个选项是seo,默认是false,改成true即开启了seo优化,会进行一些seo优化,如改变博文title等,然后相同文件下有个关键字选项keywords,填充上,写博文时最好每篇博文都加上keywords。
我用的是next的主题,把该主题的_config.yml的默认keyword改成你的网址关键词
# Set default keywords (Use a comma to separate)
keywords: "tjl-myblog"