为什么我的ajax内容没有被谷歌索引

Occ*_*cam 0 ajax seo google-crawlers

我已经尝试根据此处提供的指南设置我的网站(http://www.diablo3values.com):https://developers.google.com/webmasters/ajax-crawling/ 但是,似乎Google已经更新了他们的索引(因为我看到了元描述标签的修订版)但是ajax内容没有显示在索引中.

我正在尝试使用"处理没有散列片段的页面"选项.

如果您查看以下任一项:

http://www.diablo3values.com/?_escaped_fragment_=

http://www.diablo3values.com/about?_escaped_fragment_=

您将使用我的内容正确地看到HTML快照.(这是我最关心的两页).

有任何想法吗?难道我做错了什么?你如何让谷歌识别标签.

Nil*_*lsH 7

我输入这个作为答案,因为它有点长的评论.

首先,你的链接似乎指向localhost:8080/about,而不是/about,这可能是谷歌首先没有索引它的原因.

其次,这是我使用pushstate urls和Google AJAX抓取的经验:

我的经验是,使用pushstate网址进行ajax抓取的处理方式与使用hashbang网址的处理略有不同.由于谷歌不会知道你的网址是一个状态网址(因为它看起来就像一个普通的网址),你需要添加<meta name="fragment" content="!">到你的所有网页,而不仅仅是"根"网页.谷歌似乎并不知道这些页面是同一个应用程序的一部分,因此它将每个页面视为一个单独的Ajax应用程序.因此,谷歌机器人将永远不会在内部创建一个导航结构_escaped_fragment_,就像_escaped_fragment_=/about使用hashbang url(#!/about)一样.相反,它会请求/about?_escaped_fragment_=(你通常已经设置).这适用于所有"深层链接".而不是/?_escaped_fragment_=/thelink谷歌将始终要求/thelink?_escaped_fragment_=.

但最初说,它不适合你的原因可能是因为你生成的html中有localhost:8080url _escaped_fragment_.