Javascript Ajax历史对SEO不利

Javascript Ajax历史对SEO不利,javascript,ajax,url,seo,Javascript,Ajax,Url,Seo,我有一个重ajax的网站。我更新地址栏中的散列值,以便存储浏览历史-因此前进和后退按钮仍然有效。例如,一个典型的用例是: site.com/directory#sports/1 site.com/directory#sports/2 site.com/directory#sports/3 site.com/directory#movies/1 site.com/directory#movies/2 我相信搜索引擎爬虫会忽略这些散列值。哈希之前具有相同路径的所有链接都被同化。这对SEO是不利的

我有一个重ajax的网站。我更新地址栏中的散列值,以便存储浏览历史-因此前进和后退按钮仍然有效。例如,一个典型的用例是:

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

  • site.com/directory/sports/1
  • site.com/directory/sports/2

    • 你需要一个杂凑爆炸:#!。阅读

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

      您可以通过创建包含指向这些页面的链接的导航页面,或者为您的站点创建一个sitemap.xml来解释如何访问这些页面


      只要确保你的站点在被直接点击时呈现出site.com/directory#movies/2应该是什么样子,而不仅仅是site.com/directory。

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

      通过这种方式,谷歌将通过链接看到内容,而禁用JS的人也会看到内容。 您的其他用户将完全体验动态内容和AJAX


      也请阅读

      这并不是最好的方法。如果你想让它在所有搜索引擎中都能工作,而不仅仅是在谷歌,你应该让你的网站可以爬行。通过Ajax使站点可爬行是一项新技术,我不建议依赖它。如果不在客户端使用JavaScript,如何呈现依赖URL片段的内容?服务器永远看不到片段!服务器可以覆盖公共目录结构,并根据需要对其进行解析。我一直和zend一起做: