# 前言


忙活了这么久,总算是把 我们自己的博客小站 给折腾个差不多了,可是除了我们自己, 谁还知道我们的博客小站呢? 这就把自己打扮的妖艳逼人,可是没有人知道啊!怎么办?去相亲网站挂出自己的个人资料,让更多的人知道。

同样的,对于我们的博客,要想让更多的人点进来,需要通过百度、Google 搜索来让别人知道我们,这就需要进行 SEO 优化 来让我们的博客站点对搜索引擎更加友好。 SEO (Search Engine Optimization) 搜索引擎优化 是指通过站内优化(如网站结构调整、网站内容建设、网站代码优化等)以及站外优化来提高网站在搜索引擎内的自然排名。

# 百度收录


打开百度搜索,输入 site:你的博客站点域名 来查看你的站点是否被百度收录:

img

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:

img

然后,在博客根目录下安装插件:

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 时,会从上述文件中读取链接提交到百度。

img

从图上可以看出,成功推送了 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 就好。

img

睡一觉第二天起来,谷歌搜索下自己的博客发现已经可以搜索到了。

img

# 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 优化
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

flechazo 微信支付

微信支付

flechazo 支付宝

支付宝

flechazo 贝宝

贝宝