博客之搜索引擎收录及优化
在没有向搜索引擎主动提交博客网站前,用户只能通过输入你的域名或搜索特定文章名来访问博客,因此主动推送博客网站到搜索引擎非常必要。SEO,即Search Engine Optimization,搜索引擎优化。
检查网站是否已被收录
使用想要查找的搜索引擎,输入:
1 | site:你的网站 |
优化网址结构为永久链接(URL)
Hexo 默认的文章地址一般为:
1 | 网站/年/月/日/文章名 |
这种结构太深,层级多,不利于搜索引擎爬虫优化。推荐用 abbrlink 插件将链接简化。
1. 安装 abbrlink 插件
1 | npm install hexo-abbrlink --save |
详细用法见 abbrlink 官方文档。简而言之,abbrlink 会把文章链接转换为唯一数字或字母的 .html 格式,对 SEO 更友好。
2. 修改 Hexo 根目录的 _config.yml 配置
找到 permalink 字段,修改为 abbrlink 方案:
1 | # URL |
3. 在 _config.yml 结尾新增 abbrlink 配置:
1 | # abbrlink config |
配置完成后,文章链接会变为:
1 | https://daxianz.fun/posts/77940e6f.html |
站点地图(Sitemap)
站点地图即 sitemap, 是一个页面,上面放置了博客网站上需要搜索引擎抓取的所有页面的链接。站点地图可以告诉搜索引擎网站上有哪些可供抓取的网页,以便搜索引擎可以更加智能地抓取网站。所以我们首先需要生成一个站点地图。
1. 安装百度和 Google 的站点地图生成插件:
1 | npm install hexo-generator-baidu-sitemap --save |
2. 在 Hexo 根目录的 config.yml 文件中添加如下配置:
1 | # 站点地图 |
3. 重新推送部署到服务器,访问如下 URL 检查是否生成成功:
https://你的域名/sitemap.xmlhttps://你的域名/baidusitemap.xml
页面出现了 sitemap 数据即代表配置生效。
4. 为 Hexo 网站添加 robots.txt 协议
在你的 Hexo 站点的 source 目录下新建或放置一个名为 robots.txt 的文本文件,内容如下:
1 | # hexo robots.txt |
这样可以更好地引导搜索引擎蜘蛛抓取和收录你的网站内容。
谷歌收录
提交谷歌搜索引擎比较简单,在提交之前,我们依然可以使用 site:域名 查看网站是否被收录。进入Google搜索中心,登录你的谷歌账号。然后找到注册Search Console(在“使用入门–>SEO新手指南”中可以找到入口),就直接输入你要收录的网站域名就行。
- Google Search Console
- 详细操作参考谷歌的官方指南
选择第一个或者第二个都可以的,我这里两个都选择了。
“网址前缀”验证很简单,输入你的域名(如:https://daxianz.fun)即可直接验证。
“网域”验证较为复杂,点击“继续”后,操作如下:
- 打开你的域名提供商网站,在里面添加“解析设置”,点击“添加记录”。以腾讯云为例:
- “记录类型”选择“TXT”,“主机记录”选择“@”,记录值写入上面复制的TXT记录值。
- 重新部署后返回Google Search Console进行验证,可能需要等待一段时间。入口为“设置”->“所有权验证”:
此处又分为两种验证方式:下载个 HTML 文件然后放在站点目录下的 source 中,然后推送到服务器
把 content 中的字符串复制到主题配置文件_config.butterfly.yml对应内容中:
1
2
3
4
5site_verification:
- name: google-site-verification
content: # 在这里填上面的字符串
- name: baidu-site-verification
content: XXXXX
必应收录
必应收录也是很简单,点击必应站长。先注册登录,必应收录有两种方式,一种使用刚刚谷歌导入过去,第二种是就是自己添加 URL。
百度收录
网站验证
先去注册并登录:百度站长平台
首先需要验证网站,我选择的是 https://,这根据你前面是否添加 SSL 证书来选择。并且我使用的是不带 www 的,看个人。然后到第三步,我使用的 HTML 标签验证。
把content中的字符串复制到主题配置文件_config.butterfly.yml中的 baidu_site_verification。
1 | # Baidu Webmaster tools verification. |
需要将网站部署上线后,再去百度站长平台完成HTML标签验证
提交链接
百度站长平台的链接提交方式分为自动提交和手动提交两种,此处只讲自动提交,手动提交按照要求操作即可。
主动推送最为快速的提交方式,是被百度收录最快的推送方式。主动推送可以通过安装插件实现:
1 | npm install hexo-baidu-url-submit --save |
然后在hexo根目录配置文件_config.yml中,添加:
1 | # 主动推送百度,被百度收录 |
- host为自己网站的域名,例如我的为https://daxianz.fun
- token需要打开“普通收录–>推送接口”进行查看
其次,记得查看hexo根目录中_config.yml文件中 url 的值, 必须包含是百度站长平台注册的域名。
最后,在_config.yml文件中的deploy加入新的type:
1 | deploy: |
这里是新建一个 type ,一定要注意这段代码里面各行的缩进值。
其主动推送的实现原理如下:
- 新链接的产生,
hexo generate会产生一个文本文件,里面包含最新的链接。 - 新链接的提交,
hexo deploy会从上述文件中读取链接,提交至百度搜索引擎。
若要实现手动提交,则把下面的代码粘贴到百度站长平台的“手动收录”地址窗口即可:
1 | https://你的域名/sitemap.xml |
后续慢慢等收录吧,百度收录比较慢。
添加nofollow标签
nofollow,即免责声明。
给非友情链接的出站链接添加「nofollow」标签,nofollow 标签是由谷歌领头创新的一个「反垃圾链接」的标签,并被百度、yahoo 等各大搜索引擎广泛支持,引用 nofollow 标签的目的是:用于指示搜索引擎不要追踪(即抓取)博客网页上的带有 nofollow 属性的任何出站链接,以减少垃圾链接的分散网站权重。
1. 安装插件 filter-nofollow :
1 | npm install hexo-filter-nofollow --save |
2. 再在hexo根目录的_config.yml 中添加配置,将 nofollow 设置为 true:
1 | nofollow: |
参考文章:










