代码之家  ›  专栏  ›  技术社区  ›  JoJo

Ajax历史可以对抗seo

  •  0
  • JoJo  · 技术社区  · 14 年前

    我有一个Ajax网站。我更新了地址栏中的散列值,这样就可以存储浏览历史记录,因此前进和后退按钮仍然有效。例如,典型的用例是:

    • site.com/目录体育/1
    • site.com/目录体育/2
    • site.com/目录体育/3
    • site.com/目录电影/1
    • site.com/目录电影/2

    我相信这些散列值被搜索引擎爬虫忽略了。在散列被同化之前,具有相同路径的所有链接。这对SEO不利,因为无法索引特定页面。例如,我无法在Google上搜索“site.com sports”,并希望找到一个指向site.com/directory sports/1的链接。那么,如何保留Ajax的历史并拥有良好的SEO呢?据我所知,在Ajax期间,必须使用哈希值来不重新加载页面。在执行Ajax时,不能像这样更新URL:

    • site.com/directory/sports/1网站
    • site.com/directory/sports/2网站
    3 回复  |  直到 14 年前
        1
  •  1
  •   stefanw    14 年前

    你需要一个hash bang:!阅读 Google's Making AJAX Applications Crawlable .

        2
  •  1
  •   wajiw    14 年前

    搜索引擎通常需要一种不使用Ajax的方法来查找这些链接。如果您提供了一种对复制Ajax页面(site.com/directory movies/2)的链接进行爬行的方法,那么搜索引擎就可以提取您的数据。

    您可以通过创建一个链接到这些页面的导航页面,或者为您的站点创建一个sitemap.xml来说明如何访问这些页面。

    只要确保你的站点呈现了直接点击时应该呈现的site.com/directory movies/2,而不仅仅是site.com/directory。

        3
  •  0
  •   gblazex    14 年前

    如果你想关心SEO和可访问性,那么你应该使用真实的URL作为链接,并通过注册事件监听器(如onclick)添加Ajax功能。

    这样,Google就可以通过链接看到内容,而JS用户也会被禁用。 您的其他用户将完全体验动态内容和Ajax。

    也读 Google's AJAX recommendations