我使用dotnet c#,jQuery加上webservices进行ajax调用。我的分页就像twitter和facebook的分页一样。在onload事件中,ajax调用填充10行的内容区域,单击或滚动页面向下事件调用相同的ajax调用,带有页面参数,带来更多10行,依此类推。我没有非javascript用户的规范分页。我阅读了有关可抓取ajax的Google规范,但我不确定如何将我的模型转换为google新模型。
首先,我使用jQuery ajax发布,使用json格式。因此可以创建一个读取http://www.domain.com/search.aspx?_escaped_fragment_=somevalue
之类的URL的aspx页面,并使用_escaped_fragment_值返回内容。但是,不知何故,我必须将此页面链接传播到Google抓取工具http://www.domain.com/search.aspx#!somevalue
。这可以吗?
确定!但是,当Google Crawler访问我的分页时,抓取工具将看不到http://www.domain.com/search.aspx#!1的任何链接,除非我将其指向站点地图,这对我来说毫无意义。我陷入了混乱。有人可以给我一个提示吗?
答案 0 :(得分:1)
我对图表的理解:http://code.google.com/web/ajaxcrawling/docs/getting-started.html
是谷歌会将您的现有“漂亮”网址(例如http://www.domain.com/search.aspx?page=2)更改为丑陋版本(包括#!)。它通过常规机制实现这一点 - 在您的页面上找到某个链接(例如,href到“第2页”)。
然后它提交它,您的网站必须了解它,并渲染快照。
因此,除非您没有第2页链接(链接到第3页等),否则不需要站点地图。
答案 1 :(得分:0)
让我们试试:
考虑指向页面的链接,例如www.domain.com/search.aspx?query=google#1
。
页面search.aspx必须具有读取哈希值的函数,并获取相对于页面1的内容。此内容的一部分为www.domain.com/search.aspx?query=google#2
。该函数执行相同的操作,但现在它获取相对于第2页的内容。依此类推。
现在我必须将#1和#2换成#!1和#!2。我的逻辑是一样的,但谷歌抓取工具会调用www.domain.com/search.aspx?query=google&_escaped_fragment_=1
,我将不得不创建一个网址路由,将此网址重定向到某个页面,该页面将返回结果的html快照。
是吗?