hexo+yilia进行SEO优化


介绍

SEO优化

推广是一个烦人的事情,特别是对于我们搞技术的来说,可能就不擅长推广,那么怎么才能让别人知道我们呢,我们就要想办法让别人通过搜索就可以搜索到你博客的内容,给我们带来自然流量,这就需要seo优化,让我们的站点变得对搜索引擎友好。

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

百度收录

参考:https://blog.csdn.net/linzhiqiang0316/article/details/89344595
百度官方介绍:https://ziyuan.baidu.com/college/articleinfo?id=1504

bug:提交推送链接后,百度好像有延迟,你不能立即看到提交数据的变化,我的是过几天后才有数据的。

如何选择链接提交方式 ?

  1. 手动提交:一次性提交链接给百度,可以使用此种方式。
  2. 自动提交(虽然这种方式各有千秋,但是百度推荐全用上,全面一点!):
    2.1 主动推送(实时):最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。
    2.2 自动推送:最为便捷的提交方式,请将自动推送的JS代码部署在站点的每一个页面源代码中,部署代码的页面在每次被浏览时,链接会被自动推送给百度。可以与主动推送配合使用。
    2.3 sitemap:您可以定期将网站链接放到sitemap中,然后将sitemap提交给百度。百度会周期性的抓取检查您提交的sitemap,对其中的链接进行处理,但收录速度慢于主动推送。

设置推送

站长平台:https://ziyuan.baidu.com

前提:注册百度,添加站点、验证站点。

注意:使用HTML进行验证的话,要保证该文件上传到网站后是一模一样的,即不然被渲染和压缩,跳过渲染可以再HTML文件前面加入下面的内容;跳过压缩因插件而异。跳过该HTML文件。

---
layout: false
---

验证成功就能在百度找到你的网站了,如site:www.yansheng.xyz,不过百度好像没有那么快,可能需要一两天。

主动推送

参考:Hexo插件之百度主动提交链接

前提:获得秘钥

您得注册百度站长工具,然后在(标题栏)网站支持->数据引入->链接提交里找到你的密匙。
现在(2020-6-23)该网站好像改版了,你可以在资源提交->普通收录里找到你的密匙,如下图。

添加插件hexo-baidu-url-submit

该插件github网址:https://github.com/huiwang/hexo-baidu-url-submit

首先,在Hexo根目录下,安装本插件:
npm install hexo-baidu-url-submit --save

配置“百度主动推送”

然后,同样在根目录下,把以下内容配置到_config.yml文件中:

# 百度主动推送
baidu_url_submit:
  count: 1 ## 提交最新的一个链接
  host: www.hui-wang.info ## 在百度站长平台中注册的域名
  token: your_token ## 请注意这是您的秘钥, 所以请不要把博客源代码发布在公众仓库里!
  path: baidu_urls.txt ## 文本文档的地址, 新链接会保存在此文本文档里

其次,记得查看_config.yml文件中url的值, 必须包含是百度站长平台注册的域名(一般有www), 比如:

# URL
url: http://www.hui-wang.info

最后,加入新的deployer:

deploy:
- type: s3 ## 这是我原来的deployer
  bucket: hui-wang.info
- type: baidu_url_submitter ## 这是新加的

注意:上面是官方的文档,而实际上应该要这样,可参考我的:

deploy:
- type: git
  repository: 
     github: https://github.com/yansheng836/yansheng836.github.io.git
     coding: https://git.dev.tencent.com/yansheng836/yansheng836.coding.me.git
  branch: master
  # 发布时,同时进行百度推送
- type: baidu_url_submitter

因为不是有两个deploy,要放在一起。

如何进行推送

执行hexo deploy的时候,新的连接就会被推送了。如下图

mnv2AU.jpg

查看官网信息(如下所示)我们可以知道这是推送成功了。

补充:官网信息查看方式 (标题栏)网站支持->数据引入->链接提交->自动提交->主动推送,在下面就有推送成功的信息(如下)。

#成功返回示例:
{
    "remain":4999998,
    "success":2,
    "not_same_site":[],
    "not_valid":[]
}

重新生成后,我们可以发现在public\目录下生成有baidu_urls.txt里面的就是推送的链接。

自动推送

参考:https://purewhite.io/2017/04/29/hexo-baidu-url-submit/

https://github.com/JoeyBling/hexo-theme-yilia-plus/commit/c1215e132f6d5621c5fea83d3c4f7ccbcca074a3

1.在配置H:\Hexo\themes\yilia\_config.yml中开启功能:

# 开启百度站长平台自动推送(https://ziyuan.baidu.com/linksubmit/index)
# 页面被访问了,就会被推送过去。
baidu_push: true

2.新建H:\Hexo\themes\yilia\layout\_partial\baidu-push.ejs

<% if (theme.baidu_push){ %>


<% } %>

3.在H:\Hexo\themes\yilia\layout\_partial\head.ejs前引入脚本:


<%- partial('baidu-push') %>


sitemap

参考博客:https://purewhite.io/2017/04/29/hexo-baidu-url-submit/

我们使用 hexo generator-baidu-sitemap这个插件,github:https://github.com/coneycode/hexo-generator-baidu-sitemap

或者使用这个插件:https://github.com/ludoviclefevre/hexo-generator-seo-friendly-sitemap:它将为页面,帖子,类别,标签和XSL样式表生成单独的站点地图文件。

安装hexo generator-baidu-sitemap插件
#if your hexo version is 2.x.x, you should install as follow:
$ npm install hexo-generator-baidu-sitemap@0.0.8 --save

#if version is 3.x.x, you should install as follow:
$ npm install hexo-generator-baidu-sitemap --save

然后在_config.yml 里面配置一下:
baidusitemap:
  path: baidusitemap.xml

hexo g后,会在public\目录下生成站点文件baidusitemap.xml

百度站长平台设置

之后去百度站长平台提交一下 sitemap 的路径就好,一般都是 www.example.com/baidusitemap.xml,一段时间后,去百度搜索相关信息就会出现这些网页。

效果

在站长平台可以看到链接提交数量,如:

file

Google收录

和百度类似。

添加网站、验证

登录Google账号,打开搜索控制台:https://search.google.com/search-console,添加你的网站,需要验证网站,它那里会提供几种验证方式,我是用HTML,下载它的HTML文件,将它添加到你的网站根目录下,然后点击验证。

注意:使用HTML进行验证的话,要保证该文件上传到网站后是一模一样的,即不然被渲染和压缩,跳过渲染可以再HTML文件前面加入下面的内容,跳过压缩因插件而异。

---
layout: false
---

验证成功很快就能再Google找到你的网站了,如site:www.yansheng.xyz

安装hexo-generator-sitemap插件

提交sitemap,上面使用的是百度特有的sitemap,Google识别不了,所以使用通用sitemap生成器hexo-generator-sitemap:https://github.com/hexojs/hexo-generator-sitemap

npm install hexo-generator-sitemap --save

配置_config.yml

sitemap:
    path: sitemap.xml

重新生成,会在根目录下生成sitemap.xml文件,发布后,就可以在google控制台提交这个sitemap了。

效果

file

补充

SEO只负责提交网站的索引量、访问量,具体数据可以通过添加百度分析和google分析来参看。可参考: