审计 JavaScript 的资源
Posted: Tue Jan 28, 2025 5:30 am
如果您从事 SEO 工作,您将越来越多地发现自己被要求弄清楚某个特定的实现是否正确(希望在实际部署之前在暂存/开发服务器上进行,但我们在骗谁呢?您也会在实际中这样做)。
为此,以下是我发现的一些有用的资源:
Justin 再次描 VNpay 数据库 述了使用 DOM 和查看源代码之间的区别
Chrome 内置的开发者工具非常出色,而且一些文档实际上非常好:
控制台是您可以查看错误并与页面状态进行交互的地方
一旦你完成了最基本的 JavaScript 调试,你就会想要开始设置断点,这样你就可以从指定的点逐步执行代码
谷歌的 John Mueller 的这篇文章列出了一份不错的最佳实践清单
尽管它涉及更广泛的技术技能,但任何尚未阅读过它的人都应该看看Mike 关于技术 SEO 复兴的帖子。
一些令人惊讶/有趣的结果
JavaScript 执行可能会超时
我已经在上面链接到 ScreamingFrog 的帖子,其中提到了他们所做的实验,以测量Google 用来确定何时停止执行 JavaScript 的超时时间(他们发现限制为 5 秒左右)。
然而,情况可能比这更复杂。这一段帖子 很有趣。它来自一位用户名为KMag 的Hacker News 用户,他声称自己在 2006 年至 2010 年期间曾在 Google 从事索引管道的 JS 执行部分工作。这与另一位用户推测 Google 不关心“异步”加载的内容有关(即异步加载 — 换句话说,作为在后台触发的新 HTTP 请求的一部分加载,同时资产继续下载):
“实际上,我们确实关心这个内容。我无权解释细节,但我们确实在某个时间限制内执行了 setTimeouts。
如果他们够聪明,他们实际上会将确切的超时时间设为已加载源的 HMAC 函数,这样就很难进行实验、找到确切的限制并欺骗索引系统。早在 2010 年,它仍然是一个固定的时间限制。”
为此,以下是我发现的一些有用的资源:
Justin 再次描 VNpay 数据库 述了使用 DOM 和查看源代码之间的区别
Chrome 内置的开发者工具非常出色,而且一些文档实际上非常好:
控制台是您可以查看错误并与页面状态进行交互的地方
一旦你完成了最基本的 JavaScript 调试,你就会想要开始设置断点,这样你就可以从指定的点逐步执行代码
谷歌的 John Mueller 的这篇文章列出了一份不错的最佳实践清单
尽管它涉及更广泛的技术技能,但任何尚未阅读过它的人都应该看看Mike 关于技术 SEO 复兴的帖子。
一些令人惊讶/有趣的结果
JavaScript 执行可能会超时
我已经在上面链接到 ScreamingFrog 的帖子,其中提到了他们所做的实验,以测量Google 用来确定何时停止执行 JavaScript 的超时时间(他们发现限制为 5 秒左右)。
然而,情况可能比这更复杂。这一段帖子 很有趣。它来自一位用户名为KMag 的Hacker News 用户,他声称自己在 2006 年至 2010 年期间曾在 Google 从事索引管道的 JS 执行部分工作。这与另一位用户推测 Google 不关心“异步”加载的内容有关(即异步加载 — 换句话说,作为在后台触发的新 HTTP 请求的一部分加载,同时资产继续下载):
“实际上,我们确实关心这个内容。我无权解释细节,但我们确实在某个时间限制内执行了 setTimeouts。
如果他们够聪明,他们实际上会将确切的超时时间设为已加载源的 HMAC 函数,这样就很难进行实验、找到确切的限制并欺骗索引系统。早在 2010 年,它仍然是一个固定的时间限制。”