【问题标题】:Move generated javascript out of rendered html将生成的 javascript 从呈现的 html 中移出
【发布时间】:2009-08-11 12:54:10
【问题描述】:

我们得到的一个 SEO 建议是将所有 javascript 移至外部文件,以便可以从文本中删除代码。对于固定脚本,这不是问题,但是需要生成一些脚本,因为它们依赖于一些由 asp.net 生成的 ClientId。 我可以使用 ScriptManager(来自 asp.net Ajax 或 Telerik)将此脚本发送到浏览器还是需要为此编写自己的组件?

我找到了组合固定文件和/或嵌入式资源(也是固定的)的唯一方法。

【问题讨论】:

    标签: asp.net javascript seo scriptmanager


    【解决方案1】:

    如何在内联 Javascript 数组/哈希中注册 ClientID,并让您的外部 JS 文件遍历它?

    【讨论】:

      【解决方案2】:

      蜘蛛机器人不读取 JavaScript 块。这个建议是完全错误的。

      【讨论】:

      • 给出的原因是为了提高内容与代码的比率:从 html 文件中删除文本可以让蜘蛛不必阅读和忽略它。
      【解决方案3】:

      某些 javascript 可能会破坏 W3C 验证器(并可能导致某些蜘蛛机器人出现问题) 您可以通过将此代码放在您的 javascript 周围来减少这种情况:

      ...您的 javascript 代码和函数...

      // -->

      注意:去掉“

      【讨论】:

      • 我不同意,其他许多人也是如此:stackoverflow.com/questions/204813/…
      • 您不同意哪一部分?在我用它来“修复” W3C 验证的基础上,它是正确的。在此基础上,我说它也可以修复其他蜘蛛机器人的解析,在这种情况下是 SEO 相关的机器人?如果你不同意那我想这证实了我的怀疑(即当我说“可能”时)
      • 注意,当您有一些由 Javascript 编写的 html 代码时(例如,当 flash 不可用时显示内容时),此代码有助于 W3C 验证,在这种情况下,有时会转义 html 以构造字符串在 javascript 中,它破坏了验证,因为验证“机器人”认为它看到了错误的 html。这就是我所指的。
      • SEO 与验证无关。如果您想查看 BOT 看到的内容,请使用 Lynx (en.wikipedia.org/wiki/Lynx_%28web_browser%29)。机器人看不到由 JavaScript 编写的代码,因为它们不执行 JavaScript,它们会抓取页面。
      • 如果 bot 抓取页面并在 javascript 中看到 html 字符串,则可能是 bot 将其视为 html。如果字符串被转义,机器人可能会读取这个无效的 html。这是使用带有 javascript 字符串的 html 验证页面的问题。这与验证有关,而不是 SEO。同意?在 SEO 使用机器人解析 html 的基础上,它“可能”/“可能”有同样的问题。我不知道有一个经过验证的页面是否更适合 SEO,我只是在评论机器人如何无法解析 html。
      猜你喜欢
      • 2013-11-04
      • 1970-01-01
      • 2018-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多