Noscript标记,JavaScript禁用警告和Google罚款

我一直在使用noscript标签来显示警告,当用户禁用JavaScript或使用脚本阻止插件像Noscript。 如果JavaScript被禁用,那么网站将无法正常工作,用户可能不知道为什么没有警告就无法正常工作。

在最新的谷歌algorithm洗牌后,我看到每天的stream量下降到前几个月的三分之一。 我还看到在SERPS中排名第一或第二的网页已经退出结果。 在网站pipe理员工具中做了一些调查之后,我注意到“JavaScript”在关键字部分被列为#16。 这是没有意义的,因为该网站与JavaScript无关,唯一出现的地方是在noscript标签之间的文本。

看来,Google现在正在包含和索引noscript标签之间的内容。 我不相信这是以前发生的事情。 警告是三句话。 我猜想,在网站上每个页面的顶部出现相同的三个句子可能会对search引擎优化造成破坏性影响。

你认为这可能会导致search引擎优化问题? 而且,还有没有其他方法可以向禁用JavaScript的用户提供警告,这种方式将不会被search引擎编入索引或读取?

<noscript>内容放在HTML的末尾 ,然后使用CSS将其放置在浏览器窗口的顶部。 Google将不再认为这很重要。

堆栈溢出本身使用这种技术 – 在此页面上执行“查看源代码”,当您closuresJavaScript时,会在页面顶部显示的HTML末尾附近看到“最适合JavaScript的工作”警告。

<noscript>并不意味着无意义的警告,如:

<noscript>
不好了! 您没有启用JavaScript! 如果你不启用JS,你注定。 [关于如何在每个浏览器中启用JS的长篇解释]
</noscript>

这意味着你可以提供尽可能多的内容,同时礼貌地提到,使JS能够提供某些额外的function。 你会发现,基本上每个受欢迎的网站遵循这个指导原则。

我不认为使用<noscript>是个好主意。 我听说当客户端使用JavaScript阻止防火墙时,它是无效的 – 如果客户端的浏览器启用了JavaScript, <noscript>标记将不会被激活,因为就浏览器而言,JavaScript是完全可操作的文件…

IMO更好的方法是让所有将被JavaScript隐藏的“无脚本”内容隐藏起来。

这是一个非常基本的例子:

 ... <body> <script> document.body.className += ' js-enabled'; </script> <div id="noscript"> Welcome... here's some content... </div> 

在你的StyleSheet中:

 body.js-enabled #noscript { display: none; } 

更多信息:

  • 用可访问的,不显眼的DOM / JavaScript代替<noscript>
  • 避免NOSCRIPT的原因

有人在另一个论坛上提到使用图像进行警告。 我看到它的方式有三个好处:

  1. search引擎不会有任何不相关的文字索引。
  2. 显示单个图像的代码比文本警告(在每个页面上加载)要小。
  3. 可以执行跟踪以确定图像被调用的次数,以便了解有多less访问者禁用或阻止了JavaScript。

如果把它和JP提到的非标记技术结合起来,这似乎是最好的解决办法。

只是想发布一个有趣的消息与此有关。 对于我的网站,我已经做了类似于堆栈溢出使用的东西,但增加了“了解更多”的链接,因为我的用户不像本站那样技术性。

有趣的部分是,遵循人们的忠告,我的解决scheme抛弃了noscript标记,而是select使用javascript隐藏消息div。 但是我发现如果firefox正在等待它的主密码,这个消息的隐藏是被中断的,所以我想我会回到noscript。

如果您select基于replacediv内容的解决scheme(如果启用了js,则div内容得到更新),而不是使用noscript标记,请注意 Google如何看待这种做法:

http://support.google.com/webmasters/bin/answer.py?hl=en&answer=66353

我不确定谷歌会不会认为它是骗人的,但这是需要进一步考虑和研究的。 这里有另一个关于这个的stackoverflow的post: noscript谷歌快照,安全的方式