【问题标题】:how to delay google crawling until page is ready如何延迟谷歌抓取直到页面准备好
【发布时间】:2012-03-23 11:03:44
【问题描述】:

我知道这取决于谷歌,但随着网络的发展,我认为可能会有一些东西。

这就是问题所在。

页面加载后,我在jQuery.ready(...) 上有一个jQuery.ajax({}),然后我使用一些 json 数据填充内容。

我只是认为可以有一个参数让谷歌知道当他们抓取时有一个填充页面内容的 ajax 请求。

原因... SEO 我需要一个比please wait... 更好的机会

【问题讨论】:

    标签: jquery seo google-search


    【解决方案1】:

    大多数爬虫不解释 JavaScript。我不确定谷歌是否有合理的支持,但我想如果他们支持任何 JS,那将是非常有限的。因此,使用 AJAX 加载您的主要内容本质上是一个坏主意。

    您应该将大部分或全部内容打印到 HTML 中,然后再将其发送到浏览器。

    已编辑 我的解决方案......同样简单(在 PHP 上)

    <?php $cont = json_decode(file_get_contents('http://gdata.youtube.com/feeds/api/users/[USERNAME]/uploads/?v=2&alt=json')); ?>
    

    【讨论】:

    • 如果您不介意,我已经编辑了您的问题,但您是对的 :)
    【解决方案2】:

    通过 javascript 加载主要内容有什么好处?

    像这样的延迟加载有时是为了感知速度。但是你这样做是为了次要内容,所以首先加载主要内容。

    它有时也用于使一页动态并加载多页内容而无需重新加载。这里有一个好处。在这种情况下,我觉得最好的结构是“渐进式增强”。使用基本的 html 链接和加载来开发您的网站,然后在顶部添加 JavaScript 以使其动态加载并创建增强的体验。然后爬虫仍然可以看到内容,用户可以获得更酷/更快的体验。

    【讨论】:

      【解决方案3】:

      看到这个。 robots.txt 是最常用的方法。

      http://antezeta.com/news/avoid-search-engine-indexing
      

      【讨论】:

      • 他希望机器人搜索页面。但是,他希望他们“等待”直到页面通过 javascript 完全加载。这不会发生。
      【解决方案4】:

      如果您的所有内容都是通过 ajax 检索的,那么您需要使用 hashbang url 方法将爬虫重定向到您提供已加载内容的 html 快照的位置。这是一个学习这种方法细节的好网站: http://ajax.rswebanalytics.com/seo-for-ajax/ 还有来自谷歌的消息: http://googlewebmastercentral.blogspot.com/2009/10/proposal-for-making-ajax-crawlable.html

      本质上,当您访问 url 中带有 hashbang( !# ) 片段的页面时,google 等。将知道重定向到另一个页面以查找要索引的 html 内容的快照。所以一个像这样的网址: http://url.com/ajax/#!ajax-crawling-scheme

      会将爬虫重定向到: http://url.com/ajax?_escaped_fragment_=ajax-crawling-scheme

      在此位置,您将提供您希望编入索引的 html 快照(这可以由服务器使用无头浏览器动态生成,并在加载 ajax 后返回页面状态,或者只是对这些页面进行静态转储)。

      这是一个为您提供这些快照的服务(我没有关联,也没有使用过),但我相信您必须设置 hashbang url 和路由:

      https://ajaxsnapshots.com/

      【讨论】:

      • tbray.org/ongoing/When/201x/2011/02/09/Hash-Blecch 不应使用 Hashbang。这是一个非常古老的想法,结果大错特错。
      • 嗯,这对我来说似乎是一种看法。如果您需要 google 来索引您的 ajax 内容,那么您可以配置您的服务器以在直接请求时显示应用程序的正确状态并使用 pushState 大多数时间更改 url(这似乎是双重工作),或者您使用 hashbang网址。有时也可以只添加 标签而不是使用 hashbang url。无论您需要什么配置您的服务器来捕获 _escaped_fragment 参数并将静态内容提供给爬虫。
      猜你喜欢
      • 1970-01-01
      • 2015-12-07
      • 1970-01-01
      • 1970-01-01
      • 2018-12-19
      • 2015-03-27
      • 1970-01-01
      • 1970-01-01
      • 2020-07-20
      相关资源
      最近更新 更多