通过CLI下载完整的网站

时间:2018-04-28 10:43:00

标签: html5 performance web

我正在尝试缩小网站的大小,但要做到这一点,我需要一个可靠的工具来衡量网页的大小。

  • 我曾经使用谷歌灯塔,在性能审核中报告大小,但不准确,而且与网络标签不一致
  • 我尝试了几种curl组合,但我无法正确抓取网站
  • 我尝试了几种wget组合,但无法正确处理gzip或brotli编码
  • 我得出结论,wget或curl不是正确的工具,因为他们不评估JS,所以他们不能做有条件的资产加载
  • 我现在正在尝试使用puppetter.js和phanotm.js,但我还是没有设法做到这一点

有没有人有这个好的解决方案?

2 个答案:

答案 0 :(得分:1)

如何衡量尺寸

Web浏览器根据其特定上下文(例如,它支持的压缩算法)做出很多关于下载内容的决定。在外部工具中复制这些条件很困难,例如curl。因此,您需要使用一种像浏览器(或浏览器)一样的工具。

服务器还可以根据访客信息(用户代理,他们是否已登录,地理定位等)或甚至完全随意的条件(如随机图像)选择发送不同的内容。因此,您需要查看多个样本,最好是来自许多用户代理和位置。

大多数工具都没有提供这种能力。

我最接近的建议是WebPageTest。它使用实际的Web浏览器访问您的站点并报告该访问的分析,包括总页面权重(甚至按不同的页面事件细分)。 WebPageTest可以用作API,甚至可以在本地运行。输出以JSON格式提供,因此您可以使用CLI应用程序解析并执行自定义报告。

如何加速网站

除了“权衡”网站的技术问题之外,还有一个更广泛的问题,你正试图解决:如何加速你的网站。 lot 可用于性能优化。

具体而言,有很多关于在评估页面性能时应考虑哪些指标,应该为每个指标赋予多少权重以及如何使用该信息来优化优化的讨论。

在考虑页面权重时,我强烈建议将其分解为完成某些任务所需的字节数。 Google建议根据构造网页所需的critical rendering path - HTML,阻止JS和非延迟CSS来考虑资源。

你可能有一个1MB的页面,其中渲染关键资产只占页面的10KB - 这是一个非常快的网站。或者你可能有一个1MB的页面,初始渲染需要500KB - 不是那么快。 WebPageTest可以帮助您按事件分解这些权重。

我希望能够提供有关使用CLI工具使用WebPageTest的更多技术细节。这是我计划很快探索的事情。但是现在,希望这会给你一个良好的开端。

答案 1 :(得分:1)

你试过PageSpeed Insights吗? 分析您的网站并阅读优化指南。