AigoTools的SEO优化秘籍:动态Sitemap、Meta元标签与MongoDB全文搜索实战
【免费下载链接】aigotoolsAigoTools can help users quickly create and manage website directory, with built-in site auto-crawling features, and also provides internationalization, SEO, image storage, and other functions. It allows users to quickly deploy their own directory site online.项目地址: https://gitcode.com/gh_mirrors/ai/aigotools
AigoTools 是一个帮你快速搭建 AI 工具目录站的开源项目,它把SEO 优化做进了系统底层:自动生成动态 Sitemap、按页面注入 Meta 元标签、基于 MongoDB 全文搜索提供智能检索与相关工具推荐。对于想运营站点目录站的新手来说,这套 SEO 方案几乎"开箱即用",本文带你拆解它的三大核心实战技巧。
一、动态 Sitemap 生成:站点收录的"地图"
Sitemap 是告诉搜索引擎"我有哪些页面"的入口。AigoTools 在 sitemap.ts 中利用 Next.js App Router 的MetadataRoute.Sitemap协议,实现了一个聪明的动态生成策略:
- 自动分片:每份 Sitemap 最多容纳 2000 个站点链接(
perSitemapCount),站点再多也会自动拆分成多份,避免单文件过大被搜索引擎截断; - 优先级分级:首页设为
priority: 1、hourly更新,站点详情页设为priority: 0.9,分类/搜索/提交页为0.5,让爬虫"抓重点"; - 多语言全覆盖:生成时会自动为每种语言(如
en、cn)复制一份 URL,配合 locales.ts 中的语言配置,所有语言版本都能被收录。
站点数量 12000 条 → 自动拆分为 6 份站点 Sitemap + 1 份基础页 Sitemap二、Meta 元标签实战:让每个页面都有"专属名片"
Meta 标签决定搜索结果中显示的标题和描述。AigoTools 采用"全局模板 + 页面级覆盖"的两级策略。
1. 全局模板:统一品牌露出
在语言级布局文件 layout.tsx 中,generateMetadata定义了统一的标题模板:
title.template: %s | 站点名—— 每个子页面标题都会自动带上品牌后缀;description/keywords从 messages/en.json、messages/cn.json 多语言文案中读取,不同语言展示各自的元描述,这是国际化 SEO 的关键细节。
2. 页面级覆盖:动态注入站点信息
每个工具详情页 s/[site]/page.tsx 会调用 actions.ts 中的getSiteMetadata,从 MongoDB 取出该工具的数据,动态生成:
title:工具名称description:优先使用metaDesceription(专属 SEO 描述),缺失时回退到普通描述keywords:metaKeywords关键词数组
后台编辑站点时即可维护这些 Meta 字段(数据模型见 site.ts),无需改动代码就能优化单个页面的搜索表现。
三、MongoDB 全文搜索:搜索即 SEO 内功
目录站的搜索体验直接影响用户留存与跳出率,而 AigoTools 的搜索能力正是构建在 MongoDB全文索引之上的。
1. 多字段文本索引
在站点模型 site.ts 末尾的ensureSiteIndexes中,项目对name、desceription、categories、features、usecases、users、relatedSearchs等 8 个字段统一建立了text索引——用户搜"绘图",无论是出现在名称、描述还是使用场景中都能命中。
2. 双通道检索:全文搜索 + 正则精确匹配
核心逻辑在 actions.ts 的searchSites中:
- 全文通道:用
$text: { $search: 关键词 }检索,并按textScore相关性打分排序,越相关排越前; - 正则通道:同时对
name和siteKey做不区分大小写的正则匹配,取前 12 条"精确命中"结果置顶,保证搜 "Claude" 时同名站点一定出现在最前面。
两条结果合并返回,兼顾了"准"和"全"。
3. 全文索引的隐藏妙用:相关工具推荐
一个容易被忽略的技巧:详情页的"相关工具"推荐(getSiteDetailByKey)复用了同一套全文索引——拿当前工具的描述去做$text检索,按textScore排序找出语义最相近的 12 个工具。同一个索引,既服务搜索又服务推荐,是典型的低成本高回报设计。
四、锦上添花:robots.txt 与多语言路由
- 放行爬虫:robots.txt 仅两行配置,
User-agent: *+Allow: /,明确告诉所有搜索引擎爬虫"全站可抓取"; - 语言前缀路由:middleware.ts 基于 next-intl 为所有请求自动加上语言前缀(如
/en、/cn),并豁免/sitemap等路径。规范的多语言 URL 结构,配合 Sitemap 中的分语言条目,让每个语言版本都能独立被收录,避免跨语言页面互相"抢排名"。
总结:三个技巧,一套完整的 SEO 体系
| 技巧 | 核心文件 | 解决的问题 |
|---|---|---|
| 动态分片 Sitemap | sitemap.ts | 页面再多也保证完整收录 |
| 两级 Meta 元标签 | layout.tsx | 品牌统一 + 单页精准优化 |
| MongoDB 全文搜索 | site.ts | 相关性排序、精确置顶、相关推荐 |
对新手而言,最大的启示是:SEO 不是上线后的补救,而是架构的一部分。用 AigoTools 部署目录站时,你只需要专注内容本身——填写好每个工具的metaDescription与metaKeywords,收录、排序、推荐这些"脏活"已经由这套体系替你完成了。
【免费下载链接】aigotoolsAigoTools can help users quickly create and manage website directory, with built-in site auto-crawling features, and also provides internationalization, SEO, image storage, and other functions. It allows users to quickly deploy their own directory site online.项目地址: https://gitcode.com/gh_mirrors/ai/aigotools
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考