谷歌搜索优化Ajax调用Ajax

2023-09-10 17:00:16 作者:弱陷 i

我有我的网站有东西被频繁更新列表的页面。这个列表是通过调用通过JSONP服务器,获取JSON回来,将其转化成HTML创建。快速和光滑。

不幸的是,谷歌不能够索引它。关于如何得到这个根据谷歌的AJAX检索指南,我有点困惑,需要一些澄清和确认:

页需要只,正确执行规则的AJAX? 我现在有一个休息的URL如

[site]/base/junkets/browse.aspx?page=1&rows=18&sidx=ScoreAll&sord=desc&callback=jsonp1295964163067

这将需要变成是这样的:

[site]/base/junkets/browse.aspx#page=1&rows=18&sidx=ScoreAll&sord=desc&callback=jsonp1295964163067

当谷歌称它像这样

[site]/base/junkets/browse.aspx#!page=1&rows=18&sidx=ScoreAll&sord=desc&callback=jsonp1295964163067 谷歌浏览器如何实现Ajax跨域访问

我会为客户提供HTML快照。

为什么要更换?以#? 创建HTML快照显得很繁琐。它是否足以只是起到简单的链接?在我来说,我会很高兴,如果谷歌将只指数事情页面。

解决方案

它看起来像你误解了AJAX检索指南。该#!符号是用来在链接的页您的AJAX应用程序中的生活,而不是在服务的URL你的应用的新进行调用至。举例来说,如果我转到 example.com/app / 访问你的应用程序,那么你会做网页抓取,而不是通过链接到的例子。 COM / APP /#!页面= 1

现在,当Googlebot看到,而不是去 example.com/app /#该URL的链接,页面= 1 &ndash的!;这意味着印发 example.com/app / (回忆一下,散永远不会发送到服务器)和ndash的请求;它会要求 example.com/app /?_ escaped_fragment_ =页= 1 。如果 _escaped_fragment _ 是present一个请求,你知道返回内容的静态的HTML版本。

为什么是这一切的必要吗? Googlebot不会执行脚本(也不知道如何索引你的JSON对象),所以它没有办法知道哪些结束了在你的用户面前后,你的脚本运行和内容被加载。所以,你的服务器有做生产哪些用户在AJAXy版本最终看到的HTML版本的重任。

那么,什么是你的下一个步骤是什么?

第一,要么改变指向您的应用程序的链接,包括#!页= 1 (或其他),或添加< META NAME =片段的内容=&GT!; 到您的应用程序的HTML。 (见href="http://$c$c.google.com/web/ajaxcrawling/docs/getting-started.html" rel="nofollow"> AJAX检索指南的

 
精彩推荐
图片推荐