【问题标题】:Change AJAX links after page load for crawlers?为爬虫加载页面后更改 AJAX 链接?
【发布时间】:2012-04-12 17:56:39
【问题描述】:

我正在构建一个动态动画内容的 AJAX 应用程序。由于所有链接都是主题标签,我想在除 Google 之外的其他引擎上索引我的页面,我的想法是:

  • 编码链接时,使用物理本地 url(即,href="/foo/bar.php")
  • 在页面加载时,将所有链接替换为主题标签(即,href="#foo/bar")

这个想法是,如果访问者是爬虫或禁用了 JS,则将从 /foo/bar.php 加载内容。否则,它将通过 AJAX 加载,因此我可以对其进行动画处理。

Google 和其他搜索引擎是否能够抓取我的页面,因为当他们读取链接时,它们指向物理位置(或从数据库加载数据的 php 页面)。这对 SEO 友好吗?如果我随后包含广告,这是否仍会违反 Google 的 adsense TOS?如果没有,是否有其他解决方案(除了不使用 AJAX - 我需要它)可以让我拥有一个 SEO 友好的纯 AJAX 网站/应用程序?

【问题讨论】:

    标签: ajax seo


    【解决方案1】:

    这是进行“优雅增强”的好方法。不使用 JavaScript 也能工作,配合使用效果更好。

    只需确保那些 /foo/bar.php 链接确实有效并直接提供(即不通过 ajax)#foo/bar 将显示的信息。

    我会删除 .php 扩展名并使用,因此这两个链接非常相​​似:

    非 Javascript 链接 = http://domain.com/foo/bar Javascript 链接 = http://domain.com/#foo/bar

    我认为 html5 正在引入一种删除 # 的方法,这样您就可以使用一个 URL 来处理所有内容。我得走了,所以现在查不出来。

    【讨论】:

    • 没想过放弃 php,让事情变得容易多了。 HTML5 允许您执行 window.history.push ,因此您不需要哈希,但我相信它目前不适用于 IE9(惊喜)和 firefox。感谢您的回答!
    • 推。而已。很高兴我能帮上忙
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-26
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-11
    • 1970-01-01
    相关资源
    最近更新 更多