被搜索引擎不断更新完善。现在的搜索引擎不再依赖实验室数据,而是用现场数据来衡量网站速度。通过从Chrome用户体验报告(CrUX)数据库中提取信息,搜索引擎可以知道你的普通用户可以多快找到你的网站。这意味着,即使你的网站在你的网站上快如闪电,访问者和旧智能手机也可能会遇到延迟——这可能会影响你的速度得分和你网站的排名。如果你还没有,是时候加倍速度优化了。
北京网站优化公司将打破搜索引擎的九大PageSpeed洞察法则,列出他们比较好的实用建议,然后深入探讨一些进阶步骤,你可以采取这些步骤来进一步优化你的网站速度,提高你网站的关键词排名。
避免登录页面重定向
为什么会复位?重定向延迟了页面显示,降低了移动网站体验。每次重定向都会添加一个额外的超文本传输协议(HTTP)请求-响应往返行程,有时还会添加许多其他往返行程来执行DNS查找、TCP握手和传输层安全性(TLS)协商。
边肖的建议。创建一个响应网站,从给定的URL到最终登录页面的重定向不超过一次。
高级建议。尽量避免重定向。但是,如果需要使用重定向,请根据需要选择重定向类型:
301重定向到302。当您删除旧内容并重定向到新内容时,或者当您没有其他页面可重定向用户时,请使用永久重定向(301)。当进行短期改变(例如限时优惠)或将用户重定向到设备特定的URL时,使用临时重定向(302)。别担心,反正你也不会失去链接权!
JavaScript和HTTP重定向。JavaScript和HTTP重定向的主要区别在于,HTTP重定向会在服务器端造成一定的延迟,而基于JavaScript的重定向会降低客户端的速度(它们需要下载页面,然后解析并执行JavaScript才能触发重定向)。搜索引擎bot支持这两种类型的重定向。
启用压缩
为什么重要?减小内容的大小可以缩短下载资源所需的时间,减少客户端的数据使用,并缩短页面的呈现时间。边肖的建议。Gzip所有可压缩内容。您可以通过HTML5模板项目找到大多数服务器的示例配置文件。
高级建议
优先删除不必要的数据。压缩很好,但是更好的优化资源是不发送资源。定期检查网站资源,并在压缩前删除不必要的数据,以确保更好的结果。
考虑Gzip编码的替代方案。如果你想使用Gzip之外的工具,Brotli是一种无损压缩算法,它结合了LZ77算法的现代变体,霍夫曼编码和二阶上下文建模。它受到所有现代浏览器的支持,其压缩比可与目前可用的更好的通用压缩方法相媲美。Brotli压缩非常慢,解压缩非常快,所以您应该使用Brotli+Gzip在更高的级别预压缩静态资产,使用Brotli在级别1–4压缩动态HTML。
对不同的资源使用不同的压缩技术。压缩可以应用于HTML代码或者页面所需的各种数字资源,但是你需要对web字体、图片、CSS等应用不同的技术和算法。才能得到更好的结果。例如,如果您使用HTTP/2,对HTTP响应头使用HPACK压缩将减少不必要的开销。
改善服务器响应时间
为什么重要?在北京网站优化公司看来,快速的服务器响应时间是必要的;53%的移动访客会放弃3秒内无法加载的页面。
要想避免CPU饥饿、应用逻辑慢、数据库查询慢、路由慢、框架慢、库慢,高质量的网站开发必不可少。
边肖的建议。服务器响应时间应始终小于200毫秒。
高级建议
测量服务器响应时间和实际用户测量(RUM)。测试。org、Pingdom、GTmetrix或Chrome开发工具,用类似这样的工具网页来找出现有的性能问题,找出哪些因素会拖慢你的内容交付过程。记住,即使你的测试显示了网站速度
第一幅有意义的画。
速度指数小于1250。
传输时间间隔(TTI) < 5秒,重复接入
优化用户体验。配置服务器时:
使用HTTP/2(记住你的cdn也支持HTTP/2)提高性能。
在服务器上启用联机证书状态协议(OCSP)绑定以加速TLS握手。
同时支持IPv6和IPv4。基于IPv6的邻居发现(NDP)和路由优化可以将网站速度提高10-15%。
通过更快的DNS查找、预连接、预取和预加载,添加资源提示来预热连接并加速交付。
浏览器缓存
为什么重要?当通过网络获取资源时,客户端和服务器之间需要更多的往返,这意味着访问者需要更多的延迟和更高的数据成本。您可以通过实现缓存策略来缓解这个缓慢而昂贵的过程,缓存策略可以帮助客户端确定是否以及何时可以重用它过去返回的响应。
边肖的建议。回答以下问题的显式缓存策略:
资源是否可以缓存。
谁能藏得住?
会缓存多久?
如何在缓存策略过期时进行有效的重新验证(如果适用)。
边肖建议静态资产的缓存时间应该是一周,一年。
高级建议
使用缓存控制消除网络延迟,避免数据开销。缓存控制指令允许您在不与服务器通信的情况下,自动控制浏览器如何缓存响应(例如,无缓存和无存储)以及何时缓存响应(例如,长使用时间、长过期时间和短刷新时间)。
用etag实现有效的重新验证。实体标记(ETag)HTTP头提供了一个身份验证令牌,如果自上次请求以来资源没有发生变化,该令牌将阻止数据传输。这提高了资源更新检查的效率。
关于更好的缓存控制策略,请参考边肖的建议。Google创建了一个列表和流程图,可以帮助你尽可能长时间的缓存尽可能多的响应,并为每个响应提供一个验证令牌:
经验法则是,可变的(也就是可变的)资源要短时间缓存,不可变的(也就是静态的)资源要无限期缓存,避免重新验证。
减少HTML、CSS和JavaScript
为什么重要?收缩可以消除交付给访问者的资源中的冗余数据,它可以对整个网站的速度和性能产生很大的影响。
边肖的建议。web资产中没有冗余数据(如HTML代码中的注释或空格符号、CSS中的重复样式或不必要的图像元数据)。
高级建议
压缩时使用reduction。乍一看,reduction听起来像压缩,但它的粒度要大得多。压缩算法对于减小页面大小非常有用,但大多数算法不知道如何从CSS(/*…*/)、HTML()和JavaScript(//…)注释中删除不必要的代码,折叠级联样式表(CSS)规则,或者执行许多其他特定于内容的优化。
收缩也适用于其他资源类型。你可以减少不仅仅基于文本的资产,比如超文本标记语言(HTML)、CSS和JavaScript。图像、视频和其他类型的内容也可以根据您的需要进行缩减。例如,图像包含它们自己的元数据形式和各种有效载荷。如果您想要在照片共享网站上发布它们,您可能需要保留这些有效负载。
自动还原。使用工具来减少网站上成千上万(如果不是数百万)不同资源萎缩的负担。搜索引擎的PageSpeed模块可以自动完成这个任务,并且可以与Apache或nginxweb服务器集成。或者,您可以使用第三方工具,如HTMLMinifier(用于HTML)、CSSNano或CSSO(用于CSS)和UglifyJS(用于JavaScript)。
优化图像
为什么重要?图片平均占页面大小的60%,大图片会拖慢网站的抓取速度。优化图像有助于在不明显影响视觉质量的情况下减小文件大小。
边肖的建议。确保你的网站和图片是有反应的。使用图像的相对大小,在根据设备特征指定不同图像时使用图片元素,并使用srcset属性和x des
测量服务器响应时间和实际用户测量(RUM)。测试。org、Pingdom、GTmetrix或Chrome开发工具,用类似这样的工具网页来找出现有的性能问题,找出哪些因素会拖慢你的内容交付过程。记住,即使你的测试显示了网站速度
第一幅有意义的画。
速度指数小于1250。
传输时间间隔(TTI) < 5秒,重复接入
优化用户体验。配置服务器时:
使用HTTP/2(记住你的cdn也支持HTTP/2)提高性能。
在服务器上启用联机证书状态协议(OCSP)绑定以加速TLS握手。
同时支持IPv6和IPv4。基于IPv6的邻居发现(NDP)和路由优化可以将网站速度提高10-15%。
通过更快的DNS查找、预连接、预取和预加载,添加资源提示来预热连接并加速交付。
浏览器缓存
为什么重要?在北京网站优化公司看来,通过网络获取资源时,客户端和服务器之间需要更多的往返,这意味着访问者需要更多的延迟和更高的数据成本。您可以通过实现缓存策略来缓解这个缓慢而昂贵的过程,缓存策略可以帮助客户端确定是否以及何时可以重用它过去返回的响应。
边肖的建议。回答以下问题的显式缓存策略:
资源是否可以缓存。
谁能藏得住?
会缓存多久?
如何在缓存策略过期时进行有效的重新验证(如果适用)。
边肖建议静态资产的缓存时间应该是一周,一年。
高级建议
使用缓存控制消除网络延迟,避免数据开销。缓存控制指令允许您在不与服务器通信的情况下,自动控制浏览器如何缓存响应(例如,无缓存和无存储)以及何时缓存响应(例如,长使用时间、长过期时间和短刷新时间)。
用etag实现有效的重新验证。实体标记(ETag)HTTP头提供了一个身份验证令牌,如果自上次请求以来资源没有发生变化,该令牌将阻止数据传输。这提高了资源更新检查的效率。
关于更好的缓存控制策略,请参考边肖的建议。Google创建了一个列表和流程图,可以帮助你尽可能长时间的缓存尽可能多的响应,并为每个响应提供一个验证令牌:
经验法则是,可变的(也就是可变的)资源要短时间缓存,不可变的(也就是静态的)资源要无限期缓存,避免重新验证。
减少HTML、CSS和JavaScript
为什么重要?收缩可以消除交付给访问者的资源中的冗余数据,它可以对整个网站的速度和性能产生很大的影响。
边肖的建议。web资产中没有冗余数据(如HTML代码中的注释或空格符号、CSS中的重复样式或不必要的图像元数据)。
高级建议
压缩时使用reduction。乍一看,reduction听起来像压缩,但它的粒度要大得多。压缩算法对于减小页面大小非常有用,但大多数算法不知道如何从CSS(/*…*/)、HTML()和JavaScript(//…)注释中删除不必要的代码,折叠级联样式表(CSS)规则,或者执行许多其他特定于内容的优化。
收缩也适用于其他资源类型。你可以减少不仅仅基于文本的资产,比如超文本标记语言(HTML)、CSS和JavaScript。图像、视频和其他类型的内容也可以根据您的需要进行缩减。例如,图像包含它们自己的元数据形式和各种有效载荷。如果您想要在照片共享网站上发布它们,您可能需要保留这些有效负载。
自动还原。使用工具来减少网站上成千上万(如果不是数百万)不同资源萎缩的负担。搜索引擎的PageSpeed模块可以自动完成这个任务,并且可以与Apache或nginxweb服务器集成。或者,您可以使用第三方工具,如HTMLMinifier(用于HTML)、CSSNano或CSSO(用于CSS)和UglifyJS(用于JavaScript)。
优化图像
为什么重要?图片平均占页面大小的60%,大图片会拖慢网站的抓取速度。优化图像有助于在不明显影响视觉质量的情况下减小文件大小。
边肖的建议。确保你的网站和图片是有反应的。使用图像的相对大小,在根据设备特征指定不同图像时使用图片元素,并使用srcset属性和x des
高级建议
使JavaScript成为非呈现块。将脚本标记为async将告诉浏览器在等待加载和执行脚本时不要阻塞DOM构造。但是,只有当您知道在解析/构造DOM树时不需要更改DOM树中的任何内容时,才应该这样做。
内联关键脚本和延迟的非关键脚本。呈现页面内容所需的脚本应该是内联的,以避免额外的网络请求。这些应该尽可能小,以便快速执行并提供良好的性能。非关键脚本应该是异步的,并推迟到第一次演示之后。记住,异步脚本不能保证按指定的顺序执行。
将第三方JavaScript库推迟到折叠后。增强交互性或添加动画或其他效果的JavaScript库(如JQuery)通常不需要呈现在fold之上。只要有可能,就让这些JavaScript元素异步,并将它们推迟到页面中。
结论:测试速度更新的结果
为了搞清楚速度更新对SERP位置的实际影响,我和团队做了两个实验,一个在搜索引擎发布更新之前,一个在搜索引擎发布更新之后。
即使在更新之前,我们发现移动站点在serp中的位置与其平均优化得分之间的相关性已经非常高(0.97),但该站点的第一个contentful paint(FCP)和DOM content loaded(DCL)指标(现在显示在PageSpeed Insights上,在页面速度得分下方)几乎没有相关性,这取决于您的位置。
我们在一周的更新后没有注意到任何明显的变化,这是可以理解的:更新完全发挥作用需要时间。移动搜索引擎结果页(SERPs)的优化得分与位置的相关性较高,而FCP/DCL与位置的相关性较低。
在过去的三个月里,北京网站优化公司了解到,移动serp排名前30的网站优化得分平均提高了0.83分。我们认为这是整个行业网站质量的提升。
这就告诉了我们什么是快速优化的网站。标准在提高——你不能自满。提高速度,就像SEO整体一样,是一个过程。如果你不不断调整和改进,你就有被甩在后面的危险。
作者: | 来源:[db:出处] | 发布于:2022-02-19 16:39:33