【发布时间】:2012-09-08 17:45:55
【问题描述】:
我想从 ajax 调用中填充一个 jQuery 菜单,该调用从数据库中检索菜单。由于<li> 项目不会出现在查看源 html 中,而是在 jQuery 就绪功能中添加到 DOM 中,所以搜索引擎将什么视为 html?他们看到的是空的菜单结构(即浏览器源代码)还是看到填充的 li 项?我的猜测(和希望)是后者。
【问题讨论】:
标签: jquery menu search-engine
我想从 ajax 调用中填充一个 jQuery 菜单,该调用从数据库中检索菜单。由于<li> 项目不会出现在查看源 html 中,而是在 jQuery 就绪功能中添加到 DOM 中,所以搜索引擎将什么视为 html?他们看到的是空的菜单结构(即浏览器源代码)还是看到填充的 li 项?我的猜测(和希望)是后者。
【问题讨论】:
标签: jquery menu search-engine
搜索引擎通常不会在抓取页面时执行 JavaScript 代码。出于这个原因,我不相信您的菜单会出现在 DOM 中。
另一种选择可能是在页面加载时将菜单实际呈现为无序列表,但使用display:none 设置列表的样式,这样您的访问者就不会看到它,但搜索引擎会。
尝试使用其中一种工具查看您的网站,这将(有效地)模拟搜索引擎抓取。
http://support.google.com/webmasters/bin/answer.py?hl=en&answer=158587
http://www.delorie.com/web/lynxview.html
http://www.webconfs.com/search-engine-spider-simulator.php
[编辑]
实际上,Google 确实为他们的机器人提供了一种解决方法来抓取 AJAX 内容如果您遵循这些标准:https://developers.google.com/webmasters/ajax-crawling/docs/getting-started
Bing 和 Yahoo 似乎也采用了这些标准:http://searchengineland.com/bing-now-supports-googles-crawlable-ajax-standard-84149
【讨论】: