在Hexo博客中引入搜索功能,使用algolia优化浏览器SEO,介绍下algolia搜索功能的完整配置流程

本地引入algolia

hexo中可供选择的有algoliaalgolia_search两个插件,但algolia插件索引功能不如algolia_search,所以后续都讲解对象都为后者

安装

npm安装插件依赖

1
npm install hexo-algoliasearch --save

package.json中找到hexo-algoliasearch即为安装成功

配置主题_config

_config.yml中添加配置项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
algolia:
appId: "Your Application Card"
apiKey: "Your SearchAPI KEY"
adminApiKey: "Your aminAPI KEY"
chunkSize: 5000
indexName: "Your Index"
fields:
- content:strip:truncate,0,500
- excerpt:strip
- gallery
- permalink
- photos
- slug
- tags
- title

上述字符串中的内容为需要从algolia官网获取的apiKey和索引名称
其余配置项默认即可,如果要修改可看插件的说明hexo-algoliasearch

获取Algolia账号API

注册并登录algolia官网

跳过引导

新版本注册algolia后应该会先进入一个引导页面,不用管它,直接跳过
https://testingcf.jsdelivr.net/npm/chipmunk-assets/img/blog/algolia_search/Snipaste_2025-03-09_17-24-34_htxp2k.webp

不得不说这个跳过按钮设置的很隐蔽,我最开始以为要在这里直接匹配网页,折腾了好久才发现只是个教程,可以直接跳过

创建索引

进入数据库图标的导航页,输入名称创建项目索引,之后它将用来记录网页的搜索匹配信息
https://testingcf.jsdelivr.net/npm/chipmunk-assets/img/blog/algolia_search/Snipaste_2025-03-09_17-26-12_xoy3d5.webp

获取API

进入设置页面并进入Api Keys页面
https://testingcf.jsdelivr.net/npm/chipmunk-assets/img/blog/algolia_search/Snipaste_2025-03-09_17-27-14_reylc3.webp
获取hexo-algoliasearch需要的api,后回到_config.yml配置文件中
https://testingcf.jsdelivr.net/npm/chipmunk-assets/img/blog/algolia_search/Snipaste_2025-03-09_17-28-39_kqsgtp.webp

algolia配置项修改

algolia空缺的配置项分别填入上面获取的项,分别是:

  • appId
  • apiKey
  • adminapikey
  • indexname

前三项为api页面的账号api,indexname为上面创建的索引名
注意adminapikey不是writeapikey

修改butterfly主题下的search配置项

1
2
3
4
5
search:
# Choose: algolia_search / local_search / docsearch
# leave it empty if you don't need search
use: algolia_search
placeholder: "搜索"

关联索引

执行hexo algolia以关联索引,到此就配置完成了,理论上就可以在项目中使用algolia的搜索功能了

后续博客更新后重新执行hexo algolia以重新关联索引