【问题标题】:SEO friendly ajax driven websitesSEO友好的ajax驱动网站
【发布时间】:2012-09-14 08:41:53
【问题描述】:

我创建了一个 ajax 驱动的网站,只要给定正确的参数,它就可以加载任何页面。例如:www.mysite.com/?page=blog&id=7 打开一篇博文。

如果我创建一个站点地图,其中包含指向网站内所有页面的链接,这是否会被编入索引?

非常感谢。

【问题讨论】:

  • 如果你把它放在一个锚标签中,搜索引擎会跟随这个链接。但是如果您使用 javaScript 重定向,它将无法在它之后进行检查。选择一种技术。 =)
  • 请注意,在这里提问之前通常最好先测试一下,当然这有点困难,但供将来参考。

标签: php ajax seo


【解决方案1】:

如果您为实际显示整个页面的每个页面提供一个 url,那么可以。如果这些请求只是用 JSON 响应,或者只是页面的一部分,那么不会。实际上,这可能是一个糟糕的设计 SEO 明智。每个页面都应该有自己的 URL,例如www.mysite.com/unicorns 而不是 www.mysite.com/?page=blog&id=1,页面上的链接应该指向这些。然后您应该使用 Javascript 来捕获 AJAX 链接的所有链接点击事件,然后使用 Javascript 以您喜欢的方式更新页面。或者更好的是,也许可以试试PJAX,它只会加载页面的内容,而不是整个页面的刷新,这会稍微加快速度,而不会对您的正常网站设置进行任何更改。

【讨论】:

  • 另外,如果您使用Google Webmaster Tools 向 Google 提交 XML 站点地图,那么 Google 也会索引您告诉它的内容。详细了解 XML 站点地图 herehere
  • 很酷,谢谢。我将拆分完整的 URL 并从那里计算页面。
【解决方案2】:

您确实意识到将站点地图制作成您的所有搜索引擎链接会很丑陋。

作为Google said,如果您使用fragment identifier,仍然可以使用漂亮的网址抓取页面:

 <meta name="fragment" content="!"> // for meta fragment

当您通过 ajax 生成页面时,将片段附加到 URL:

 www.mysite.com/#!page=blog-7 //(and split them)

页面应该使用$_GET['_escaped_fragment_']直接在PHP中加载内容

据我所知,必应和雅虎开始使用相同的 process 进行抓取。

【讨论】:

    猜你喜欢
    • 2015-11-19
    • 1970-01-01
    • 2020-05-09
    • 1970-01-01
    • 2013-11-15
    • 2012-04-04
    • 2016-03-11
    • 2011-07-23
    • 2011-04-06
    相关资源
    最近更新 更多