从一次 Google 收录危机开始,我做了 IndexFlow-core
这个项目不是从一个“我想做一个 SEO 工具”的想法开始的。 它开始于一次真实的网站事故,以及一个后来一直困扰我的问题:我怎么知道一个 URL 到底有没有被搜索引擎正确理解、抓取和收录? 一个看起来进展顺利的网站 6 月中下旬,我上线了一个由 AI 构建的资源网站。网站的 URL 数量很多,同时提供多种语言版本,因此从一开始,我就知道搜索引擎流量会是它非常重要的一部分。 刚上线的时候,一切看起来都不错。Google 能够正常抓取页面,也开始逐步收录。到 7 月初,Google 给出的抓取预算一度达到每天大约 12 万次。对于一个刚上线不久的独立项目来说,这个信号相当令人兴奋:至少搜索引擎正在发现它、访问它。 但问题很快出现了。 从 Cloudflare Workers 的 500 错误开始 后来我发现,网站运行在 Cloudflare Workers 上时,受到了 50ms CPU 时间限制的影响。部分请求无法在限制内完成,最终产生了大量 500 错误。 这不只是一个普通的运行时问题。搜索引擎访问到的是错误页面,原本应该被稳定访问的 URL 变得不稳定。抓取预算、服务器响应和页面可用性之间开始互相影响。 我随后把网站迁移到了服务器上,希望先解决稳定性问题。服务器确实缓解了 Workers 的限制,但新的问题又出现了:前后端分离的维护复杂度很高。为了修复一个问题,往往要同时检查接口、渲染、部署和不同语言页面之间的关系。 在这段迁移和维护过程中,Google 的收录和曝光出现了断崖式下降,最后几乎接近 0。 我曾经以为是 Google 惩罚了网站 当一个网站的抓取和曝光突然归零时,人很容易先寻找一个简单的解释。 是不是被 Google 惩罚了?是不是被封禁了?是不是网站的某些内容触发了 Sandbox?是不是 AI 构建的网站天然不被信任? 我花了不少时间研究 SEO、Google Search Console 的数据、抓取行为、索引状态和各种可能的原因。这个过程没有一个立刻能让人安心的答案,因为“页面可以访问”“Google 抓取过页面”和“页面出现在搜索结果里”,其实是三件不同的事情。 这也是我后来反复确认的一点: 被抓取,不等于被收录;被收录,也不等于能够获得曝光。 如果只看服务器日志,知道 Googlebot 访问过某个 URL,可能会误以为这条 URL 已经完成了 SEO 工作。但实际情况可能是:页面返回过错误、质量检查没有通过、搜索引擎暂时没有把它加入索引,或者它已经收录却没有获得有效排名。 ...