【问题标题】:Do I need a VPS or can a shared server be used for an Ajax crawlable website?我需要 VPS 还是可以将共享服务器用于 Ajax 可抓取网站?
【发布时间】:2012-11-27 17:47:57
【问题描述】:

我在 1 和 1 共享服务器上托管一个网站,我需要我的 ajax 加载内容可以被 google 机器人抓取...该网站已准备好“hash-bang”但现在我正在努力处理 escaped_fragment 部分. 我必须安装 HtmlUnit、Node.js 或 Zombie.js 来帮助 google 处理我的 javascript 事件。

现在我不明白在服务器上哪里安装这个软件?

在收集信息时,我意识到我可能必须将它托管在能够访问根目录或安装库的虚拟服务器 (VPS) 上......我说的对吗?

为了帮助 google 找到我的内容而将我的年度托管费用增加三倍的想法让我很不高兴...你知道如何在共享主机上实现可抓取的 ajax 吗?

如果没有,有没有办法将这些库托管在其他地方,同时保持网站现在的位置?

我正在寻找实用信息,因为谷歌在这方面没有多大帮助,而且在线文章并没有真正进入托管部分。感谢您的帮助!

【问题讨论】:

  • 你为什么需要 节点呢?您的网站是否只是用 Node 编写的?那么是的,您需要一个支持服务器端所需的任何内容的主机。这可能是共享的,也可能是 VPS。
  • 不支持无头浏览吗?好吧,我的网站是一个 Wordpress(所以 PHP),ajax 加载文章。
  • 是的,但那又怎样?您希望 Google 为您的 hash-bang URL 编制索引。这一点不需要你的服务器是一个无头浏览器。它只需要您的服务器响应具有特定内容的特定 URL。任何网络服务器都会做的事情。
  • 我认为无头浏览器对于完成这项工作至关重要,因为它在读取和处理 Google 的 javascript 时。那么你的意思是我只需要将我的 hash-bang URL 放在站点地图上?
  • 不,无头浏览与 hash-bang URL 无关。您可能想了解更多关于您在谈论的内容。 googlewebmastercentral.blogspot.de/2009/10/…, w3.org/QA/2011/05/hash_uris.html

标签: javascript ajax seo hosting


【解决方案1】:

因此,您通过带有 hashbang URL 的 AJAX 提供博客文章。那么你唯一需要做的就是为抓取支持做的是处理带有_escaped_fragment_=work-stuff的URL,它们以HTML形式返回的内容与通过AJAX从相应的hashbang URL#!work-stuff返回的内容相同。

例如,让我们以您网站的以下 URL 为例:http://www.youpiemonday.com/#!arcena。当浏览器导航到这里时,它会从以下“丑陋”的 URL 接收数据:http://www.youpiemonday.com/arcena/?_=1355151916735。我认为处理爬虫生成的 URL(例如http://www.youpiemonday.com/?_escaped_fragment_=arcena)就足够了,并将它们映射到您为“丑陋” URL 返回的相同内容。这样您就可以为索引提供主要内容。

对于无头浏览器,如果您的页面是根据许多小型 AJAX 请求接收到的数据构建的,并且服务器上根本不存在整个页面表示(其主要内容),则需要它。然后,您可以使用无头浏览器自己“浏览”此类页面,并将生成的页面快照存储在某个缓存中,爬虫可以从中获取纯 html 版本。

对我来说,查看网站后,答案是否定的 - 你不需要 VPS。

【讨论】:

  • 好的,我想我明白了,但是您如何处理/映射 URL?用 PHP 吗?我不在我的舒适区... :) 对于无头浏览器部分,我希望能够没有它!但是由于点击事件是由javascript处理的,所以google爬虫不会卡在图库级别(即无法看到每个帖子的内容)?
  • @wyem,我忘了说,你当然应该使用站点地图。
  • @wyem,至于处理 URL,如果您提供一些有关如何处理当前 hashbang URL 处理的代码/详细信息,这将是转义 URL 处理的最佳部分。我想您可以以某种方式为每个 hashbang URL 添加一个转义别名。 WordPress 似乎为此提供了插件。
  • 好的,这是一个 jsfiddle,其中包含我用来将简单 URL 修改为 #! 的代码。 jsfiddle.net/rRnUD我评论了FIRST and SECOND part of the hash change修改hash的两段。一个在开始,另一个在最后。剩下的只是加载函数。是的,我尝试修改第一篇文章的站点地图,但由于 escaped_fragment 没有实现,所以现在没有效果。
  • 这是 JavaScript。要支持这些东西,您需要在服务器端 (PHP) 上进行一些编码。我相信一些 WordPress 插件应该已经提供了这个,但我不是 WordPress 专家。
猜你喜欢
  • 1970-01-01
  • 2013-02-02
  • 1970-01-01
  • 2010-11-13
  • 1970-01-01
  • 2018-08-18
  • 1970-01-01
  • 2011-10-16
  • 1970-01-01
相关资源
最近更新 更多