第一个输入延迟 – 一个简单的解释

第一个输入延迟超出了尝试谷歌。现场性能的改进通常导致SA增加LES,广告收入和引线。

首次输入延迟的定义

FID是浏览器响应站点访问者在网站时与网站互动的时间所需的时间的测量正在加载。这有时被称为输入延迟。

可以窃听相互作用,链路或密钥按压和响应给出的响应。文本输入区域,下拉列表和复选框是FID将衡量的其他类型的交互点。

滚动或缩放的广告传票读数不计为交互,因为网站本身没有响应。

FID的目标是测量网站在加载时的响应程度。

首次输入延迟的原因

首先输入延迟通常是原因d通过以非有序方式下载的图像和脚本。此无序编码导致网页下载过度暂停,然后启动然后暂停。这导致网站访问者尝试与网页交互的无响应行为。

就像一个免费导致任何没有交通信号的交通堵塞,这导致事故和放缓。修复它是关于将订单带到流量。

谷歌描述了输入延迟的原因

,如下所示:

“一般来说,输入延迟(AKA输入延迟)发生因为浏览器的主线程正忙于做其他事情,所以它不能(又计)响应用户。这可能发生的一个常见原因是浏览器正在忙于解析并执行由您的应用程序加载的大型JavaScript文件。虽然它这样做,但它无法运行任何事件侦听器,因为它加载的JavaScript可能会告诉它要做其他事情。“

读数下方

如何修复输入延迟

首次输入延迟的原因是脚本和图像的紊乱下载,解决问题的方式是仔细地将这些脚本和图像呈现给浏览器以进行下载的方式。

解决问题的问题通常包括使用HTML属性来控制脚本如何下载,优化图像(HTML和图像)和周到省略不必要的脚本。目标是优化下载以消除典型暂停的内容并开始下载未经用化的网页。

为什么浏览器变得无响应

浏览器是完整任务以显示网页的软件。任务包括下载代码,图像,字体,样式信息和脚本,然后根据HTML指令运行(执行)脚本并构建网页。

此过程称为渲染。渲染意味着制作,这就是通过组装代码和图像来渲染网页的浏览器所做的。

各个呈现任务称为线程。单词线程对于“执行线程”表示单独的操作序列(在这种情况下,渲染网页的许多单独任务)。在浏览器中,有一个被称为一个线程主线程。主线程负责创建(呈现)网站visi的网页看来,主线程可以被视为一个高速公路,其中汽车是在访问网站时正在下载和执行的图像和脚本的象征性。

一些代码很大和慢。这会导致其他任务停止并等待大小慢速代码来下车(完成下载和执行)。

目标是以优化下载哪个代码的方式编写网页首先,当代码被执行时,以有序的方式执行,以便以最快的方式下载网页。

下面的广告联系读数下面

读数不会超过第三方代码

致核心Web Vitals,尤其是第一个输入延迟,有一些代码可以做到这一点。 However,这也可能是竞争对手的情况。例如,如果您的业务取决于Google Adsense(大渲染阻止脚本),则竞争对手将是相同的。

在许多情况下,可能足以做到最好,因为你的竞争对手可能无法做得更好。

在这些情况下,最好把你的胜利拿走你可以找到它们,不要冒犯你无法做出更改的损失。

JavaScript对第一个输入延迟的影响

JavaScript就像一个让事情发生的一点引擎。当在表单上输入名称时,可能会在有一个JavaScript中,以确保输入第一个和姓氏。按下一个按钮时,可以在那里讲述浏览器授予浏览器的JavaScript谢谢您在弹出窗口中的消息。

下面

JavaScript的问题读取的问题是它不仅必须下载,而且它也必须运行(执行)。因此,那些有助于输入延迟的两件事。

如果一个大的JavaScript文件位于页面顶部附近,那么该文件将阻止其余的页面渲染下(变得可见和交互式)直到该脚本完成下载并执行。

这被称为阻塞页面。

显而易见的解决方案是从顶部重新定位这些种类的脚本页面并将它们放在页面底部,以便它们不会干扰等待渲染的所有其他页元素。

但是如果例如,这可能是一个问题它位于一个非常长的网页结尾。原因是因为一旦加载大页面并且用户准备好与之交互,浏览器仍将发出信号,即它正在下载(因为大JavaScript文件在最后滞后)。页面可能会更快地下载,然后在等待JavaScript执行速度的情况下下载更快但随后停止。

下面的广告传票读数

有一个解决方案!

Defer和Async属性

推迟和async html属性就像控制javascript如何下载和执行的开始和停止的流量信号。

html属性是转换html元素的东西,类似于扩展元素的目的或行为。

就像你学到技能一样,那种技能成为一个你是谁的属性。在这种情况下,延迟器和异步属性在JavaScript文件的行为方式上更改。

其中一个重要的变化是他们告诉浏览器不会暂停暂停JavaScript。这些属性告诉浏览器要保持主线程。

JavaScript文件将独立于主线程下载和处理,允许浏览器更快地呈现网页。

async属性

使用Async属性的JavaScript文件将下载,然后在下载后立即执行。当它开始执行时是javascript文件阻止主线程的点。

通常在下面的

下方读取的广告联系读数通常在开始下载时文件会阻止主线程。但不是与异步属性。

这被称为异步下载,其中它独立于主线程下载并与其并行下载。

Async属性对于广告和社交共享等第三方JavaScript文件有用,在执行它们的顺序无关紧要的文件。

defer属性

javascript文件与“

defer

”属性也将异步下载。

但延迟的JavaScript文件将在下载并呈现整个页面之前执行。延迟脚本也按照它们位于网页上的顺序执行。

使用DEFER属性的脚本对于依赖于正在加载的页面元素以及它们执行的顺序时,脚本脚本对JavaScript文件有用。

一般而言,使用Defer属性用于脚本,这些脚本不是对页面本身的呈现。

对所有用户的输入延迟是不同的

重要的是要注意第一个输入延迟分数是可变的和不一致的。评分因访客而异。

以下读数下方的广告联系读数的差异是不可避免的,因为该分数取决于特定对访问站点的个人的相互作用。

一些游客可能会分心而不是互动,直到装入所有资产并准备与之交互。

这是谷歌描述它的方式:

“不是全部用户每次访问时都会与您的网站进行互动。并非所有的交互都与FID相关联…

此外,一些用户的第一互动将是令人差的次数(当主线程在延长时间段时忙时),并且一些用户的第一个交互将在好时光(当主线程完全空闲时)。[这意味着一些用户将没有FID值,有些用户将具有低多个值,并且一些用户可能会有高的FID值。“

为什么大多数网站失败者

遗憾的是,许多内容管理系统,主题和插件都没有构建以符合这个相对较新的公制。

这就是为什么这么多的发布者被审美的原因,以发现他们的网站不会通过第一个输入延迟测试。

读数下方

,但这是随着网络软件开发社区的变化从出版社的不同编码标准要求提供不同的编码标准。

并不是说,制作内容管理系统的软件开发人员对生产不衡量这些指标的产品有故障。

例如,WordPress在Gutenberg网站编辑器中讨论了缺点,这些编辑器导致它比它能越来越好。

古腾堡是使用块的接口或隐喻构建站点的视觉方式。有一个小部件块,一个联系表单块和页脚块等。
所以创建网页的过程更为视觉,通过构建块的隐喻,从实际上构建具有不同块的页面。

有不同种类的块,以不同方式看起来和行为。 eaCH单个块具有相应的样式代码(CSS),其中大部分是特定的,并且该单个块是独一无二的。

广告联系读数下方

编码这些样式的标准方式是创建一个包含样式的样式表每个街区都是独一无二的。这样做是有道理的,因为你有一个中心位置,它存在于特定于块的所有代码。

结果是在一个页面上可能包含(假设)二十块,WordPress将加载那些块的样式加上没有使用的所有其他块。

在核心网Vitals(CWV)之前被认为是打包CSS的标准方法。

之后核心网络的引入威尔斯认为实践被认为是代码膨胀。

这不是意味着对WordPress开发人员的轻微。他们做了一个梦幻般的工作。

这只是反映了在集成在编码生态系统内的软件开发阶段的瓶颈中如何达到瓶颈的反映。

我们经历了同样的转型到移动第一网页设计的事情。

广告联系读数下面

古腾堡10.1改进的性能

WordPress

Gutenberg 10.1引入了一种通过仅加载来加载样式的改进方式

所需的样式并没有加载不使用的块样式。

这是WordPress的巨大胜利,依赖WordPress的发布商以及访问使用WordPress创建的网站的用户。

第一个输入de的时间躺在现在

我相信,向前移动越来越多的软件开发人员负责CMS,主题和插件将转换为第一个输入延迟友好的编码实践。

但直到它发生负担在出版商处采取措施提高第一次输入延迟。理解它是第一步。

Pagespeed Insights

优化第一输入延迟

首先输入延迟

以用户为中心的性能度量

用于测量核心网的GitHub脚本