【问题标题】:How to make Google crawl my Ajax content (external XML)?如何让 Google 抓取我的 Ajax 内容(外部 XML)?
【发布时间】:2012-08-22 18:15:55
【问题描述】:

(首先,对不起我的英语,这不是我的第一语言)

我有一个单页网站,在那里我有一个展示我们作品的作品集。项目列表是在页面加载时使用 ajax 从外部 xml 文件加载的。当我点击一个项目时,会出现一个带有项目图像和描述的叠加层。再次单击带有 ajax 的项目时会加载该描述。问题是:我的项目描述不在我加载的页面上,所以谷歌看不到我的内容。这些描述在谷歌搜索结果中非常有用,可以帮助我获得更多视图......

我试图将指向我的 xml 文件的链接放在我的 sitemap.xml 中,但谷歌没有读取它。

我无法将所有内容直接包含在我的 html 页面中,因为如果目前没有 IT 员工,拥有一个外部 xml 文件确实更容易添加项目。

我对该主题进行了研究,但得到的答案很模糊......我看到当你有一个 Flash 文件时,谷歌现在会读取用 ActionScript 加载的外部 xlm 内容,但它在 html 和 javascript 中也是如此吗?

非常感谢您的回答!

【问题讨论】:

    标签: xml ajax external web-crawler


    【解决方案1】:

    要让 google 索引您页面的各种 ajax 状态,您必须遵守他们的 Ajax Crawling Scheme (https://developers.google.com/webmasters/ajax-crawling/docs/getting-started)...

    基本上你需要确保页面的每个状态都可以通过 url 加载(不仅仅是按钮点击),即如果按钮 1 链接到关于我们的页面,那么你还必须确保关于我们的状态可以通过 url 哈希加载 /#!about-us....

    下一步是拦截 web bot 发出的请求(在上面的链接中解释),并在状态下使用无头浏览器(即 QT + capybara-webkit、HtmlUnit 等)抓取您的站点服务器端在 url 中指示,然后将生成的 dom 传递回请求的 bot。

    如果您使用的是 ruby​​,则在 ruby​​gems 有一个 gem 来处理此页面截取和 DOM 快照的呈现; gem install google_ajax_crawlerhttps://github.com/benkitzelman/google-ajax-crawler 的源代码....您必须先自己实现客户端路由....不应该太难做 - 在页面的某处 js 做类似的事情

    if(document.location.hash == '#!about-us') { $('.about-btn').click(); }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-26
      • 2014-01-29
      • 2020-02-17
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 1970-01-01
      • 2014-04-02
      相关资源
      最近更新 更多