我有一个页面,其中内置了基于 ajax 的分页。分页用于页面中的“评论”功能。根据 Google 的网站管理员博客,具有 rel="next"和 rel="prev"值有利于 SEO。
我在头部添加了以下标签:
<link id="PrevHeadLink" rel="prev", href="someurl?page=1"></link>
<link id="NextHeadLink" rel="next", href="someurl?page=3"></link>
我有一个在分页成功时运行的客户端脚本:
function AjaxPaginationSuccess(newNextValue, newPrevValue) {
$('#NextHeadLink').attr('href', newNextValue);
$('#PrevHeadLink').attr('href', newPrevValue);
/*Do other stuff*/
}
在我点击转到另一个页面后,当我使用 Chrome 开发者工具检查源代码时,更改反射(reflect)在链接的 href 值中。但是,如果我只是常规查看页面源代码,则更改不会反射(reflect)在 href 值中,并且链接似乎具有与页面更改事件之前相同的旧值。搜索机器人能否检测到这些变化?
附加信息:不确定这些信息是否有帮助,但我已经使用 history.pushState 来尝试实现 SEO 友好的 AJAX 分页。我的站点运行在 NodeJs、CoffeeScript 和 Jade 堆栈上。我将 jQuery 用于客户端脚本。我没有遇到与其余分页内容的 rel 链接相同的问题,因为当 Ajax 请求成功时,我将新的 Jade 模板加载到分页 div 中。像这样:
success: function(html) {
$('#PaginationModule').html(html);
AjaxPaginationSuccess(newNextValue, newPrevValue);
}
谢谢!如果我可以为您提供任何其他信息以帮助解决此问题,请告诉我。
最佳答案
我不知道搜索机器人是否会支持 html5 功能,例如 pushState
,尤其是在大多数情况下,它们不执行 javascript。
如果您可以使用 url someurl?page=[PageId]
加载每个页面,并且 prev
和 next
链接重定向到 someurl?page=[PageId-1]
和 someurl?page=[PageId+1],你应该没问题。
另外,如果浏览器不支持 ajax 或 html5,您的分页链接应该具有重定向到 someurl?page=[CorrespondingPageId]
的 href 属性。
关于jquery - 使用 ajax 分页更改 rel ='next' 和 rel ='prev' href 值以获得 SEO 好处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22719637/