jquery - 使用 ajax 分页更改 rel ='next' 和 rel ='prev' href 值以获得 SEO 好处

标签 jquery ajax pagination seo

我有一个页面,其中内置了基于 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] 加载每个页面,并且 prevnext 链接重定向到 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/

相关文章:

javascript - 通过 Javascript 为 onclick 事件添加一个函数!

javascript - jquery函数重载

javascript - Mouseenter 内部的函数不改变 Attr

javascript - 422 错误 Laravel ajax 表单在 Microsoft Edge 上发布

.net - 如何使用 NHibernate 进行分页?

php - Yii2 - 分页查询

javascript - 使用 .NET Web 服务开发纯 HTML+JS 应用程序是否可行且安全?

javascript - 使用 Ajax 将 Javascript 变量提交到另一个 PHP 文件

javascript - 用jquery ajax请求和日期格式错误解析两个参数

PHP 和 MySQL : Formatting URLs correctly when using pagination to display images of multiple galleries