避免 JavaScript 中的 SEO 问题

在许多组织中,网站设计完全由开发人员负责——坦率地说,这正是我们许多营销人员所希望的。将后端技术留给开发部门可以让您有更多时间专注于营销活动的概念、语言和执行。但是,出色的用户体验并不能造就一个可找到的网站。在 Found 会议上,UpBuild 高级营销策略师 Danielle Rohe 讨论了 JavaScript 问题——以及如何与开发团队合作让您的网站可找到。

Javascript 又是什么

JavaScript 是大多数交互式网站所采用的语言。Moz对此的解释是:“每当网页不仅仅是显示静态信息供您查看时,它还会显示及时的内容更新、交互式 图形、滚动视频点唱机等,您可以肯定其中可能涉及 JavaScript 购买电话营销数据 ”这种语言是大多数网站不可或缺的一部分。

JavaScript 可让您创建动画内容(如图片轮播)、动态更新的内容(如重新填充的时间轴)以及各种炫酷的交互式内容。JavaScript 通常位于 HTML(构成页面的基本结构)和 CSS(应用外观自定义)之上,作为允许网站“执行某些操作”的层。

JavaScript 如何影响 SEO

并非所有搜索引擎爬虫都能成功或立即处理 JavaScript 文档。要了解 JavaScript 如何影响 SEO,您需要思考客户端/服务器端的动态。

“服务器端”是指在网络服务器上运行的系统 — 用户永远看不到的东西。服务器端代码在内容下载并显示在用户的网络浏览器上 之前运行。
“客户端”是指在用户的 Web 浏览器上运行的软件。页面的客户端代码被下载,然后由浏览器运行和显示。通常,JavaScript 应用于文档的客户端渲染。在这里,文档通过称为文档对象模型 (DOM) 的接口显示。DOM 将文档呈现为 JavaScript 可以操纵的节点和对象。
从历史上看,爬虫程序会查看页面的服务器端渲染:如果您的网站使用了 JavaScript,机器人根本看不到它。随着客户端渲染和 DOM 的应用变得越来越普遍,Google 尤其开始将 JavaScript 作为其爬虫的一部分进行读取。

然而,该系统并不完善,可能无法读取嵌套在某些 JavaScript 标签内的 HTML 内容。您需要确保没有将重要的搜索词隐藏在 JavaScript 容器内。

客户端 服务器端

文档的服务器端显示给浏览器。它要经过一个框架才能被用户查看。
用非技术术语来说,您可能会将信息放在服务器端无法读取的 Javascript 中,因此网络爬虫也可能无法读取这些信息。
Googlebot 确实会抓取 Javascript,但抓取方式可能不正确。而且,包括 Facebook 在内的其他抓取工具也不会抓取 Javascript。那么,我们如何弥补那些可能无法正确或根本无法呈现 Javascript 的抓取工具的不足呢?

使用动态渲染。

购买电话营销数据

Google 建议使用 动态渲染,这基本上是一种向抓取工具和用户发送不同版本代码的方法。向 Googlebot 显示的网站将经过预渲染,这会将您的内容转换为静态 HTML,以便抓取工具更轻松地使用并更快地加载到页面上。

为了实现动态渲染,Google 建议将其机器人发送到预渲染软件。预渲染是位于服务器和客户端之间的“中间件”。当最终客户端向服务器发送请求以获取页面时,中间件会渲染 JavaScript 并将渲染后的 HTML 发送到客户端。但是,您不希望用户只看到经过预渲染的内容。此过程直接将 HTML 提供给服务器 – 因此您的查看者无法获得交互式 JavaScript 体验。

动态渲染可以提供帮助。动态渲染使用典型的服务器到浏览器渲染,但会将文档的渲染版本(带有静态 HTML)发送给爬虫。虽然这听起来像是伪装 如何在营销中发展创意理念 (向机器人显示的内容与向用户显示的内容不同),但 Google 已批准此方法。它表示:

“只要您的动态渲染产生类似的内容

,Googlebot 就不会将动态渲染视为伪装……使用动态渲染向用户和爬虫提供完全不同的内容可视为伪装。例如,一个网站向用户提供有关猫的页面,向爬虫提供有关狗的页面,可视为伪装。”

Google 确实表示希望有一天能够解决与 JavaScript 相关的抓取问题。与此同时,动态渲染是最佳实践。Danielle 推荐使用prerender.io作为一款开源预渲染软件,它与 Angular、React、jQuery 和其他 JavaScript 框架兼容。

动态渲染的工作原理

动态渲染会创建两条渲染路径。图片来自 developers.google.com。
确保延迟加载不会隐藏重要内容
开发者可以使用 JavaScript 构建“延迟加载”图像和内容。延迟加载仅在用户滚动到屏幕外的内容时才加载该内容,从而节省数据和加载时间 bfb 目录 它可以提高网站性能和用户体验 – 但是,您需要确保您的延迟加载实施不会无意中向 Google 隐藏内容。

确保您的延迟加载实现允许抓取工具查看用户访问页面时可能无法查看的所有文本和图像标记。并且,确保用户到达视口时,视口中的所有内容都是可见的。

如果您要实现无限滚动,请使用分页加载。此方法为用户提供每个部分的唯一链接 – 它加载方便且易于共享。使用 API 确保内容动态填充。

最后的话:进行测试,并与开发团队保持密切联系

 

如果您和许多营销人员一样,不直接负责网站编码,那么您需要了解您的开发团队。如果他们有技术代表,请参加并提出问题!您无需成为 JavaScript 专家即可确保 SEO 和开发能够很好地协同工作。

Leave a comment

Your email address will not be published. Required fields are marked *