如何延迟谷歌抓取,直到页面准备好

时间:2012-03-23 11:03:45

标签: jquery seo google-search

我知道这取决于谷歌,但自从网络发展以来,我认为可能会有一些东西。

这是问题所在。

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

我只是觉得可能有一个参数让google知道他们何时抓取有一个填充页面内容的ajax请求。

原因...... SEO我需要比please wait...

更好的机会

4 个答案:

答案 0 :(得分:4)

大多数抓取工具都不会解释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')); ?>

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

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

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

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

答案 3 :(得分:0)

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

基本上,当你去网址中带有hashbang(!#)片段的页面时,谷歌等人。将知道重定向到另一个页面以查找要索引的html内容的快照。所以一个网址如: http://url.com/ajax/#!ajax-crawling-scheme

会将抓取工具重定向到: http://url.com/ajax?_escaped_fragment_=ajax-crawling-scheme

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

这是为您提供这些快照的服务(我没有附属,我也没有使用它),尽管您必须设置hashbang网址和路由我相信:

https://ajaxsnapshots.com/