Noscript Tag,JavaScript禁用警告和Google Penalty

und*_*oIT 49 javascript seo noscript

当用户禁用JavaScript或使用像Noscript这样的脚本阻塞插件时,我一直在使用noscript标记来显示警告.如果禁用JavaScript,网站将无法正常运行,并且用户可能无法在没有警告的情况下找出无法正常工作的原因.

在最新的Google算法改组后,我看到每日流量下降到前几个月的1/3左右.我还看到在SERPS中排名第一或第二的页面从结果中退出.在对网站管理员工具进行一些调查之后,我注意到"JavaScript"在关键字部分列为#16.这没有任何意义,因为该网站与JavaScript无关,而且该单词出现的唯一位置是noscript标签之间的文本.

似乎Google现在包含并索引noscript标签之间的内容.我不相信以前发生过这种情况.警告是三句话.我想在网站的每一页顶部出现相同的三个句子可能会对搜索引擎优化造成破坏性影响.

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

Ric*_*dle 42

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

Stack Overflow本身使用这种技术 - 在这个页面上执行一个View Source,你会在HTML结尾附近看到"最适合JavaScript"的警告,当你关闭JavaScript时会出现在页面顶部.


Mat*_*hen 23

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

<noscript>
不好了!您没有启用JavaScript!如果你没有启用JS,你就注定要失败.[关于如何在每个浏览器中启用JS的详细解释]
</noscript>

它旨在为您提供尽可能多的内容,同时礼貌地提及启用JS将提供对某些额外功能的访问.您会发现基本上每个热门网站都遵循此指南.


Jam*_*mes 21

我认为使用<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>
Run Code Online (Sandbox Code Playgroud)

在你的StyleSheet中:

body.js-enabled #noscript { display: none; }
Run Code Online (Sandbox Code Playgroud)

更多信息:

  • 这表明"防火墙"系统存在设计缺陷,而不是noscript的问题. (10认同)

und*_*oIT 14

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

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

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

  • 此外,没有任何文字,因此屏幕阅读器禁用的人将无法使用您的网站.-1. (13认同)
  • @ user9876,没有什么`alt`无法修复.(`alt`就是为此设计的,甚至.)但是,谷歌可能会将其编入索引. (4认同)