做了一个 AI 工具导航站,通过 Google Search Console 分析发现了一些问题。本文记录分析和修复的过程,希望对大家有帮助。
toolcenter.ai 目前收录了 800 多个 AI 工具。部署上线只是个开头,还在全方位测试网站功能,努力优化中,猛猛干,一边优化一边记录,给大家分享。
用 Google Search Console 看了下索引情况,问题挺多的,326 个 Server error,599 个 Page with redirect,还有 Duplicate without canonical、Soft 404 等等。
乍一看还真有点懵,怎么这么多问题,分析下来,有些是真的需要修复的,有些其实是正常现象不用管。
分清哪些要修,哪些不用管
GSC 报告里列的问题看起来挺多,但实际上有些并不是问题。
比如那 849 个 "Alternate page with proper canonical tag"。这个提示的意思是 Google发现这个页面存在替代版本,并且 canonical 标签配置正确。
我的网站是中英双语的,所以这 849 个页面其实就是中英文页面的对应关系,Google 在告诉我"这些页面是一组的,配置没问题"。对我来说是正常现象。
但如果你的网站不是多语言站,出现这个提示就要检查一下是不是有重复页面没处理好。关于多语言的 canonical 和hreflang 怎么配置,后面有详细说。
还有 599 个 "Page with redirect"。这个提示是说 Google 爬取时遇到了 301/302 重定向。可能的原因包括:URL结构调整做的重定向、www 和 non-www 之间的跳转、http 到 https 的跳转等。
只要这些重定向是你主动配置的,并且最终能跳转到正确的页面,就不用担心。如果不确定,可以用 GSC 的 URL Inspection 工具单独检查一下。
另外外 GSC 的数据有一定延迟,如果上次验证时间比较久了,建议用 Validate Fix 重新验证一下,拿到的数据会更准确。
急需关注的是 5xx 服务器错误和 404。5xx 说明页面有报错,用户打不开;404 说明页面不存在,可能是哪里的链接断了。这两个需要尽快排查修复。
不过建议先手打开几个 URL 看看。我当时看到 326 个 5xx 错误,点进去试了几个链接,发现都能正常打开。说明这些错误可能是 Google 爬取的时候刚好碰到了服务器有问题,现在已经恢复了。这种情况直接点 Validate Fix 让 Google 重新验证就行。
还有一类叫 Soft 404,就是页面返回了 200 状态码,但内容看起来像是 404 页面(比如内容太少或者显示未找到)。Google 会把这种页面降权,也需要检查一下。
最大的问题:URL 设计没想清楚
这次排查下来,最需要处理的问题是 URL 设计。查了一下数据库发现,问题出在 ID 字段的生成逻辑从一开始就没统一。有些工具的 ID 是正常的英文名,比如 postman、power-bi;有些是 12 位的哈希值,比如c649005d0d72;还有些是中文工具名被过滤后剩下的分隔符,比如 - 或 --3。
之前 URL 直接用 ID,所以就出现了/tools/postman(正常)、/tools/c649005d0d72(能用但SEO不友好)、/tools/-(完全没意义)这三种情况混在一起。
更规范的做法应该是:
- ID:用 UUID 或其他唯一标识符,纯内部使用
- Slug:用工具名生成,对外展示的 URL
这带来几个问题:SEO 不友好,Google 更喜欢有意义的 URL;用户体验差,看到乱码不知道是什么页面;后续想改的时候,发现要动的地方多。
重构:让 slug 和 ID 解耦
既然发现了问题,趁着网站还在起步阶段,正好可以彻底改一下。先让 slug 和 ID 解耦,slug 专门用于 URL,ID 还是做内部标识。
具体改动是这样的:
首先数据库加一个 slug 字段,这个简单。
然后写脚本批量生成 slug。英文工具直接把名字小写、空格换成横杠。中文工具转成拼音,比如"剪映"变成"jianying"。
接着改路由,从 /tools/[id] 改成 /tools/[slug]。这一步要改的文件比较多,工具详情页、工具卡片的链接、sitemap 生成逻辑,还有各种 API。
最后做 301 重定向。已经被 Google 收录的旧链接不能直接扔掉,得让它们跳转到新链接,这样权重不会丢。
整个过程用 Claude Code 帮忙完成的,它帮我写迁移脚本、全局搜索要改的地方、检查有没有遗漏。只能说还好有AI 编程啊。
目前新导入的工具 URL 已经正常了。但 ID 的生成逻辑还没完全统一,后续再修复。
顺手修了几个小问题
排查的时候顺手把其他几个问题也处理了。
一个是 sitemap 链接。我网站是支持中英文的,用了 Next.js 的 i18n 方案。Footer 里有个 sitemap 链接,我用的是 i18n 的 Link 组件,结果它自动加了语言前缀,中文页面变成 /zh/sitemap.xml,英文页面变成 /en/sitemap.xml。
但 sitemap 实际是放在根目录的,就是 /sitemap.xml,没有语言前缀。所以 GSC 报了 404。
修复方法是把 <Link> 换成普通的 <a> 标签。这种不需要多语言处理的链接,不要用 i18n 的组件。
还有一个是 GSC 报了 19 个 Not found,点进去看有 /about、/contact 这些。我网站没有这两个页面,也没有任何内链指向它们。查了一下代码确认没有引用,应该是 Google 猜测性地爬的,很多网站都有这两个页面。所以这个不用管,让它 404 就行,Google 爬几次发现不存在就不会再报了。
多语言配置的一个误区
顺便说一下多语言配置,因为我之前有个理解错误。
我一开始以为中英文页面内容差不多,会被 Google 判定为重复内容。后来研究了一下发现不是这样。
Google 的逻辑是:如果是同一种语言、内容高度重复,可能会被当成重复页面,只收录其中一个。但如果是不同语言,只要用 hreflang 标签声明了,Google 会把它们当成"同一内容的多语言版本",这是加分项,不是扣分项。
关键是 hreflang 和 canonical 要配对。每个语言版本的 canonical 要指向自己,不要都指向英文版。然后用 hreflang 声明所有语言版本的对应关系。
顺带补充一下, canonical 标签就是告诉搜索引擎这个页面的权威版本是哪个。我的配置是中文页面的 canonical 指向中文页面自己,英文页面的 canonical 指向英文页面自己,然后两边都用 hreflang 互相声明。这样 Google 就知道这是同一个内容的不同语言版本了。
虽然说这些 AI 编程工具都可以给你搞定,但是慢慢的,在上站实操的过程,多了解一些知识,多清楚一些关键词,后续做网站也就会越来越得心应手。
总结
如果你也在做内容站或者导航站,建议从一开始就把 slug 和 ID 分开设计,让 Claude code 写代码之前补充说明一下这一点。英文内容用 kebab-case 的 slug,中文内容转成拼音。这样后面省很多事。
另外 GSC 要养成定期看的习惯。数据有延迟,看到问题先手动验证几个 URL,确认是真有问题再改。
💡 AI 工具的爆发,让普通人也能快速做出产品。
但如何做?如何变现?如何真正走向海外市场?
👉 想了解更多 AI 编程 & 出海实战信息
扫码或微信搜索 257735,发送暗号 【美金】
了解详情,加入实战社群。
微信扫一扫,了解更多详情
🚀 我们的出海作品展示平台上线啦!
欢迎访问 Showcase 平台,
这里汇聚了学员的出海实战作品,方便大家获得反馈、积累曝光机会。
我们还会定期举办创作活动与奖励计划,欢迎来逛逛!
🔗 更多教程请访问 ipengtao.com
文章评论