当用户禁用JavaScript或使用像Noscript这样的脚本阻止插件时,我一直在使用noscript标记来显示警告。如果JavaScript被禁用,网站将无法正常运行,并且用户可能无法在没有警告的情况下找出无法正常工作的原因。
在最新的Google算法改组后,我看到每日流量下降到前几个月的1/3左右。我还看到在SERPS中排名第一或第二的页面从结果中退出。在对网站管理员工具进行一些调查之后,我注意到“JavaScript”在关键字部分列为#16。这没有任何意义,因为该网站与JavaScript无关,而且该单词出现的唯一位置是在noscript标签之间的文本中。
似乎Google现在包含并索引noscript标签之间的内容。我不相信以前发生过这种情况。警告是三句话。我想在网站的每一页顶部出现相同的三个句子可能会对搜索引擎优化产生破坏性影响。
您认为这可能导致SEO问题吗?并且,是否有其他方法可以向以不会被搜索引擎索引或读取的方式禁用JavaScript的用户提供警告?
答案 0 :(得分:42)
将<noscript>
内容放在HTML的结束上,然后使用CSS将其放置在浏览器窗口的顶部。谷歌将不再认为它很重要。
Stack Overflow本身使用这种技术 - 在此页面上执行查看源,您会在HTML结尾附近看到“最适合JavaScript”警告,当您关闭JavaScript时会出现在页面顶部
答案 1 :(得分:23)
<noscript>
不适用于无意义的警告:
<noscript>
不好了!您没有启用JavaScript!如果你没有启用JS,你就注定要失败。 [关于如何在每个浏览器中启用JS的详细解释]
</noscript>
这意味着您可以提供尽可能多的内容,同时礼貌地提及启用JS将提供对某些额外功能的访问。您会发现基本上每个受欢迎的网站都遵循此指南。
答案 2 :(得分:21)
我认为使用<noscript>
不是一个好主意。我听说当客户端支持JavaScript阻止防火墙时它无效 - 如果客户端的浏览器启用了JavaScript,则<noscript>
标记将不会激活,因为就浏览器而言,JavaScript是完全的在文件中可操作......
一种更好的方法IMO,就是让JavaScript隐藏所有可能的'noscript'内容。
这是一个非常基本的例子:
...
<body>
<script>
document.body.className += ' js-enabled';
</script>
<div id="noscript">
Welcome... here's some content...
</div>
在你的StyleSheet中:
body.js-enabled #noscript { display: none; }
更多信息:
答案 3 :(得分:14)
另一个论坛上有人提到使用图像进行警告。我看待它的方式,这将有三个好处:
如果你将它与J-P提到的非noscript技术结合起来,它似乎是最好的解决方案。
答案 4 :(得分:3)
只想发布与此相关的有趣信息。对于我的网站,我最终做了类似于堆栈溢出使用的东西,但添加了“查找更多”链接,因为我的用户不像这个网站那样技术性。
有趣的是,根据人们的建议,我的解决方案抛弃了noscript标签,而是选择用javascript隐藏消息div。但是我发现如果firefox正在等待它的主密码,那么这个隐藏的消息就会被中断,所以我想我会回到noscript。
答案 5 :(得分:1)
如果您选择基于替换div内容的解决方案(如果启用了js,则div内容会更新)而不是使用noscript标记,小心关于Google如何查看此练习:
http://support.google.com/webmasters/bin/answer.py?hl=en&answer=66353
我不确定谷歌是否会认为它具有欺骗性,但需要进一步考虑和研究。这是关于此的另一个stackoverflow帖子:noscript google snapshot, the safe way