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

搜索引擎可以索引JavaScript生成的网页吗?,javascript,html,gwt,dynamic,search-engine,Javascript,Html,Gwt,Dynamic,Search Engine,谷歌等搜索引擎可以索引JavaScript生成的网页吗?当您右键单击并选择由JavaScript(例如使用GWT)生成的页面中的view source时,您不会看到动态生成的HTML。我想如果一个搜索引擎也看不到生成的HTML,那么索引就没有多少了,对吗 如果搜索引擎也看不到生成的HTML,那么就没有太多可索引的内容 总而言之。从技术上讲,没有什么能阻止搜索引擎为其bot/spider实现javascript引擎,但这只是正常情况下做不到的。他们可以,但不会 另一方面,您可以嗅探搜索引擎的用户代

谷歌等搜索引擎可以索引JavaScript生成的网页吗?当您右键单击并选择由JavaScript(例如使用GWT)生成的页面中的view source时,您不会看到动态生成的HTML。我想如果一个搜索引擎也看不到生成的HTML,那么索引就没有多少了,对吗

如果搜索引擎也看不到生成的HTML,那么就没有太多可索引的内容

总而言之。从技术上讲,没有什么能阻止搜索引擎为其bot/spider实现javascript引擎,但这只是正常情况下做不到的。他们可以,但不会


另一方面,您可以嗅探搜索引擎的用户代理,并为其提供可读的服务。但是搜索引擎通常不喜欢这样,如果它们检测到你发送给普通浏览器的内容有差异,就会对你进行非常严厉的惩罚。

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

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


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

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

这就是为什么通过JS生成的内容(没有回退选项)是一个非常糟糕的主意

回到基本点。首先,根据REST原则(至少在需要状态更改的POST请求的范围内),使用裸骨(X)HTML创建站点。简单的语义标记,忘记CSS和Javascript

第一步是要做到这一点,让你的整个网站(或尽可能多的网站)以这种方式为搜索机器人和类似Lynx的用户代理提供良好的服务

然后添加一个视觉层:CSS/graphics/media进行视觉修饰,但不要显著更改原始(X)HTML标记;允许纯文本站点保持原样并正常运行。保持你的标记干净

第三是添加一个行为层:Javascript(Ajax)。使用支持Ajax的JS为用户/浏览器提供更快、更流畅、更好的体验。。。但只有那些用户。没有Javascript的用户仍然受欢迎;搜索机器人、视障者、许多手机等也是如此


这在网页设计界被称为“渐进增强”。这样做,你的网站就会以某种合理的形式为每个人服务。

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

看看谷歌和其他爬虫如何为SPI(AJAX密集型)应用程序编制索引的宣言。难度取决于所使用的web框架。

即使他们执行基本的
JavaScript
大多数网站使用
库和
框架
,我不认为像谷歌机器人或任何其他蜘蛛这样的机器人也会加载与网页链接的
Js
文件,如果不加载这些文件,Js代码就会产生错误

/*Correct Me If I am wrong*/

是的,谷歌(最有可能是必应)将为动态生成的HTML编制索引。查看更多详细信息:。

在YouTube上查找matt cutts的网站管理员视频。JavaScript上有一个链接:Update:该建议仅适用于基于内容的站点。如果这个网站是一个互动丰富的网站,比如谷歌地图,你不会按照这个答案的建议去做;没有Ajax的用户代理(搜索机器人、大多数手机等)如果内容有用且相关,就应该拒绝这些内容,这并没有内在的原因。关键是交互模式:如果交互必须是多维的和连续的(如FPS游戏),那么,当然,文本没有任何意义。但是谷歌地图可以用标准的HTML版本来实现。如果你确信你的用户都有Ajax(例如在内联网上),那么不用担心只登录部分的搜索机器人,也不用担心只使用Ajax,但它们是例外。关于lynx和盲人的假设是不正确的。盲人对网页上javascript生成的内容没有任何问题。一个更好的浏览器是“链接”,用来检查盲人将“看到”什么。但要检查它是否可以被谷歌索引,你确实应该使用lynx。Lynx for Google盲人链接10年后的2018年情况如何?