搜索引擎优化 - 在爬行之前,如何在数据加载时让爬虫被要求等待?

时间:2014-10-16 03:07:23

标签: angularjs seo firebase angular-ui-router

我正在使用mvvc框架(Angular),并且在将网站数据编入索引时遇到一些麻烦。所有静态数据都被抓取得很好,但是错过了来自云数据库的动态数据。

有没有办法礼貌地要求爬虫在上几百毫秒之前等待它?

2 个答案:

答案 0 :(得分:1)

把noindex放到最好的方式,nofollow那个时间。

完全加载数据后,您可以删除该标记。

答案 1 :(得分:1)

没有办法告诉蜘蛛等待。这会适得其反,因为他们的工作是尽可能快地索引数据,每次等待都会累积到几天/几周/几个月的延迟。 (请注意,谷歌已经探索了一些javascript渲染,但这对XHR内容没有帮助。)

正确的答案是探索Making AJAX Applications Crawlable。这种方法的要点是在部署过程中使用prerender.io之类的工具来预渲染动态内容。然后,您在站点地图中列出该内容,并使用服务器上的_escaped_fragment_重写或元标记,如此处所述(来自入门):

  

为了使没有散列片段的页面可以抓取,您可以在页面的HTML头部包含一个特殊的元标记。元标记采用以下形式:

<meta name="fragment" content="!">

在这两种情况下,您仍然需要将动态内容预渲染到缓存的HTML页面,并在它从您的服务器请求内容时将其提供给搜索引擎。