【问题标题】:Can Search Engines index individual pages in a JavaScript powered web application? [closed]搜索引擎可以索引 JavaScript 驱动的 Web 应用程序中的单个页面吗? [关闭]
【发布时间】:2012-11-09 04:16:16
【问题描述】:

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

是否有可能让像这样的基于 AJAX 的 Web 应用程序能够查找和索引单个页面?据我了解,Google 等网络爬虫无法索引加载 AJAX 的动态内容,对吗?是否有任何替代技术可以帮助搜索引擎找到这些数据?

提前感谢您的帮助。

【问题讨论】:

标签: javascript ajax rest web-applications seo


【解决方案1】:

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

GETTING STARTED

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

爬虫和服务器之间的协议

为了使您的 AJAX 应用程序可抓取,您的网站需要遵守新协议。本协议基于以下内容:

本站采用AJAX爬取方案。对于每个具有 动态生成的内容,您的服务器提供 HTML 快照, 这是用户(使用浏览器)看到的内容。通常,此类 URL 将是 AJAX URL,即包含哈希片段的 URL,用于 例如 www.example.com/index.html#key=value,其中 #key=value 是 哈希片段。 HTML 快照是显示在 JavaScript 执行后的页面。搜索引擎索引 HTML 快照并在搜索中提供您的原始 AJAX URL 结果。

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

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

【讨论】:

  • 感谢您的好评。此方法使用 hashbang (#!),这是 Google 为帮助像我这样的开发人员而提出的一项功能。尽管这是一个足够的解决方案,但如果可能的话,我宁愿不使用它(尽管如果必须的话,我会这样做),因为它基本上是一种 hack,并且受到尊敬的开发人员的谴责。 Twitter 工程师 Dan Webb 写了一篇帖子,敦促开发者不要使用它们。 Twitter 曾经使用 #!但在 2012 年 5 月停止。我想知道他们现在是否只使用直接 HTTP 请求来获取他们想要可索引的内容。嗯……
猜你喜欢
  • 2010-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-12
相关资源
最近更新 更多