hexo博客搭建(五)SEO优化

何为SEO优化

搜索引擎优化(英语:search engine optimization,缩写为SEO),是一种通过了解搜索引擎的运作规则来调整网站,以及提高目的网站在有关搜索引擎内排名的方式。由于不少研究发现,搜索引擎的用户往往只会留意搜索结果最前面的几个条目,所以不少网站都希望通过各种形式来影响搜索引擎的排序,让自己的网站可以有优秀的搜索排名。当中尤以各种依靠广告维生的网站为甚。
所谓“针对搜索引擎作最优化的处理”,是指为了要让网站更容易被搜索引擎接受。搜索引擎会将网站彼此间的内容做一些相关性的数据比对,然后再由浏览器将这些内容以最快速且接近最完整的方式,呈现给搜索者。搜索引擎优化就是通过搜索引擎的规则进行优化,为用户打造更好的用户体验,最终的目的就是做好用户体验。
对于任何一个网站来说,要想在网站推广中获取成功,搜索引擎优化都是至为关键的一项任务。同时,随着搜索引擎不断变换它们的搜索排名算法规则,每次算法上的改变都会让一些排名很好的网站在一夜之间名落孙山,而失去排名的直接后果就是失去了网站固有的可观访问流量。所以每次搜索引擎算演法的改变都会在网站之中引起不小的骚动和焦虑。可以说,搜索引擎优化是一个愈来愈复杂的任务。
——维基百科

看起来还蛮高大上的。
当我们的网站设置好之后,能不能在搜索引擎搜索到呢?
试一下。

百度搜索:
site: liyaolife.com
返回结果

Amazing!搜不到,所以怎么办?SEO优化。

Google SEO优化

下面以Google为例,讲一下SEO优化的过程。

注册Google Search Console

使用Google账号直接登录即可,没有的,注册一个,不需要实名认证,非常方便。
添加博客域名,验证域名所属权,这里当然不会给我们手机发送一个验证码了,而是通过其他方式验证。

点击添加属性。

然后在后面输入自己的网址。

验证方式有很多种,我选择的是通过HTML标记验证,只需要添加一行代码放到首页即可。
把那行代码复制下来,放到,theme/layout/_partial/header.ejs文件里面,即可。这样更新自己的博客之后,在chrome里右键查看源代码就会发现。

这行代码,Google正式通过这种方式来验证我们对网站的所有权,下面一行baidu-site-verification就是百度的验证。方法是一样的。

添加站点地图 sitemap

首先,在本地安装站点地图自动生成的插件

npm install hexo-generator-sitemap --save
npm install hexo-generator-baidu-sitemap --save 

在blog的配置文件中增加:

sitemap: 
    path: sitemap.xml
baidusitemap:
    path: baidusitemap.xml

注意格式一定要正确,这里建议使用带高亮的编辑器(比如Atom)打开配置文件,因为带高亮的情况下,可以很容易看出格式正不正确。

添加好之后hexo g即可在本地生成sitemap.xml文件了,deploy之后在线
http://liyaolife.com/sitemap.xml也可以看见我的sitemap。

然后在Google search console里添加sitemap即可。

添加robots.txt测试工具

在博客的source文件下面新建robots.txt
内容

# hexo robots.txt
User-agent: *
Allow: /
Allow: /archives/

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

Sitemap: http://liyaolife.com/sitemap.xml
Sitemap: http://liyaolife.com/baidusitemap.xml

注意将网址换成自己的!

部署,然后同样提交到google search console里面

大功告成,很快Google就可以搜索到我们啦。

排在第一位,很棒。

百度SEO

过程与Google基本一致,但是由于GitHub Pages屏蔽了百度的爬虫请求,所以baidusitemap.xml总是提交失败。

解决这个问题,过程非常麻烦,知乎有一个讨论帖。

知乎:如何解决百度爬虫无法爬取搭建在Github上的个人博客的问题?

我总结了一下,基本上可以分为两个方案。

  • 在国内的gitcafe或者coding这样的类GitHub平台再做一个页面,也解析到我们的网址,国内的请求访问这个源,国外的访问GitHub的源。

    但是这个方案最近似乎不行了,因为国内的一些服务方如果不买会员,就会强制加几秒广告!!!

  • 第二种方法,CDN服务,设置一个缓存区,百度爬的是缓存区的内容,技术上可行,但是国内的CDN服务方,腾讯云,七牛云,要求网站必须备案,备案过程非常繁琐……

所以这个问题就很难解决,要么就自己买VPS(租服务器),把网站部署到VPS上,这样就不会受到GitHub的限制了。

总之很多博客都没有解决这个问题,这也是为什么一些技术问题在百度搜索的时候找不到答案,用Google可以,因为很多个人博客百度检索不到啊!另外,这个锅,似乎不该百度来背……

抽空给必应和搜狗也做一个SEO吧。


本文首发于个人网页Yao Blog,知乎专栏谈技术 不能潦草。

你可能感兴趣的:(Hexo,HEXO)