如何使用 url 输入创建一个表单,重定向到 pagespeed 分数/洞察力或使用 ajax 显示它

How to create a form with an url input that redirects to pagespeed score / insights or displays it with ajax

这可以吗?理想情况下 return 与 ajax 在同一页面中的报告? 例如,用户将 www.mywebsite.com 添加到字段,然后 pagespeed 的报告是 returned。如果不可能,则重定向到 Pagespeed 结果页面。

这里有几个选项。从最简单到最难(在我看来是“最差”到“最好”的解决方案)。

  1. 将 Page Speed Insights (PSI) 测试页添加到您网站上的 iframe。 然后您可以将该 iframe 的 URL 更改为 https://developers.google.com/speed/pagespeed/insights/?url=yourwebsite.com 并操纵 ?url=yourwebsite.com 成为你想要的任何东西。

这可能违反了 Google 的服务条款,也是一种糟糕的用户体验,但这是实现它的最简单方法。如果您决定这样做,我将让您调查该选项。


  1. 将用户重定向到新选项卡。 所以只需 <a target="_blank" href="https://developers.google.com/speed/pagespeed/insights/?url=yourwebsite.com">view your report</a> 或在单击按钮时通过 JS 重定向。

这又不是一个很好的选择,因为人们正在离开您的网站,但至少这不会违反 Google 的服务条款。


  1. 使用页面速度洞察 API. https://developers.google.com/speed/docs/insights/v5/get-started.

就时间与灵活性而言,这是您的最佳选择。您为 API 提供 URL,它 returns 一个 JSON 响应,其中包含它收集的所有指标和评分。

请注意,PSI 是 API 的第 6 版,应该很快可供一般使用。

显然,这需要做更多的工作,但值得付出努力,因为您可以随心所欲地设置所有样式。


  1. 安装 Lighthouse,这是在您自己的服务器上驱动 PSI 的引擎。

您可以找到 Lighthouse repository here。请注意,您需要知道如何使用 node,了解 puppeteer 很有用,并且您需要合理数量的服务器管理知识才能使 Chromium(用作 运行ning 测试的无头 Web 浏览器)工作和链接正确。

在这个阶段,您拥有完全的控制权,可以编写自己的测试、评分标准等。您还可以 运行 在服务器允许的范围内进行尽可能多的测试。如果您想要这种级别的控制和自由,那么这是最好的选择。但是请准备好在这个解决方案中投入 大量 小时!