Hexo博客SEO优化,添加robots.txt

前言

最近一时兴起,想提高自己博客的点击率,就尝试做了一些SEO优化,并且加入了Google Adsense广告。呵呵,
写博客这么辛苦,赚点钱是应该的嘛。

正文

废话不说了,直接进入主题。都知道要想在百度搜索,Google搜索结果页中排得靠前,你得让人家的爬虫搜你嘛,
所以我们得通过一个叫robots.txt的文件放在根目录上。这文件的目的,就是告诉搜索引擎应该搜索我这网站的那些内容。
我们当然希望是搜索我们文章内容本身,不要去搜那些JavaScript和CSS代码。

配置 robots.txt

我们在hexo 根目录下的 public 目录下新建一个robots.txt文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
User-agent: *
Allow: /
Allow: /archives/
Allow: /categories/
Allow: /tags/
Allow: /about/
Disallow: /vendors/
Disallow: /js/
Disallow: /css/
Disallow: /fonts/
Disallow: /fancybox/
Sitemap: https://mikolaje.github.io/sitemap.xml
Sitemap: https://mikolaje.github.io/baidu_sitemap.xml

最后面两行是site-map

这里要注意的是如果js和fonts这些加了disallow的话,会出现谷歌抓取问题。

因为现在(2019-09以后)Google Search默认是用智能手机引擎来抓取,
所以如果js和css这样被disallow的话会有问题,建议还是把上面的disallow去掉。

Sitemap即网站地图

它的作用在于便于搜索引擎更加智能地抓取网站。
最简单和常见的sitemap形式,是XML文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新时间、更新的频率及相对其他网址重要程度等)。

要使用sitemap我们需要安装两个hexo的插件:

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

然后,我们要在根目录下的_config.yml 的最后面添加如下内容:

1
2
3
4
sitemap:
path: sitemap.xml
baidusitemap:
path: baidusitemap.xml

配置 google analytics

在theme/next/_config.yml文件下添加如下配置:

1
google_analytics: UA-146421499-1

Track ID要到你自己的GA的页面里找

配置ads.txt

ads.txt是干什么用的?

授权数字卖方 (ads.txt) 是一项 IAB 计划,可帮助确保您的数字广告资源只通过您认定为已获得授权的卖家(如 AdSense)进行销售。创建自己的 ads.txt 文件后,您可以更好地掌控允许谁在您的网站上销售广告,并可防止向广告客户展示仿冒广告资源。

在Google Adsense找到相应的页面下载 ads.txt,然后同样放在根目录的public目录下面。

修改博文链接

HEXO默认的文章链接形式为domain/year/month/day/postname,默认就是四级url,并且可能造成url过长,对搜索引擎是不太不友好,
我们可以改成domain/postname 的形式。编辑站点的_config.yml文件,
修改其中的permalink字段改为permalink: :title.html即可。

配置完成后,重新部署hexo:hexo clean && hexo g && hexo d

疑问

备用网页(有适当的规范标记)

最近发现有77个页面处于这状态,为什么自己辛辛苦苦写的Blog,Google不给搜索?
我查了下文档:

1
2
备用网页(有适当的规范标记):
相应网页与 Google 所识别出的规范网页重复。该网页正确地指向了这个规范网页,因此您无需执行任何操作。

什么是规范网页呢?

1
2
3
规范网址是 Google 认为在您网站上的一组重复网页中最具代表性的网页的网址。
举例来说,如果同一个网页有多个网址(例如:example.com?dress=1234 和 example.com/dresses/1234),Google 便会从中选择一个网址作为规范网址。请注意,不完全相同的网页也可能被视为重复网页;通过对列表式页面的排序或过滤方式(例如,按价格排序或按服装颜色过滤)略做更改而生成的网页并不具有唯一性。
规范网页所在的网域可以与相应重复网页的网域不同。