计算单个页面速度性能指标可以帮助您了解您的网站作为一个整体运行的效率。由于 Google 使用网站的速度(通常由 PageSpeed 衡量并称为 PageSpeed)作为其算法用来对页面进行排名的信号之一,因此将这种洞察力深入到页面级别非常重要。
然而,网站性能优化的痛点之一是缺乏轻松运行页面速度性能评估的能力。有很多很棒的工具,例如 PageSpeed Insights 或 Lighthouse Chrome 插件,可以帮助您更多地了解单个页面的性能,但这些工具并不容易配置为帮助您收集多个 URL 的见解 – 并运行数百个单独的报告甚至数千页都不完全可行或有效。
2018 年 9 月,我开始寻找一种方法来收集站点范围的性能指标,并最终找到了一个可行的解决方案。虽然这种方法解决了我最初的问题,但设置过程相当复杂,并且需要您可以访问服务器。
最终,这不是一种有效的方法。此外,几乎不可能轻松地与其他人(尤其是 UpBuild 之外的人)共享。
2018 年 11 月,在我发布此方法两个月后,Google 发布了 PageSpeed Insights API 的第 5 版。V5 现在使用 Lighthouse 作为其分析引擎,并且还结合了 Chrome 用户体验报告 (CrUX) 提供的现场数据。简而言之,这个版本的 API 现在可以轻松提供 Chrome Lighthouse 审核中提供的所有数据。
所以我回到了绘图板上,我很高兴地宣布,现在有一种更简单、自动化的方法可以使用 Google Sheets 和 Pagespeed Insights API v5 批量生成 Lighthouse 报告。
介绍自动 PageSpeed Insights 报告:
使用此工具,我们只需单击几下即可快速发现多个 URL 的关键性能指标。
您只需要一份这份 Google 表格的副本、一个免费的 Google API 密钥和一份您想要获取数据的 URL 列表——但首先,让我们快速浏览一下。
如何使用这个工具
Google 表格由以下三个选项卡组成:
- 设置
- 结果
- 日志
设置
在此选项卡上,您需要提供唯一的 Google API 密钥才能使工作表正常工作。
获取 Google API 密钥
1. 访问 Google API 凭证页面。
2. 从“创建凭据”下拉列表中选择 API 密钥选项(如图所示):
3. 您现在应该会看到一个提示,为您提供唯一的 API 密钥:
4. 接下来,只需将该 API 密钥复制并粘贴到自动 Pagespeed Insights 电子表格的“设置”选项卡上如下所示的部分中。
现在您有了 API 密钥,就可以使用该工具了。
5. 最后,确保启用 PageSpeed API。这允许 Google Sheet 脚本与 PageSpeed API 进行通信。
设置报告计划
在“设置”选项卡上,您可以安排每周应该开始运行报告的日期和时间。从下面的屏幕截图中可以看出,我们已将此报告设置为每周三上午 8:00 开始。这将设置为您的 Google 帐户定义的本地时间。
如您所见,此设置还分配报告在同一天运行接下来的三个小时。这是针对 Google Apps Scripts 和 Google PageSpeed API 设置的限制的解决方法。
限制
我们的 Google Sheet 使用 Google Apps 脚本在幕后运行所有魔法。每次运行报告时,Google Apps 脚本都会设置 6 分钟的执行时间限制(G Suite 商业/企业/教育和抢先体验用户为 30 分钟)。
在 6 分钟内,您应该能够提取大约 30 个 URL 的 PageSpeed Insights。
然后您将收到以下消息:
为了继续为其余 URL 运行该函数,我们只需安排报告再次运行即可。这就是为什么此设置将在连续几个小时内再次运行报告 3 次,并准确地从停止的地方开始。
下一个障碍是 Google 表格本身设置的限制。
如果您进行数学计算,您会发现,因为我们总共只能自动生成四次报告——理论上我们只能提取大约 120 个 URL 的 PageSpeed Insights 数据。如果您使用的网站有数百页以上,那就不太理想了!
“设置”选项卡中的计划功能使用 Google 表格的内置触发器功能。这告诉我们的 Google Apps 脚本在特定日期和时间自动运行报告。不幸的是,使用此功能超过四次会导致“服务在一天内使用过多的计算机时间”消息。
这意味着我们的 Google Apps 脚本已经超过了一天的总允许执行时间。它最常见于在触发器上运行的脚本,其每日限制低于手动执行的脚本。
手动?
完全正确!如果您想要提取数据的 URL 超过 120 个,那么您只需使用手动推送报告按钮即可。它完全按照你的想法做。
手动推送报告
单击后,“手动推送报告”按钮(从 Google 表格上的 PageSpeed 菜单链接)将运行报告。它将从停止的地方继续,并在“结果”选项卡中与您的 URL 相邻的字段中填充数据。
为清楚起见,您甚至不需要安排报表运行即可使用此文档。获得 API 密钥后,您只需将 URL 添加到结果选项卡(从单元格 B6 开始),然后单击“手动推送报告”。
当然,您会在六分钟后看到不可避免的“Exceed maximum execution time”消息,但您可以简单地将其关闭,然后一次又一次地单击“Manual Push Report”,直到完成。它不是完全自动化的,但它应该允许您相对快速地收集所需的数据。
设置日志计划
设置选项卡中的另一个功能是日志结果功能。
这将自动获取已在结果选项卡中填充的数据并将其移动到日志表。一旦它复制了结果,它将自动从结果选项卡中清除填充的数据,以便在下一个计划的报告运行时间到达时,它可以相应地收集新数据。理想情况下,您希望在计划报告运行后设置日志日期和时间,以确保它有时间捕获和记录所有数据。
您还可以使用菜单中的“手动推送日志”按钮手动将数据推送到日志表。
如何确认和调整报告和日志计划
一旦您对报告和日志的计划感到满意,请务必使用 PageSpeed 菜单中的“设置报告和日志计划”进行设置(如图所示):
如果您想更改频率,我建议您首先使用工作表设置报告和日志计划。
然后使用 Google Script Triggers 调整 runLog 和 runTool 函数。
- runLog 控制何时将数据发送到 LOG 表。
- runTool 控制 API 何时为每个 URL 运行。
只需单击每个相应功能旁边的铅笔图标,然后根据需要调整时间。
您还可以使用 PageSpeed 菜单(帮助旁边)中的“重置计划”按钮来清除所有计划的触发器。如果您只是使用“设置”选项卡上的界面,这可能是一个有用的快捷方式。
PageSpeed 结果选项卡
此选项卡是为您提供的每个 URL 生成 PageSpeed Insights 数据的地方。您需要做的就是添加从单元格 B6 开始的 URL 列表。您可以等待预定的报告时间到达或使用“手动推送报告”按钮。
您现在应该看到为每个相应的 URL 生成以下数据:
- 互动时间
- 第一次内容丰富的油漆
- 第一次有意义的油漆
- 第一个字节的时间
- 速度指数
您还将在此选项卡上看到 Last Time Report Ran 和 Status 列。这将告诉您何时收集数据,以及拉取请求是否成功。成功的 API 请求将在状态栏中显示“完成”状态。
日志选项卡
记录数据是记录这些重要速度指标的历史记录的有用方法。此选项卡中没有任何内容可修改,但是,您需要确保有大量空行。当 runLog 功能运行时(由您在“设置”选项卡中分配的日志计划或通过菜单中的手动推送日志按钮控制),它将从包含状态的结果选项卡中移动所有行“完全的”。如果“日志”选项卡上没有可用的空行,它根本不会复制任何数据。您需要做的就是添加数千行,具体取决于您计划签入和维护日志的频率。
如何使用日志数据
此工具中的调度功能设计为每周运行一次,以便您有足够的时间查看结果、优化并监控您的工作。如果您喜欢电子表格,那么您可以在这里停下来,但如果您更喜欢视觉化的人,那么请继续阅读。
在 Google Data Studio 中可视化结果
您还可以将此日志表用作 Google Data Studio 中的数据源来可视化您的结果。只要日志表作为源保持连接,结果应该每周自动发布。这将使您能够轻松地使用 Data Studio 进行性能优化和评估结果,并将性能问题和进展传达给可能不像您那样喜欢电子表格的客户。
将您的日志数据与其他数据源混合
Google Data Studio 的一项出色功能是混合数据的能力。这允许您比较和分析来自多个来源的数据,只要它们具有共同的密钥。例如,如果您想将“交互时间”结果与这些相同 URL 的 Google Search Console 数据混合,您可以轻松地做到这一点。您会注意到包含 URL 的日志选项卡中的列标题为“登陆页面”。这与 Search Console 使用的命名约定相同,并将允许 Data Studio 连接这两个来源。
您可以通过多种方式在 Google 数据洞察中使用这些数据。
比较竞争对手的表现
您无需在此工具中将自己限制为仅使用自己的 URL;您可以使用任何一组 URL。这将是比较竞争对手页面的好方法,甚至可以查看是否有任何明确的速度指标影响搜索结果中的位置。
提高可用性
不要立即假设您的内容是问题所在。您的访问者可能不会离开页面,因为他们认为内容没有用;可能是加载时间缓慢或其他不兼容问题导致访问者离开。比较跳出率、网站停留时间和设备类型数据以及性能指标,看看它是否是一个因素。
提高有机可见度
将您的性能数据与目标关键字的搜索排名位置进行比较。使用工具收集您的页面位置,并修复 Google 搜索结果第二页或第三页上的着陆页的性能问题,看看您是否可以提高它们的显着性。
最后的想法
这个工具是你的。
制作一个副本并按原样使用它,或者拆开使这个东西工作的 Google Apps 脚本,并将它改编成更大更好的东西(如果你这样做,请告诉我;我想听听它的全部内容)。
请记住,PageSpeed Insights API V5 现在包含 Chrome Lighthouse 审核中提供的所有相同数据,这意味着除了该工具生成的五个指标之外,您还可以提取更多可用的详细信息。
希望现在,从现在到 Google 发布他们最近公布的 Search Console 速度报告时,此工具可以帮助您更有效地收集性能数据。