部分搜索引擎支持动态渲染(如 Google),SEO优化的作用不再那么重要,但是对于一些不支持动态渲染的搜索引擎,SEO优化仍然是必不可少的。
由于采用前后端分离的技术,导致搜索引擎无法直接获取到页面内容,因此需要通过 SEO 优化来提高搜索引擎的收录效果。本文将介绍本项目中 SEO 实现的工作原理与配置指南。
本项目采用的 SEO 优化方案是通过 Github Action进行预渲染,将预渲染后的页面上传到 S3 存储桶,通过 Cloudflare Workers 代理请求,实现 SEO 优化。
预渲染是一个简单的爬虫。从提供的 SEO_BASE_URL 开始,每次请求一个页面,将渲染完成后的 html 内容上传至 S3 存储桶缓存。同时提取出页面中的所有链接,判断是否以 SEO_BASE_URL 开头或包含 SEO_CONTAINS_KEY 关键字,如果是则请求该链接并预渲染,直到没有新的链接为止。
在部署后端时,需要在 Github 配置以下环境变量(明文):
以及以下环境变量(加密):
由于这些环境变量数量庞大且覆盖了相当一部分环境变量全列表,因此在 v0.2.0
及之后都建议在部署时直接在 Github 中添加这些环境变量,而不是通过 Cloudflare 面板添加。这样能够一定程度上减少配置的时间成本。
在配置好环境变量后,即可在 Github Action 中手动触发一次 Workflow,一切正常的话很快就能部署完成。
在 Cloudflare Workers 面板中打开自己的域名详情页,点击 Workers 路由
,添加一个新路由,路由填写为:
如:
Worker 选择为部署的 Worker,点击保存。
随后点击侧边栏菜单 > 规则
> 转换规则
> 重写 URL
> 创建规则
,规则名称随意,自定义筛选表达式为:
该筛选表达式只为 Google 做了收录优化,如需其他搜索引擎的优化请自行查找其对应的爬虫 UA 填写
重写路径设置为 Dynamic
,值为:
选择保留查询
参考配置截图:
点击部署,即可完成 SEO 配置。