引言

第一篇文章中介绍了搜索引擎原理基本原理和工作流程。在第二篇文章中介绍了 SEO 优化的基础部分-站内优化所包括的一些要素。

所以,在这篇文章就要教大家如何根据第二篇提到的站内优化要素对自己的博客进行 SEO 优化,以及介绍SEO常用的一些工具及用法。帮助大家的博客能更好更快地被搜索引擎收录。

下面的设置都是基于这个优化及改装过后的maupassant-hexo主题的操作。如果你也是基于 Hexo 构建博客的话,具体的设置可能或许会根据主题的不同会有些许差异,但思路是一样的。只要根据这个思路去改造就可以了。

网站结构优化

我们可以根据第二篇提到的站内优化一步一步来优化。

物理及链接结构

建议:呈现树形链接结构,且首页到内页的点击距离不能太大

由于我们的博客是用 Hexo 生成的静态博客,所以在物理结构上采用的是树形结构的方式。在链接结构上也是呈现树形结构,且由于是静态博客,并没有很深的链接结构,所以每个页面与首页的点击距离一般只有1~2次。

根据搜索引擎工作原理可知:网站首页是整个网站权重最高的页面,与首页的点击距离越小,被 spider 爬取的概率和权重也就越大。这也是为什么我们需要将内页(也就是具体的文章页面)的首页点击距离控制得越小越好。

清晰的导航

由于是个人博客,所以在导航的设置上一般都比较简洁,无需做过多的设置。一般是针对大型网站,拥有数量多,层级深的导航,才需要刻意设置导航结构。

分配好子域名和目录

建议:如果可以的话,使用目录来代替子域名

对于子域名而言,搜索引擎会把其当做单独的站点来对待。造成的后果就是主域名的权重很难分配给子域名。
所以如果你的主域名已经有其他用途的话,可以尝试将 blog 挂载到域名的目录下。
比如阮一峰老师的个人网站就是这么来分配的。
www.ruanyifeng.com 是个人网站首页,www.ruanyifeng.com/blog/ 是个人博客的路径。

禁止收录机制

建议:对于一些无关紧要的页面,使用 Robots.txt 或者 Meta Robots 标签指定,保证这些页面不被收录,不影响网站的权重。

比如一般博客都会有的 About Me 页面,以及有的人会自定义一些页面。一般来说,这些页面无需被浏览器收录。

下面以 About Me 作为例子,来说明如何为该页面添加 meta robots 标签。
思路如下:在 markdown 文件添加 disallow:true,然后在主题文件的 head 文件中根据 disallow 的值判断是否添加 <mate name="robots" content="noindex,nofollow">

在你的博客项目中找到“关于我”的 markdown 文件,

1
2
3
4
5
6
7
---
layout: "about"
title: '关于我'
date: 2017-03-25 04:48:33
disallow: true
comments: true
---

在文章开头添加 disallow:true 字段,表示当前页面不需要 spider 爬取。默认为true。

接下来打开主题文件下的 layout/_partial/head.jade: 添加 block robots

1
2
3
4
5
6
7
8
9
10
head
meta(http-equiv='content-type', content='text/html; charset=utf-8')
meta(content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0', name='viewport')
meta(content='yes', name='apple-mobile-web-app-capable')
meta(content='black-translucent', name='apple-mobile-web-app-status-bar-style')
meta(content='telephone=no', name='format-detection')
meta(content="dgvt3U_uqyQHGrm9xUEVFnAo2tRi4ZTMKgvSav_TNCA" name="google-site-verification" )
meta(name="msvalidate.01" content="D2790C82AAD9C96057EDDF2213A14C2D")
// 新增
block robots

然后打开 layout/page.jade,添加下面的内容:

1
2
3
4
5
extends base
// 新增
block robots
if page.disallow
meta(name='robots', content='noindex,nofollow')

这样就可以实现在当前页面设置 meta robots 标签,禁止浏览器收录。(需要注意的是,不同的 Hexo 主题采用的语法是不同的)

除了 robots meta 标签可以禁止搜索引擎收录和跟踪,还有 < a ref="nofollow" /> 也可以。那么在个人博客中, nofollow 有哪些使用场景呢?

  • 底部主题的链接。
  • 页面评论区的所有链接
  • 文章出现的其他网站的链接

网站地图

网站地图是每个网站的必须要有的。一般提供 XML 版本即可。
使用 Hexo 构建博客的可以直接使用插件 hexo-generator-sitemap ,每次新增编辑文章后,在发布前,会自动在根目录生成 sitemap.xml 文件。

如果你是第一次制作网站地图,你还需要做两件事:

页面优化

对于个人博客,网站结构可以调整的基本就是上面那些内容了。接下来说说如何改造博客的模板。
这个步骤需要对页面操作的就是页面的 Description Meta 标签了。

几乎大部分的主题并不会为每篇文章设置单独的 Description Meta。一小部分主题会将每篇文章的 tag 设置成 Description Meta。很显然,这两种方式,都不是我们提倡的。
接下来说说,如果为每篇文章添加单独的 Description Meta。

改造思路如同上面的 Robot Meta,也是在每篇文章的开头添加 desc:一句话总结文章,然后在 post.jade 这个模板文件中判断当前页面是否存在 desc 字段,如果存在的话,则使用当前页面自定义的描述内容,否则就使用默认。
打开 layout/_partial/head.jade,添加 block description

1
2
3
block description
block robots
block title

然后打开 layout/post.jade,添加下面的内容:

1
2
3
4
5
block description
if page.desc
meta(name='description', content=page.desc)
else
meta(name='description', content=config.description)

这样就可以针对每篇文章设置单独的描述内容了。页面的标题设置同上面的一致。

其他的一些页面优化内容,都只需要在写文章内容的时候注意就可以了,无需改造网站主题文件了。

其他需要你注意的事情

提交你的博客地址到搜索引擎

第一件就是:添加你的博客地址到各大搜索引擎。

如果你不主动提交你的博客地址给各大搜索引擎,那么即使你站内优化做得再好,搜索引擎根本都不知道你的博客的存在。
所以别忘记在你创建完博客的那一刻就去提交。如果你此刻还没有提交,现在就去吧。

此外,在你博客每新增一篇文章,也需要将文章地址提交到各大搜索引擎入口。如果只是个人博客的话,一般只需要针对 Google 就可以了。

Google 站长工具 和 Google Analysis

GA 是用来统计访问信息的,站长工具是用来查看网站的查询和搜索数据。建议每个博客都需要配置这两个。
GA 的安装现在的主题基本都覆盖了,你只需要去申请一个key就可以了。

接下来说说 Google 站长工具
登录之后,你需要先添加你的网站并验证你的网站:

验证完网站之后,你需要进行 robots.txt 测试和网站地图添加。这样能快速让搜索引擎收录你博客的页面。


这两步完成之后,就可以查看你的博客在搜索引擎的数据了。比如你可以查看用户搜索什么关键词时会展示你的页面,以及对应的点击率和其他一些指标。

前面说到的在你新增一篇文章之后,可以直接在 站长工具内的 Google 抓取工具 中提交,这样速度最快,一般提交几分钟后就能被收录了。

更换要域名怎么办?

建议是不要随便更好域名。如果非得更换域名的话,需要将旧的域名依然保持运行,然后对旧域名的所有访问设置 301 跳转,将旧的域名的权重都转移到新的域名上。

如果你是用 nginx 的话,可以在配置文件上添加:

1
2
3
4
5
6
7
8
9
10
server {
listen 80;
server_name www.iamsuperman.cn;
rewrite ^/(.*) http://chenhuichao.com/$1 permanent; // permanent 表示301永久 redirect 表示302临时
}
server {
listen 443;
server_name www.iamsuperman.cn;
rewrite ^/(.*)http://www.iamsuperman.cn/$1 permanent;
}

server_name 是你的旧域名。

写在最后

上面所说的站内优化都只是一些最基础的优化。你并不能期望,你做完站内优化后,博客排名就能上升很快。你需要知道的是,SEO 是一个长期的过程,所以把基础的站内优化做好后,定期更新高质量的文章才是不断提高访问量和排名的最好的办法。

参考链接:https://juejin.cn/post/6844903600485826567