关于 DOM 就绪状态、页面加载状态和脚本执行状态的搜索引擎抓取工具行为

Search engine crawler behavior regarding DOM ready state, page loaded state and script execution state

我的网站有大量 jQuery 操作。为了创建一个不那么混乱的页面加载,我在初始页面加载时隐藏()内容容器并在页面加载时显示()它:$(window).load(function() { //show content...

这是现在的序列,在人眼浏览器中运行良好:

  1. 在初始页面加载时隐藏内容。
  2. 等待页面完全加载。
  3. 显示内容。
  4. 执行jquery操作。

但我想知道这对爬虫是如何工作的。爬虫是否等待 "page->loaded" 和 "scripts->finished"?否则抓取结果可能会变得乱七八糟..

首先,隐藏内容的排名是 down-weighted,因此您的内容可能无法如您所愿。您要绝对确保搜索引擎看到的是完成的 not-hidden-any-more 内容。

您可以看看我们 (Google) "see" 在 Search Console(以前的网站站长工具)中使用 Fetch and Render as Google 的内容;在标题为 Rendering pages with Fetch as Google 的 post 中阅读有关该功能的更多信息。如果渲染图像看起来正确,你就可以开始了。