50

当用户禁用 JavaScript 或使用 Noscript 等脚本阻止插件时,我一直在使用 noscript 标签来显示警告。如果 JavaScript 被禁用,网站将无法正常运行,用户可能无法弄清楚为什么它在没有警告的情况下无法运行。

在最新的谷歌算法洗牌之后,我看到每天的流量下降到前几个月的 1/3 左右。我还看到在 SERPS 中排名 #1 或 #2 的页面退出了结果。在对网站管理员工具进行了一些调查后,我注意到“JavaScript”在关键字部分被列为 #16。这是没有意义的,因为该站点与 JavaScript 无关,并且该单词出现的唯一位置是 noscript 标记之间的文本中。

似乎谷歌现在正在包括 noscript 标签之间的内容并为其编制索引。我不相信以前发生过这种情况。警告是三句话。我想在网站上每个页面的顶部出现相同的三个句子可能会对 SEO 产生破坏性影响。

您认为这可能会导致 SEO 出现问题吗?而且,是否有任何其他方法可以向禁用 JavaScript 的用户发出警告,这种方式不会被搜索引擎索引或读取?

4

6 回答 6

45

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

Stack Overflow 本身就使用了这种技术——在这个页面上查看源代码,你会在 HTML 的末尾附近看到“最适合 JavaScript”的警告,当你关闭 JavaScript 时,它会出现在页面的顶部。

于 2009-06-18T17:37:58.807 回答
25

<noscript>不适用于无意义的警告,例如:

<noscript>
不好了!您没有启用 JavaScript!如果你不启用 JS,你就完蛋了。[关于如何在每个浏览器中启用 JS 的详细说明]
</noscript>

它旨在让您提供尽可能多的内容,并礼貌地提及启用 JS 将提供对某些额外功能的访问。你会发现基本上每个流行的网站都遵循这个准则。

于 2009-06-14T18:23:12.983 回答
22

我不认为使用<noscript>是一个好主意。我听说当客户端位于阻止 JavaScript 的防火墙之后时它是无效的 - 如果客户端的浏览器启用了 JavaScript,则该<noscript>标签将不会激活,因为就浏览器而言,JavaScript 在文档中是完全可操作的。 ..

IMO 的一种更好的方法是让所有可能的“noscript”内容都被 JavaScript 隐藏。

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

...
<body>

    <script>
        document.body.className += ' js-enabled';
    </script>

    <div id="noscript">
        Welcome... here's some content...
    </div>

在您的样式表中:

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

更多信息:

于 2009-06-14T18:45:30.713 回答
16

另一个论坛上有人提到使用图像作为警告。在我看来,这将带来三个好处:

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

如果将此与 JP 提到的非 noscript 技术相结合,它似乎是最好的解决方案。

于 2009-06-19T23:08:25.733 回答
3

只是想发布一个与此相关的有趣花絮。对于我的一个站点,我最终做了类似于堆栈溢出使用的操作,但添加了“了解更多”链接,因为我的用户不像这个站点那样技术。

有趣的是,根据人们的建议,我的解决方案放弃了 noscript 标签,而是选择使用 javascript 隐藏消息 div。但是我发现如果firefox正在等待它的主密码,这个消息的隐藏被打断了,所以我想我会回到noscript。

于 2010-08-03T03:10:06.070 回答
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

于 2012-11-01T14:28:49.103 回答