2012-11-09 21 views
1

我正在构建的Web应用程序具有JavaScript支持的接口,并使用AJAX从服务器获取数据。每个人都在同一个“页面”上,但URL中hashtag之后的数据用于确定要加载哪些数据,然后将其显示在页面上。我的网络应用中的网址示例可能为http://www.myapp.com/#/user/stackmaster。 JavaScript会在hashtag后面看到数据(在本例中为“user”和“stackmaster”),并使用AJAX加载用户名为stackmaster的用户,然后将其显示在屏幕上。我这样构造我的网址的原因是因为我希望搜索引擎能够索引单个页面。搜索引擎是否可以在JavaScript供电的Web应用程序中索引单个页面?

是否有可能像这样的基于AJAX的Web应用程序能够找到并索引单个页面?我的理解是,像谷歌这样的网络抓取工具不能为装载有AJAX的动态内容编制索引,对吧?有没有其他的技术可以帮助搜索引擎找到这些数据?

在此先感谢您的帮助。

+0

这个网站是编程相关的问题,而不是搜索引擎优化的问题。 [FAQ](http://stackoverflow.com/faq)对于这里提出的问题非常清楚,而SEO不在其中。投票结束为主题。 (在你提到它之前:老问题可能已经被问及关于SEO的问题,但那是在创建StackExchange和像[WebMasters](http://webmasters.stackexchange.com)这样的站点之前。) –

+0

谷歌的抓取工具的最新版本实际上确实支持AJAX,但我不确定其程度。看看他们的网站管理员文档,特别是这两个页面:https://developers.google.com/webmasters/ajax-crawling/docs/getting-started https://developers.google.com/webmasters/ajax-crawling/ docs/html-snapshot – TMan

回答

3

如果您正在运行的内容的AJAX应用程序,你想 出现在搜索结果中,谷歌有一个新的进程,当 实现,可以帮助谷歌(和潜在的其他搜索引擎) 抓取并索引您的内容。历史上,AJAX应用程序有 难以处理搜索引擎,因为AJAX内容是由浏览器动态生成的 ,因此对于搜寻器不可见。 虽然现有的方法可以解决这个问题,但他们 涉及定期手动维护,以保持内容是最新的。

GETTING STARTED

https://developers.google.com/webmasters/ajax-crawling/

履带和服务器

之间的协议,为了让您的AJAX应用程序抓取,你的网站需要通过新的协议的约束。本协议依据如下:

该网站采用AJAX抓取方案。对于动态生成内容的每个网址,您的服务器都会提供一个HTML快照,即 ,这是用户(通过浏览器)看到的内容。通常,对于 示例www.example.com/index.html#key=value,这样的URL 将是AJAX URL,即包含哈希片段的URL,其中#key = value是 哈希片段。 HTML快照是在JavaScript执行后出现在 页面上的所有内容。搜索引擎索引 HTML快照,并在搜索 结果中提供原始AJAX网址。

https://developers.google.com/webmasters/ajax-crawling/docs/learn-more

http://googlewebmastercentral.blogspot.in/2007/11/spiders-view-of-web-20.html

+0

+1很好的答案。 – elclanrs

+0

感谢您的回应。这种方法使用了hashbang(#!),这是Google提出的一个功能,可以帮助像我这样的开发人员。虽然这是一个适当的解决方案,但我宁愿尽可能不使用它(尽管如果必须的话,我会尽可能的),因为它基本上是一种破解,而且它受到了受尊敬的开发人员的极大谴责。 Twitter工程师Dan Webb写了一篇文章,敦促开发人员不要使用它们。 Twitter曾经使用#!但在2012年5月停止。我不知道他们现在是否只是直接使用HTTP请求来查找需要索引的内容。嗯... – skcin7

相关问题