搜索引擎可以索引JavaScript生成的网页吗?

时间:2009-05-05 18:27:35

标签: javascript html gwt dynamic search-engine

可以搜索引擎,例如Google索引JavaScript生成的网页吗?右键单击并在JavaScript生成的页面中选择视图源(例如,使用GWT)时,您看不到动态生成的HTML。我想如果搜索引擎也看不到生成的HTML,那么索引就没那么多了吧?

8 个答案:

答案 0 :(得分:13)

您的怀疑是正确的 - 搜索机器人无法看到JS生成的内容可见。关闭JS的任何人都看不到它 - 并且,上次我在我正在开发的网站上添加了一些测试(这是一个大型的主流受众网站,每月有数十万个独特的访问者) ,大约10%的用户没有以任何形式运行Javascript。这包括搜索机器人,禁用JS的PC浏览器,许多手机,使用屏幕阅读器的盲人......等等。

这就是为什么通过JS生成的内容(没有后备选项)是一个非常糟糕的想法。

回到基础。首先,使用裸骨(X)HTML ,在类似REST的原则上创建您的网站(至少要求状态更改的POST请求)。简单的语义标记,忘记CSS和Javascript。

第一步是做到这一点,并让你的整个网站(或尽可能多的有意义)以这种方式很好地为搜索机器人和类似Lynx的用户代理工作。

然后添加可视图层:CSS /图形/媒体进行视觉润色,但不会显着改变原始(X)HTML标记;允许原始纯文本站点保持完整和正常运行。保持你的标记清洁!

第三是添加行为层:Javascript(Ajax)。为具有Ajax功能的JS的用户/浏览器提供更快,更顺畅,更好的体验...但仅限于那些用户。没有Javascript的用户仍然欢迎;搜索机器人,视障人士,许多手机等等。

这在网页设计圈中被称为渐进增强。这样做,您的网站以一种合理的形式为每个人工作。

答案 1 :(得分:7)

  

如果搜索引擎也无法看到生成的HTML,那么索引就不多了

总结一下。从技术上讲,没有什么能阻止搜索引擎为他们的机器人/蜘蛛实现一个javascript引擎,但它通常不会完成。他们可以,但他们不会。

另一方面,您可以嗅探搜索引擎的用户代理并为其提供可读的内容。但搜索引擎通常不喜欢这样,如果他们发现你发送到普通浏览器的内容存在差异,那么会严重惩罚你。

答案 2 :(得分:6)

一个好的经验法则:如果您可以在Lynx中看到它,则可以将其编入索引。

Lynx是一项出色的测试,因为它还可以让您了解盲人的屏幕阅读器如何看到您的页面。

答案 3 :(得分:4)

是的,谷歌(很可能是Bing)会将动态生成的HTML编入索引。在此处查看更多详细信息:http://searchengineland.com/tested-googlebot-crawls-javascript-heres-learned-220157

答案 4 :(得分:2)

Google正致力于执行简单的Javascript来发现一些内容 - 但他们肯定不会执行完整的脚本。如果你担心SEO,那么你需要考虑提供静态版本的页面。

答案 5 :(得分:2)

有几种方法可以在GWT中处理这个问题,this是关于这个问题的一个很好的讨论。 似乎最好的选择是当用户代理是机器人时提供静态SEO内容,只要SEO内容与通过GWT路由提供的内容相同。这可能是很多工作,但如果您真的想要一个针对搜索引擎进行优化的完全丰富的GWT应用程序,那么它可能是值得的。

答案 6 :(得分:1)

请参阅Single Page Interface宣言,了解如何通过Google和其他抓取工具将SPI(AJAX密集型)应用程序编入索引。有多难取决于所使用的Web框架。

答案 7 :(得分:0)

即使他们执行基本的JavaScript主要网站使用LIBRARIESFRAMEWORKS,我也不认为像谷歌机器人或任何其他蜘蛛这样的机器人也会加载{{ 1}}与网页链接的文件,如果不加载它们,JS代码就会产生错误。

Js