
JavaScript 和 SEO 长期以来一直是开发人员和 SEO 专家之间争论的话题。
搜索引擎已经并将继续在索引 JavaScript 网站方面做出重大改进。
也就是说,对于主要搜索引擎是否能够正确呈现包含使用 JavaScript 创建的内容的页面,仍然存在混淆。
优点:新的发展简化了兼容性
Google 和 Bing 去年发布了与 JavaScript 相关的最新 SEO 公告,显示了在简化兼容性方面的改进。
Google 宣布他们已经开始使用最新版本的 Google Chrome 浏览器来呈现执行 JavaScript、样式表等的网页。
ing 宣布他们正在采用新的 Microsoft Edge 作为 Bing 引擎来呈现页面。
Bingbot 现在将使用 Googlebot、Google Chrome 和其他基于 Chromium 的浏览器已经使用的相同底层网络平台技术呈现所有网页。
这两个领先的搜索引擎还宣布,他们将使他们的解决方案常青,并承诺定期将他们的网页渲染引擎更新到最新的稳定版本的浏览器。
这些定期更新将确保对最新功能的支持,这些功能是对以前版本的重大飞跃。
搜索引擎通过利用相同的呈现技术简化 SEO
Google 和 Bing 的这些开发让 Web 开发人员更容易确保他们的网站和 Web 内容管理系统在两种浏览器上都能正常工作,而无需不得不花时间深入研究每个解决方案。
除了不允许使用 robots.txt 文件外,搜索引擎还将体验并看到他们在新的 Microsoft Edge 浏览器或 Google Chrome 浏览器中看到的次要内容。
对于 SEO 和开发人员来说,这可以节省时间和金钱。
例如有:
- 不再需要保留Google Chrome 41来测试Googlebot。
- 不再需要升级到 Bing。
- 不再需要维护每个搜索引擎都可以使用的 JavaScript 函数、样式表指令的兼容性列表。
这样的例子不胜枚举。
有了这些好消息和空闲时间,这是否意味着 JavaScript 开绿灯了?
应该不会吧。
坏处:JavaScript 仍然面临许多限制和风险
长话短说,JavaScript 使搜索引擎阅读您的页面的能力变得复杂,并为错误留下空间,这可能是有害的 坏处搜索引擎优化。
当搜索引擎下载网络文档并开始分析它时,它做的第一件事就是了解文档类型。
如果文档是非 HTML 文件(例如:HTTP 重定向、PDF、图像或视频),则无需使用 JavaScript 堆栈来呈现文档,因为 JavaScript 不包含在这种类型的内容。
对于 HTML 文件,如果他们有足够的资源,他们将尝试使用他们优化的浏览器呈现解决方案来呈现文档。
当 JavaScript 没有直接嵌入到文档中时,问题开始浮出水面。
搜索引擎必须下载文件才能读取和执行它。
如果内容是 robots.txt 不允许的,它将无法执行。
如果允许,搜索引擎必须成功下载文件,面临每个站点的抓取配额和站点不可用问题。
搜索引擎通常不会执行复杂的操作,例如单击按钮,因此最好使用基本的 HTML 作为文件链接,如上例所示。
另一个潜在的陷阱是 JavaScript 文件可能与网站的缓存版本不同步。搜索引擎通常会缓存更长的时间,以避免频繁获取页面上的每个资源。
JavaScript 可能会通过 HTTP 调用发出 HTTP 请求以加载内容和其他资源文件,从而使前面解释的问题的变化倍增。
这些 JavaScript 文件或 HTML 中包含的 JavaScript 也可能与搜索引擎使用的 JavaScript 引擎不兼容。
如果不兼容,搜索引擎就不会读取它,如果我们不能读取它,我们就不会记住它。
随着搜索引擎最近开始使用相同的技术并努力更新其浏览器,将来这将变得更容易处理。
此外,不要忘记搜索引擎对 JavaScript 的处理有限:
- 使用 # 搜索规范化 URL。将所有参数放在 # 之后(遗留的 #!Standard 除外)。
- 搜索引擎通常不会点击按钮并执行其他复杂操作。
- 搜索引擎不必等待很长时间来呈现页面。
- 搜索引擎不会输出复杂的交互式网页。
JavaScript 不应该是新的 Flash!
请记住,必须阅读 JavaScript 的每个实例。过度使用它会降低索引排名的页面速度。
不确定性:为了最好的 SEO,现实地、有节制地或理想地使用 JS,根本不使用
对于大型网站和想要充分利用搜索引擎的网站,最好检测搜索基于用户代理(Bingbot、Googlebot)的引擎爬虫,输出没有 JavaScript 或有限 JavaScript 的基本 HTML。
或者,允许爬虫通过单个 HTTP 请求访问要编制索引的 HTML 和文本内容。
还有一个问题是,如果网站觉得有必要通过 JavaScript 或机器人来区分体验,他们可能会被当作垃圾邮件发送者而受到惩罚。
好消息是 Google 和 Bing 都建议您不必担心输出的文本和内容与人类客户所看到的几乎相同。
Google 说:
“目前,JavaScript 很难处理,并不是所有的搜索引擎爬虫都能成功或立即处理它。 …我们建议将动态渲染作为解决此问题的方法。动态渲染意味着为特定用户代理在客户端渲染内容和预渲染内容之间切换。”
ing 说:
“当专门渲染内容时对于搜索引擎爬虫,我们不可避免地会被问到这是否被认为是伪装……对于 SEO 社区,没有什么比伪装更受惩罚了……可怕的消息是……只要你做得很好,我们相信尝试向所有访问者返回相同的内容,唯一的区别是内容是在服务器上为机器人呈现的,而不是为真实用户呈现的。语言是在客户端呈现的,这是可以接受的,而不是伪装的。”
做还是不做?
对于SEO专家来说,搜索引擎爬虫访问你的页面时最好不要输出JavaScript,假设你返回的是HTML文本内容和格式几乎与您站点的访问者看到的相同。
如果 JavaScript 在站点和 p 上有目的,则可以使用它年龄。
确保了解技术含义,以便您的文档可以正确编入索引或咨询 SEO 技术专家。
激励搜索引擎将您的内容编入索引以满足他们的客户。
如果遇到问题,请使用搜索引擎站长在线工具进行排查或联系他们。





