站点图标 科技雷达

为 Hexo 博客进行 SEO

自从2月初搭建好我的个人博客之后,写了两篇文章一直没有被 Google 收录,于是找了一些关于 Hexo 站点 SEO 的资料,做了一下我博客的 SEO (😂现在 Google 已经能够搜索到我的博客的文章了。)

修改 Hexo 的默认配置生成更简洁的链接

Hexo 的默认配置生成的链接的的格式是 :year/:month/:day/:title/, Google 是不推荐这样做的,所以我们最好对它进行修改。我列举两种方式,可以根据喜好自己选择

# permalink: :year/:month/:day/:title/
permalink: archives/:title # 修改成其他样式也可以
# 安装 hexo-abbrlink
npm install hexo-abbrlink --save

# 然后修改站点根目录的 `_config.yml`
permalink: posts/:abbrlink/

# 插件还有些自定义选项,可以去 Github 查看它的文档

生成 sitemap

sitemap 可以让搜索引擎更容易爬到站点的目录(特别是对新建的站点),Hexo 官方插件有很多两个生成 sitemap 的插件, 我基本上都尝试了一遍,觉得比较好的是 hexo-generator-seo-friendly-sitemap ( 但我用的是不在官方插件里的 hexo-generator-better-sitemap

npm install hexo-generator-seo-friendly-sitemap --save

# npm i hexo-generator-better-sitemap --save
sitemap:
    path: sitemap.xml
    tag: false # 按需选择
    category: false # 按需选择

如果你有想要排除在 sitemap 文件外的页面或者文章,可以在 Front-Matter 加入 sitemap: false

使用 robots.txt 阻止不必要的抓取

您可能不希望网站的某些页面被抓取,因为这些页面显示在搜索引擎的搜索结果中可能对用户无用。 – Google 的 SEO 新手指南
“robots.txt”文件会告诉搜索引擎是否可以访问您网站的各个部分并执行抓取。此文件必须命名为“robots.txt”,且应位于网站的根目录下。 – Google 的 SEO 新手指南

上面的文字将 robots.txt 的作用解释的很清楚了,那我们直接动手

例如像我的站点,我有搜索和标签两个页面不想被搜索引擎收录,所以我的robots.txt 的内容是下面这样的。

User-agent: *
Allow: /
Allow: /archives/
Allow: /about/
Allow: /links/

Disallow: /tags/
Disallow: /search/

Sitemap: https://blog.ghkk.net/sitemap.xml

为外链添加 nofollow 属性

nofollow 标签表示作者不想宣传链接的文档,例如,它是不受控的,它是一个坏的例子或如果它们有商业关系(销售环节)。nofollow主要是被一些使用人气排名技术的搜索引擎所使用 – MDN web doc

简而言之,为外链添加 nofollow 可以让搜索引擎不爬取出站的内容,对我的小破站来说没什么用可以避免被垃圾外链影响站点的权重。

对于 nofollow 这个标签我们也不能自己一个个加,我的解决方法是安装 hexo-filter-nofollow 这个插件

npm i hexo-filter-nofollow --save
nofollow:
  enable: true # 是否启用
  field: site # 插件的处理范围,默认是 site,可选 post
  exclude: # 域名白名单
    - 'blog.ghkk.net'
    - 'kaidora.github.io' # 朋友的博客

对于插件文档可以查看作者 Sukka 的这篇文章

向搜索引擎提交你的 sitemap

Google

等待一两小时就可以在 Google 看到你的搜索结果了。

参考资料

Thumbnail material from Storyset

原文:https://blog.ghkk.net/post/seo-for-hexo-site/

退出移动版