一.导语

1.本文的主要内容:

如何搜索引擎可以搜索到我们的博客

2.准备:

  • 什么是 SEO ?
    SEO是由英文Search Engine Optimization缩写而来, 中文意译为“搜索引擎优化”。SEO是指通过站内优化比如网站结构调整、网站内容建设、网站代码优化等以及站外优化。

  • 部署到 Github 上的缺点?
    Github是不允许百度的爬虫爬取内容的,所以我们的项目如果是托管在github上的话基本是不会被百度收录的。所以,我之前的测试一直是不行的。

  • 站点地图sitemap?

    之前配置Next主题样式的时候已经生成了通用的sitemap和百度搜索引擎用的sitemap。不知道的可以看主Next主题样式那一篇文章。我的两个地址分别是/sitemap.xml 和 /baidusitemap.xml 。

二.让谷歌搜索引擎收录我们的站点

1.先说谷歌的原因是:相比于百度,谷歌的效率是真的高问题少,重点是Github允许爬取。

2.流程:

①. 打开 google站点平台,登录,验证站点。我们选择网域,输入域名,选择继续。

②. 通过DNS进行验证,一般打开域名提供商,在域名解析里面添加一条记录(各项值如图所示)。一般都是等待十分钟后点击验证,验证成功点击前往资源页面。

③. 提交sitemap

④. 提交sitemap之后,很快就能被搜索到了。我先用了 site:域名 来测试是否站点是否被收录,然后又搜索了内容和图片。

三.让百度搜索引擎收录我们的站点

1.让百度收录我们的站点,两种方式。

①. 浏览器输入site:域名,点击提交网址给我们,也可以用来检测一个网站是否被收入站点

②. 点击百度搜索资源平台->用户中心->站点管理->添加网站。

2.验证网站所有权

①. 输入网站

②. 站点属性

③. 验证网站—选择的是 CNAME验证 方式。一般回告诉你这句话`请将 BdvNH1CQPw.****.com 使用CNAME解析到ziyuan.baidu.com` 。那么打开域名解析网站添加一条记录,主机记录值填 BdvNH1CQPw 这一段,记录类型值填 CNAME 。记录值填 ziyuan.baidu.com 这一段。**

3.提交sitemap

①. 将我们生成的sitemap文件提交给百度,有两种提交方式,自动提交和手动提交(不建议),自动提交又分为主动推送、自动推送和sitemap。

②. 设置主动推送:我使用的是 curl,Mac平台已经帮我们准备好了,无需安装。根据百度推送的文档描述,我们需要将要提交的链接按照每行一条的格式写入一个文本文件中,命名此文件为urls.txt,然后进入该文件所在目录,执行如下命令:

1
curl -H 'Content-Type:text/plain' --data-binary @urls.txt "http://data.zz.baidu.com/urls?site=&token=aw2T5HkRFBhCyakx"

③. 设置自动推送,由于NexT主题帮我们配置了“每次访问博客中的页面就会自动向百度提交sitemap”的代码,我们只需要打开 主题配置文件,搜索baidu_push,将值改为true即可。有的博客会说需要打开 themes\next\layout_third-party\se\baidu_push.swig 文件,添加百度自动推送提供的代码,但是NexT主题已经添加了,可以看下面的截图。

④. 设置sitemap,打开百度站长平台,网站支持->链接提交->自动提交->sitemap,输入你生成的百度sitemap的网址。

⑤. 如上图所示,文件的抓取状态会一直是 抓取失败,为什么呢? 因为之前提到过,Github 不允许百度的爬虫爬取,难搞哦,以后用自己的服务器再说吧。

四. SEO

1. 提交 robots.txt

robots.txt 是一种存放于网站根目录下的 ASCII 编码的文本文件,它的作用是告诉搜索引擎此网站中哪些内容是可以被爬取的,哪些是禁止爬取的。robots.txt 放在博客目录下的 source 文件夹中,博客生成后在站点目录 /public/ 下。

我的robots.txt的内容如下:

1
2
3
4
5
6
7
8
9
User-agent: *
Allow: /
Allow: /archives/
Allow: /categories/
Allow: /tags/
Disallow: /js/
Disallow: /css/
Disallow: /fonts/
Disallow: /vendors/

2.优化url

seo搜索引擎优化认为,网站的最佳结构是用户从首页点击三次就可以到达任何一个页面,但是我们使用hexo编译的站点打开文章的url是:sitename/year/mounth/day/title四层的结构,这样的url结构很不利于seo,爬虫就会经常爬不到我们的文章,于是,我们需要优化一下网站文章url

我们可以将url直接改成sitename/title的形式,并且title最好是用英文,在站点配置文件下搜索url修改permalink(原本的值:permalink: :year/:month/:day/:title/)如下:

参考文章

SEO优化-robots.txt解读

HEXO SEO 高级优化

解决百度蜘蛛无法爬取 Hexo 博客的问题

hexo: windows下向百度站长平台主动推送链接—此文章有windows平台curl安装的示例

Hexo博客第三方主题next进阶教程—此文章有文件验证如何避免验证的html被编译