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:提交推送链接后,百度好像有延迟,你不能立即看到提交数据的变化,我的是过几天后才有数据的。
如何选择链接提交方式 ?
- 手动提交:一次性提交链接给百度,可以使用此种方式。
- 自动提交(虽然这种方式各有千秋,但是百度推荐全用上,全面一点!):
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
的时候,新的连接就会被推送了。如下图
查看官网信息(如下所示)我们可以知道这是推送成功了。
补充:官网信息查看方式 (标题栏)网站支持->数据引入->链接提交->自动提交->主动推送,在下面就有推送成功的信息(如下)。
#成功返回示例:
{
"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
,一段时间后,去百度搜索相关信息就会出现这些网页。
效果
在站长平台可以看到链接提交数量,如:
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了。
效果
补充
SEO只负责提交网站的索引量、访问量,具体数据可以通过添加百度分析和google分析来参看。可参考: