
有一些工具可以帮助和评估你的改进。其中一个更好的工具是PageSpeed Insights。它可以作为一个和Chrome的DevTools中的Lighthouse标签(edge、Opera、Brave和Vivaldi也有同样的DevTools)。
网页性能比以往任何时候都更重要。用户期望有一个能与桌面应用程序相媲美的光滑和响应式体验。此外,谷歌的衡量页面性能–它影响PageRank和你的搜索引擎优化工作。
WordPress运行着超过三分之一的网站,但性能却受到无效的主机、缓慢的主题和对插件的过度依赖的影响。你可以通过更换一个好的虚拟主机和使用更佳性能技术来。
打开你要检查的页面,按Ctrl/Commd + Shift + I或在菜单中的更多工具中选择开发工具,启动Lighthouse。切换到Lighthouse选项卡,点击Analyse Page Load按钮。几秒钟后会显示结果:

Lighthouse报告示例
你可以深入到更高级别的百分比,以发现进一步的信息和提示,解决已知的问题。这个工具是非常宝贵的,但也有不足之处。
PageSpeed Insights API提供了一种解决这些问题的 *** ,因此测试可以自动化、记录和比较。
谷歌提供了一个免费的PageSpeed Insights REst ,它以json格式返回数据,其中包含所有的Lighthouse指标和更多。它允许你自动运行页面,存储产生的数据,审查一段时间的变化,并显示你需要的确切信息。
PageSpeed Insights API模拟了谷歌如何看待你的网站。你可以每隔几天或在你发布性能更新时运行一份报告。
这些结果是有帮助的,但不一定能说明实际的用户体验。当你想在所有用户的设备和 *** 上监测真实世界的性能时,是一个更好的选择。
将以下地址复制到你的 *** 浏览器,并编辑 url 以评估你的网页性能:
https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https://www.yoursite.com/
火狐浏览器是理想的选择,因为它有一个内置的jsON浏览器,尽管Chrome有。以下是Lighthouse的整体性能得分:

PageSpeed Insights的API结果 *** ON(火狐)。
你可以为你自己的页面和偏好改变API的URL。唯一需要的参数是 url,例如:
url=https://mysite.com/page1
默认情况下会运行一个桌面测试,但你可以用以下方式明确要求:
strategy=desktop
或切换到移动端:
strategy=mobile
除非你指定一个或多个感兴趣的类别,否则只运行性能测试:
category=performancecategory=accessibilitycategory=best-practicescategory=seocategory=pwa
一个特定的语言可以通过设置一个locale来定义–比如法语:
locale=fr-FR
而谷歌分析的活动细节可以用以下方式设置:
utm_campAIgn=<campaign>utm_source=<source>
该服务对不经常的请求是免费的,但如果你打算在短期内从同一IP地址运行许多测试,你将需要。该密钥被添加到URL中:
key=<api-key>
你可以通过指定你选择的参数来建立URL的查询字符串,这些参数用安培尔(&)字符分开。下面的API URL在 https://mysite.com/,使用移动设备测试页面,以评估性能和可访问性标准:
https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https://mysite.com/&strategy=mobile&category=performance&category=accessibility
如果你需要进一步的帮助,你可以构建你自己的URL,或者使用。
测试通常会返回大约600Kb的 *** ON数据,这取决于你选择的类别、页面中资产的数量以及屏幕截图的复杂性(以base64格式嵌入)。
数据的数量是令人生畏的,有一些重复,而且并不总是很清楚。 *** ON被分成四个部分,如下所述。
这些是为终端用户的页面加载体验计算的指标。它包括诸如Core Web Vitals CUMULATIVE_LAYOUT_SHIFT_SCORE、FIRST_CONTENTFUL_PAINT_MS和FIRST_INPUT_DELAY_MS等信息。细节和 “类别” 值返回FAST、AVERAGE、SLOW或NONE(如果没有进行测量)。例子:
"loadingExperience": {
"metrics": {
"CUMULATIVE_LAYOUT_SHIFT_SCORE": {
"percentile": 0,
"distributions": [
{
"min": 0,
"max": 10,
"proportion": 0.970
},
{
"min": 10,
"max": 25,
"proportion": 0.017
},
{
"min": 25,
"proportion": 0.012
}
],
"category": "FAST"
},
这些是针对所有用户的页面加载体验而计算的汇总指标。这些部分与上述加载体验相同,流量较少的网站不太可能显示出任何数字上的差异。
这是更大的部分,包含所有Lighthouse指标。它提供了关于测试的信息:
接下来是 “审计 “部分,包括unused-javascript、unused-css-rules、total-byte-weight、redirects、dom-size、maximum-contentful-paint-element、server-response-time、network-requests、 cumulative-layout-shift、first-meaningful-paint、screenshot-thumbnails和full-page-screenshot。
大多数审计指标提供了一个 “细节 “部分,其中包含诸如 “overallSavingsBytes(总体节省字节数)”和 “overallSavingsMs(总体节省数量)”等因素,估计实施性能改进的好处。
全页和缩略图 “屏幕截图 “部分包含嵌入式base64图像数据。
“metrics(指标)” 部分提供了一个 “items(项目)” 数组中所有指标的摘要,例如:
"metrics": {
"id": "metrics",
"title": "Metrics",
"description": "Collects all available metrics.",
"score": null,
"scoreDisplayMode": "informative",
"details": {
"type": "debugdata",
"items": [{
"observedFirstVisualChange": 234,
"observedFirstContentfulPaint": 284,
"interactive": 278,
"observedFirstPaintTs": 1579728174422,
"observedDomContentLoaded": 314,
// ... etc ...
}]
},
"numericValue": 278,
"numericUnit": "millisecond"
},
在 “audits(审计)” 部分之后是 “categories(类别)”,为API URL上传递的所选类别提供Lighthouse的总体分数:
"categories": {
"performance": {
"id": "performance",
"title": "Performance",
"score": 0.97,
"auditRefs": [
//...
“score(分数)”是一个介于0和1之间的数字,通常在Lighthouse报告中以百分比形式显示。一般来说,得分在:
“auditRefs” 部分提供了一份所有指标的清单,以及用于计算每个分数的权重。
最后,报告分析时间。这应该与lighthouseResult.fetchTime中显示的时间相同。
我建议你保存并在一个文本编辑器中检查 *** ON结果。有些编辑器有内置的 *** ON格式化器或作为插件提供。另外,你也可以使用免费的在线工具,如。
以下指标可能是有用的。记得根据需要在URL上设置相关的类别选项。
总体得分从0到1:
| 性能 | lighthouseResult.categories.performance.score |
| 无障碍 | lighthouseResult.categories.accessibility.score |
| 更佳做法 | lighthouseResult.categories.best-practices.score |
| SEO | lighthouseResult.categories.seo.score |
| 渐进式Web应用 (PWA) | lighthouseResult.categories.pwa.score |
这些包括从0到1的分数:
| lighthouseResult.audits.first-contentful-paint.score | |
| First Meaningful Paint(FMP)-首次有效绘制时间 | lighthouseResult.audits.first-meaningful-paint.score |
| lighthouseResult.audits.largest-contentful-paint.score | |
| lighthouseResult.audits.speed-index.score | |
| lighthouseResult.audits.cumulative-layout-shift.score |
其他有用的性能分数包括:
| Server response time-服务器响应时间 | lighthouseResult.audits.server-response-time.score |
| Is crawlable-是否可爬取 | lighthouseResult.audits.is-crawlable.score |
| ConSOLe errors-控制台错误 | lighthouseResult.audits.errors-in-console.score |
| Total byte weight-总字节大小 | lighthouseResult.audits.total-byte-weight.score |
| DOM size scoreDOM-体积评分 | lighthouseResult.audits.dom-size.score |
你通常可以获得实际的数字和单位,如:
另外,”displayValue” 通常包含一个包含数字和单位的可读信息:
实时API反馈可以在许多系统中读取和处理,包括microsoft Excel。(有点奇怪的是,Google Sheets不支持 *** ON feeds,不需要进一步的插件或宏代码。它确实支持XML)。
要将实时整体性能得分导入Excel,请启动一个新的电子表格,切换到Data选项卡,并点击From Web。输入你的PageSpeed Insights API URL并点击OK:

从 *** 导入Excel数据
在下一个对话框中点击Connect,并保持默认(匿名)设置。你将进入Query Settings工具:

Excel查询设置工具
点击lighthouse结果指标右侧的 “Record“。然后在categories和performance上点击同样的内容,以筛选获取 *** ON对象的层次:

Excel *** ON对象筛选获取
在右键菜单选项中点击顶部的 “Into Table” 图标。
然后你可以点击表格标题中的过滤箭头,在点击OK之前删除除score以外的所有内容:

Excel导入的表格过滤
最后,单击 “Close & Load“,在电子表格中显示实时表现的分数:

Excel实时数据
你可以对其他感兴趣的指标遵循同样的过程。
这个提供了一个表格,你可以输入一个URL,并选择桌面或移动分析来获得结果。
该代码创建了一个PageSpeed Insights URL,调用API,然后将各种结果渲染成一个汇总表,这比标准的Lighthouse报告查看起来更快:

测试结果示例
异步的 startCheck() 函数在表单被提交时被调用。它取消了提交事件并隐藏了之前的结果:
// make API request
async function startCheck(e) {
e.preventDefault();
show(resultTable, false);
show(status);
show(error, false);
然后它从表单数据中构建 apiURL,并禁用字段:
const form = e.target, fields = form.firstElementChild, data = new FormData(form), qs = decodeURIComponent( new URLSearchParams(data).toString() ), apiURL = form.action + '?' + qs; fields.disabled = true;
被用来调用PageSpeed URL,获得响应,并将 *** ON字符串解析为可用的JavaScript对象。一个try/catch块确保失败被捕获:
try {
// call API and get result
const
response = await fetch(apiURL),
result = await response.json();
结果对象被传递给 showResult() 函数。这将提取属性并将它们放入结果表或任何其他HTML元素中,该元素的数据点属性被设置为PageSpeed API属性,例如:
<td></td>
try块的结尾:
// output result showResult(result); show(status, false); show(resultTable); }
最后,一个catch块处理错误,窗体字段被重新启用,这样就可以运行进一步的测试了:
catch(err) {
// API error
console.log(err);
show(status, false);
show(error);
}
fields.disabled = false;
}
上面的示例代码在你请求时从PageSpeed Insights API中获取了一个结果。该报告比Lighthouse更具可配置性,但执行仍然是一个手动过程。
如果你打算开发自己的仪表板,那么创建一个小的应用程序,调用PageSpeed Insights API,并在一个新的数据库记录中针对测试的URL和当前的日期/时间存储结果的 *** ON,可能是实用的。大多数数据库都支持 *** ON,尽管是最适合这项任务的。一个可以在定时的基础上调用你的应用程序–也许是每天凌晨的时候一次。
然后,服务器端的应用程序可以实现自己的REST API,以满足你的报告要求,例如,返回两个日期之间特定性能指标的变化。它可以被客户端的调用,以显示表格或图表,说明随着时间推移的性能改善。
如果你想用大量的数据创建复杂的报告,更好是在每天有新的PageSpeed数据时预先计算一次数字。毕竟,你不希望在一份需要数分钟才能生成的报告中显示性能是如何改善的!
Chrome的Lighthouse工具非常棒,但要经常评估许多页面是件麻烦事。PageSpeed Insights API允许你使用编程技术来评估网站性能。其好处是:
扫描二维码推送至手机访问。
版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。
每台连接到Internet的计算机都有一个Internet协议 (IP) 地址。但是,并非所有IP地址的外观或行为都相同。 如果您使用计算机网络或服务器,了解动态IP和静态IP之间的区别至关重要。通过详细了解每个协议,您可以选择最适合您需求的解决方案。 在本文中,我们将讨论静态和动态IP之间...
宝塔的数据库管理,是基于phpmyadmin管理和新建数据库。其最大的便利性就是类似,通过面板可以快速访问进行管理操作,无需单独访问phpmyadmin的主页。 此外,在宝塔面板进行数据库管理,你也对数据库名、用户名及密码等信息一目了然,及可以对数据库执行快速备份或者导入。 添加数据...
宝塔面板的安全管理可以设置SSH开关、禁用PING、放行端口、屏蔽IP等相关的操作。 SSH的设置 SSH的关闭与启动,点击下图的开关,即可开启或关闭SSH远程连接。 SSH端口的修改,SSH远程连接的默认端口为22,修改端口前,请先查看该端口是否被占用。 PING命令的...
Laravel多年来一直是PHP应用程序开发的摇滚明星,这是有充分理由的。庞大的生态系统、活跃的社区、强大的就业市场、成功的初创公司——它拥有一切让采用新技术变得值得的东西。 如果你想学习Laravel,你不需要更进一步。通过浏览本指南,您可以找到最适合您的Laravel教程,与您的知识水平和...
美国劳工统计局估计在美有超过软件开发人员。根据2021年的数据,其中,这是世界上使用最广泛的五种编程语言之一。 自然,学习Java并成为Java开发人员对于任何对软件开发感兴趣的人来说都是明智的职业选择。 在本综合指南中,您将学习成为Java开发人员所需的一切知识。我们将分解您需要的技能、工...
无服务器计算是一种基于云的执行模型,可以将应用程序作为服务托管,而无需维护服务器。 服务提供商维护服务器上的资源分配,并根据实际使用情况向用户收费。焦点转移到一个人正在创建的核心应用程序上,基础设施完全由服务提供商处理。无服务器计算也称为功能即服务 (FaaS)。 换句话说,Serverle...