Github+Hexo个人博客搭建:SEO 优化及站点被搜索引擎收录设置
必须要有自己的域名
网站优化
想要收索引擎重视,就得先对自己网站或者博客进行优化、如:标题标签、Meta描述、Meta关键字、XML网站地图、Robots.txt、网站图标、自定义404页面、加载时间(速度)、以及网站结构
文章永久链接
这样你修改文件名、文章名称或者日期后,文章链接不会发生变化
生成完后,原md
文件的Front-matter 内会增加abbrlink
字段,值为生成的ID 。
这个字段确保了在我们修改文件名或标题之后而不会改变链接地址。
将插件添加到 Hexo:
npm install hexo-abbrlink --save
修改 config.yml 文件中的永久链接:
permalink: posts/:abbrlink.html
# or permalink: posts/:abbrlink/
abbrlink:
alg: crc32 #算法: crc16(default) and crc32
rep: dec # dec数字 hex哈希串
示例
crc16 & hex
https://post.zz173.com/posts/66c8.html
crc16 & dec
https://post.zz173.com/posts/65535.html
crc32 & hex
https://post.zz173.com/posts/8ddf18fb.html
crc32 & dec
https://post.zz173.com/posts/1690090958.html
Head 头部优化
修改_config.yml
的关键字配置
hexo-filter-nofollow 插件
为网站使用到的所有外链添加rel=”noopener external nofollow noreferrer”,可有效地加强网站SEO和防止权重流失
npm install hexo-filter-nofollow --save
_config.yml 中修改配置
nofollow:
enable: true
field: site
exclude:
- 'exclude1.com'
- 'exclude2.com'
集成百度分析
-
注册百度统计,新增自己的网站,在百度统计-管理-代码管理-代码获取中找到以下代码
CODE hm.src = "https://hm.baidu.com/hm.js?c0b27e00db8b5ba6c61a2341566b61a1";
其中
c0b27e00db8b5ba6c61a2341566b61a1
便是我的百度分析的key,大家以自己的为准 -
_config_butterfly.yml中修改配置key
YAML # Baidu Analytics # https://tongji.baidu.com/web/welcome/login baidu_analytics: c0b27e00db8b5ba6c61a2341566b61a1
-
此时生成的静态网页中查看源代码可以看到以下代码
JAVASCRIPT (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?c0b27e00db8b5ba6c61a2341566b61a1"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();
-
后续可以在百度统计里面看到自己网站的流量报告
菜单坐标: 百度统计-基础报告
百度收录
链接提交方式
- 手动提交:一次性提交链接给百度,可以使用此种方式。
- 自动提交(虽然这种方式各有千秋,但是百度推荐全用上,全面一点!):
- 主动推送(实时):最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。
- 自动推送:最为便捷的提交方式,请将自动推送的JS代码部署在站点的每一个页面源代码中,部署代码的页面在每次被浏览时,链接会被自动推送给百度。可以与主动推送配合使用。
- sitemap:您可以定期将网站链接放到sitemap中,然后将sitemap提交给百度。百度会周期性的抓取检查您提交的sitemap,对其中的链接进行处理,但收录速度慢于主动推送。
验证站点
https://ziyuan.baidu.com/site/index
选择HTML验证
_config.butterfly.yml
中添加复制的内容
验证成功
提交链接
添加插件hexo-baidu-url-submit
npm install hexo-baidu-url-submit --save
获取Token
配置 百度主动推送
同样在根目录下,把以下内容配置到_config.yml
文件中,注意是博客的根目录噢
# 百度主动推送
baidu_url_submit:
count: 100 # 提交最新的一个链接
host: imzjw.cn # 在百度站长平台中注册的域名
token: YourToken # 请注意这是你百度站长平台主动推送的的秘钥, 所以请不要把博客源代码发布在公众仓库里!
path: baidu_urls.txt # 文本文档的地址, 新链接会保存在此文本文档里
最后,加入新的 deploy (可以参考一下我的_config.yml 文件
)
deploy: # 定义部署
- type: git
repo:
github: https://github.com/XXX/XXX.git,master
- type: baidu_url_submitter
# 百度主动推送
baidu_url_submit:
count: 100 # 提交最新的100个链接
host: lzscxb.github.io # 在百度站长平台中注册的域名
token: YourToken # 请注意这是你百度站长平台主动推送的的秘钥, 所以请不要把博客源代码发布在公众仓库里!
path: baidu_urls.txt # 文本文档的地址, 新链接会保存在此文本文档里
如何进行推送
执行 hexo d
的时候,新的链接就会被推送了。如下图
重新生成后,我们可以发现在 public
目录下生成有 baidu_urls.txt
里面的就是推送的链接.
sitemap 提交
安装 hexo generator-baidu-sitemap 插件
npm install hexo-generator-baidu-sitemap@0.1.4 --save
然后在博客的根目录下的_config.yml
里面手动
加入配置
baidusitemap:
path: baidusitemap.xml
之后去百度站长平台提交一下 sitemap 的路径就好,如:https://你的博客地址/baidusitemap.xml
Google 收录
登录 Google 账号,打开谷歌搜索控制台 添加你的网站,需要验证网站,它那里会提供几种验证方式,验证方式和baidu一样
验证成功后不是当天就是明天就能在 Google 找到你的网站了,谷歌搜索输入如 site:域名
谷歌 sitemap 提交
提交 sitemap,上面使用的是百度的 sitemap 也可以,如果 Google 识别不了,可以使用通用 sitemap 生成器
安装hexo-generator-sitemap插件
npm install hexo-generator-sitemap --save
配置 博客根目录下 的_config.yml, 手动输入以下配置
sitemap:
path: sitemap.xml
执行 hexo g 重新生成,会在 public 目录下生成 sitemap.xml 文件,发布后,就可以在 Google 控制台提交这个 sitemap 了
必应收录
- 点击进入必应搜索控制台
- 网站验证和前边相同 或 直接通过 google 导入
- 添加站点地图