2009-05-05 99 views
17

可以搜索引擎,如Google索引JavaScript生成的网页吗?当您右键单击并在由JavaScript生成的页面中选择查看源代码(例如,使用GWT)时,您看不到动态生成的HTML。我想,如果一个搜索引擎也看不到生成的HTML,那么没有太多索引,对吧?搜索引擎可以索引JavaScript生成的网页吗?

回答

12

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

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

回到基本。首先,使用裸机(X)HTML,根据类似于REST的原则(至少在要求POST请求进行状态更改时)创建您的站点。简单的语义标记,忘掉CSS和Javascript。

第一步是为了让您的整个网站(或尽可能多的有意义)适用于搜索漫游器和类似Lynx的用户代理。

然后添加一个可视图层:用于视觉擦亮的CSS /图形/媒体,但不会显着更改原始(X)HTML标记;允许原文纯文字网站保持完整并正常运作。保持你的标记清洁!

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

在网页设计圈子里,这叫做渐进增强。这样做,您的网站以合理的形式适用于所有人。

7

如果搜索引擎也无法看到生成的HTML则没有太多的索引

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

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

1

谷歌正在执行简单的Javascript来发现一些内容 - 但他们当然不执行完整的脚本。如果你担心搜索引擎优化,那么你需要考虑提供静态版本的页面。

+0

谷歌在实施它的任何参考资料/链接? – 2009-05-05 18:44:15

+0

在YouTube上寻找matt cutts的网站管理员视频。有一个在JavaScript上。 – 2009-05-05 20:43:26

+0

此链接:https://developers.google.com/webmasters/ajax-crawling/docs/html-snapshot – phabtar 2013-07-17 10:11:49

6

一个很好的经验法则:如果你能在Lynx看到它,它可以被谷歌索引。

Lynx是一个很好的测试,因为它也让你了解盲人屏幕阅读器如何看你的网页。

2

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

1

看一看Single Page Interface关于SPI(AJAX密集型)应用程序如何被Google和其他抓取工具编入索引的宣言。有多难取决于所使用的Web框架。

0

即使他们执行的基本JavaScript MOSTLY网站上使用LIBRARIESFRAMEWORKS,我不这么认为,像谷歌机器人或任何其他蜘蛛机器人也将加载Js文件与网页和链接,而无需加载它们的JS代码将产生错误。

/*Correct Me If I am wrong*/