# 前言
忙活了这么久,总算是把 我们自己的博客小站
给折腾个差不多了,可是除了我们自己, 谁还知道我们的博客小站呢?
这就把自己打扮的妖艳逼人,可是没有人知道啊!怎么办?去相亲网站挂出自己的个人资料,让更多的人知道。
同样的,对于我们的博客,要想让更多的人点进来,需要通过百度、Google 搜索来让别人知道我们,这就需要进行 SEO 优化
来让我们的博客站点对搜索引擎更加友好。 SEO (Search Engine Optimization) 搜索引擎优化
是指通过站内优化(如网站结构调整、网站内容建设、网站代码优化等)以及站外优化来提高网站在搜索引擎内的自然排名。
# 百度收录
打开百度搜索,输入 site:你的博客站点域名
来查看你的站点是否被百度收录:
w(゚Д゚)w 果然是没有收录。
# 验证网站所有权
登录 百度站长平台 进入” 用户中心” –> “站点管理” –> “添加网站”。
第一步:
输入网站。注意这里添加的站点地址只能是自己购买的域名,不能是 github.io。
第二步:
选择站点属性。
第三步:
验证网站。有文件验证、HTML 标签验证、CNAME 验证三种方式,我这里选择的是文件验证这种方式。根据指示下载验证文件后,将下载的文件放在博客根目录下的 source 文件夹下,如果你下载的验证文件类型是 html 文件则还需要对该 html 文件做相应修改以保证该文件上传到网站后是一模一样的,即不被渲染和压缩。因此需要在 html 文件第一行加入下面的内容:
--- | |
layout: false | |
--- |
接着 重新部署更新自己的博客
后,确认验证文件是否可以正常访问,如果不能访问的话会出现 “404 Error”,这时候重新部署上传几次就可以了;如果可以访问的话会出现之前下载的验证文件里的信息(即一串字母数字的组合),点击 “完成验证” 按钮即可。
# 选择链接提交方式
当网站 通过验证
之后,我们就可以使用链接提交工具了,目前链接提交工具分为自动提交和手动提交两大块,手动提交顾名思义自己手动复制粘贴去提交。 自动提交中又分为:sitemap、主动推送、自动推送三种方式。
三者都是将站点自身的 URL 自动推送至百度,而后等待百度爬虫进行对页面的抓取。建议安装三个自动推送方式,并让三者协同工作,将抓取和收录价值最大化。
# 手动提交
点击 “网站支持” –> “数据引入” –> “链接提交” –> “手动提交”,填写链接地址即可。
# sitemap 提交
Sitemap(即站点地图)就是网站上各网页的列表。创建并提交 Sitemap 有助于百度发现网站上的所有网页。
首先,安装 Sitemap generator 插件:
npm install hexo-generator-baidu-sitemap --save
接着,打开博客站点配置文件 _config.yml
,增加 baidusitemap
属性:
baidusitemap: | |
path: baidusitemap.xml |
这样执行 hexo generate
时,会在 public/
文件夹下生成站点文件 baidusitemap.xml
。
最后,在百度站长平台 –> “数据引入” –> “链接提交” –> “自动提交” –> “sitemap” –> “填写数据文件地址” ,填上 你的博客主页/baidusitemap.xml
即可。
# 主动推送
主动推送我们网站第一时间产生的新内容给百度,不过主动推送是有推送数量的限制,尽可能的不要推送重复的内容给百度。这样会大大浪费自己的可推送资源。
首先,在百度站长平台 –> “数据引入” –> “链接提交” –> “自动提交” –> “主动推送” 找到自己的推送调用地址和密钥 token:
然后,在博客根目录下安装插件:
npm install hexo-baidu-url-submit --save
最后,打开博客站点配置文件 _config.yml,增加 baidu_url_submit 属性以及修改 url 属性和 deploy 属性:
url: http://littledream.top ## 修改为你在百度站长平台注册的域名 | |
# 百度主动推送 | |
baidu_url_submit: | |
count: 5 ## 提交最新的 5 个链接 | |
host: littledream.top ## 注意修改为你在百度站长平台中注册的域名 | |
token: qeqwqrq123456 ## 注意修改为你的秘钥 | |
path: baidu_urls.txt ## 文本文档的地址 新链接会保存在此文本文档里 | |
# Deployment | |
## Docs: https://hexo.io/docs/deployment.html | |
deploy: | |
- type: git | |
repo: | |
github: https://github.com/GuichenLv/GuichenLv.github.io.git | |
branch: master | |
## 发布时同时进行百度推送 | |
- type: baidu_url_submitter ## 这一条是新加的 注意前面有个 - |
这样执行 hexo generate
时,会在 public/baidu_urls.txt
这个文本文件保存最新的链接;执行 hexo deploy
时,会从上述文件中读取链接提交到百度。
从图上可以看出,成功推送了 5 条 url,当天剩余可推送 url 还有 9994 条。
# 自动推送
我们将一段 js 代码部署到我们的每一个网页中,当有用户进行访问时就会触发这段代码,这段代码就会自动将当前页面的 url 推送给了百度。实现起来非常简单,只需要将百度提供的代码安装在网站页面中,安装完成后即可实现链接自动推送功能。
首先,打开主题配置文件 _config.yml
,增加 baidu_push 属性:
# 自动推送 | |
baidu_push: true |
然后,在 themes/yilia/layout/_partial/
文件夹下新建 baidu-push.ejs
文件,自动推送工具代码 可以在百度站长平台自动推送菜单下找到:
<% if (theme.baidu_push){ %> | |
<script> | |
(function(){ | |
var bp = document.createElement('script'); | |
var curProtocol = window.location.protocol.split(':')[0]; | |
if (curProtocol === 'https') { | |
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; | |
} | |
else { | |
bp.src = 'http://push.zhanzhang.baidu.com/push.js'; | |
} | |
var s = document.getElementsByTagName("script")[0]; | |
s.parentNode.insertBefore(bp, s); | |
})(); | |
</script> | |
<% } %> |
最后,打开 themes/yilia/layout/_partial/head.ejs
,在文件最后 </head>
前添加一句代码即可:
<%- partial('baidu-push') %> |
# 效果查看
上面这些都设置成功后,一般不会立刻收录生效,稍等两天再来看看。
# 链接数量查看
打开百度站长平台,可以看到通过不同方式提交成功的去重后链接数量。
# 百度搜索结果查看
打开百度搜索博客,现在可以看到自己的博客啦 ヾ (≧▽≦*) o
# 谷歌收录
与百度收录操作相似,但是谷歌的效率要高很多,操作完之后基本就收录完成了。
# 添加网站进行验证
打开 谷歌搜索控制台,选择 URL prefix,输入你的博客域名后进行验证,我这里使用的仍然是 HTML 验证方式,可以参考 谷歌验证方法详情 进行操作。与百度收录操作相似的,下载 html 文件到博客根目录下的 source 文件夹并在 html 文件前加上代码:
--- | |
layout: false | |
--- |
重新部署更新自己博客后,点击 VERIFY 按钮查看是否添加验证成功。
# 提交 Sitemap
首先,安装插件:
npm install hexo-generator-sitemap --save |
接着,打开博客站点配置文件 _config.yml
,增加 sitemap
属性:
# googleSiteMap | |
sitemap: | |
path: sitemap.xml |
执行 hexo generate 时,会在 public/ 文件夹下生成站点文件 sitemap.xml。执行 hexo deploy 时,将上述文件部署到云端。
最后,在谷歌控制台提交这个 sitemap。只有 deploy 之后再提交才会成功,失败的话重新 deploy 再 submit 就好。
睡一觉第二天起来,谷歌搜索下自己的博客发现已经可以搜索到了。
# SEO 优化
互联网这么大,写相似博客的人这么多,搜索出来结果那么多,怎么样才能让你的文章在搜索结果前排是个学问。下面一些简单的小技巧可以让自己排名提升。
# 加密文章 URL
默认的文章 URL 网址/年/月/日/文章名
格式结构过于复杂,不便于搜索引擎抓取,需要进行优化。
首先,安装插件:
npm install hexo-abbrlink --save
接着,打开博客站点配置文件 _config.yml
,修改 permalink
属性并添加 abbrlink
属性:
permalink: article/:abbrlink.html | |
abbrlink: | |
alg: crc32 # 算法 | |
rep: hex # 进制 |
注意修改之后文章的链接都会发生变化,所以旧文章的统计数据 (浏览量) 会重新计数。
# 添加 robots.txt
robots.txt
是一种存放于网站根目录下的 ASCII 编码的文本文件,它的作用是告诉搜索引擎此网站中哪些内容是可以被爬取的,哪些是禁止爬取的。
在 source/
文件夹下新建 robots.txt
文件:
User-agent: * | |
Allow: / | |
Allow: /tags/ | |
Disallow: /archives/ | |
Disallow: /categories/ | |
Disallow: /vendors/ | |
Disallow: /js/ | |
Disallow: /css/ | |
Disallow: /fonts/ | |
Disallow: /vendors/ | |
Disallow: /fancybox/ | |
Sitemap: http:// 你的博客域名 /sitemap.xml | |
Sitemap: http:// 你的博客域名 /baidusitemap.xml |
其中,Allow 表示允许被访问的,Disallow 则不允许。后面两个 Sitemap 是给爬虫用的。
deploy 后会生成在网站的根目录,即 /public/ 文件夹下。
还有一些其他的策略可以进行优化,比如首页 title 优化、给非友情链接的出站链接添加 “nofollow” 标签等,这里就不介绍了。那么设置 SEO 优化百度、谷歌收录就讲到这里,到目前为止已经花费了 4 篇博客来介绍如何搭建博客站、美化博客站、实现博客站的基本功能,下一篇博客我们来说说怎么写博客。
# 参考信息
- 百度官方 - 新站如何被百度快速收录
- hexo+yilia 进行 SEO 优化
- Hexo 博客之后续 SEO 优化