0

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

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

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

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

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

非常感谢您的回答!

4

1 回答 1

0

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

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

下一步是拦截 web bot 发出的请求(在上面的链接中进行了说明),并使用无头浏览器(即 QT + capybara-webkit、HtmlUnit 等)在url,然后将生成的 dom 传递回请求的机器人。

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

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

于 2013-03-16T12:43:36.933 回答