Скачать полный сайт через CLI - PullRequest
0 голосов
/ 28 апреля 2018

Я пытаюсь уменьшить размер моего сайта, но для этого мне нужен надежный инструмент для измерения размера моих страниц.

  • Раньше я использовал Google Lighthouse, при проверках производительности он сообщает о размере, но он не точный и не соответствует вкладке сети
  • Я пробовал несколько комбинаций скручивания, но не могу правильно сканировать веб-сайт
  • Я попробовал несколько комбинаций wget, но он не смог правильно обработать кодировку gzip или brotli
  • Я пришел к выводу, что wget или curl не являются подходящими инструментами, потому что они не оценивают JS, поэтому они не могут выполнять условную загрузку активов
  • Я сейчас пытаюсь с puppetter.js и phanotm.js, но мне все еще не удалось это сделать

У кого-нибудь есть хорошее решение для этого?

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Вы пробовали PageSpeed ​​Insights ? Проанализируйте ваш сайт и прочитайте рекомендации по оптимизации.

0 голосов
/ 30 апреля 2018

Как измерить размер

Веб-браузеры принимают множество решений о том, что загружать, основываясь на их конкретном контексте (например, какие алгоритмы сжатия он поддерживает). Трудно воспроизвести эти условия во внешнем инструменте, таком как скручивание. Поэтому вы захотите использовать инструмент, который выглядит как браузер (или браузер).

Сервер также может выбрать отправку различного контента на основе информации о посетителе (пользовательский агент, вошли ли они в систему, геолокации и т. Д.) Или даже совершенно произвольных условий (например, случайное изображение). Таким образом, вы захотите взглянуть на более чем один образец, предпочтительно из множества пользовательских агентов и местоположений.

Большинство инструментов не обеспечивают такую ​​мощность.

Самое близкое, что я могу предложить, это WebPageTest . Он использует реальный веб-браузер для посещения вашего сайта и сообщает об анализе этого посещения, включая общий вес страницы (даже в разбивке по различным событиям страницы). WebPageTest можно использовать как API и даже запускать локально. Вывод доступен в формате JSON, поэтому вы можете анализировать и создавать пользовательские отчеты с помощью приложений CLI.

Как ускорить работу сайта

Технический вопрос о «взвешивании» веб-сайта в стороне, есть более широкая проблема, которую вы пытаетесь решить: как ускорить ваш веб-сайт. Для оптимизации производительности доступно много информации.

В частности, существует много дискуссий о том, какие метрики следует учитывать при оценке эффективности страницы, какой вес следует придавать каждой метрике и как использовать эту информацию для определения приоритетов оптимизации.

При рассмотрении веса страницы я настоятельно рекомендую разбить его на количество байтов, необходимое для выполнения определенных задач. Google рекомендует думать о ресурсах с точки зрения критического пути рендеринга - HTML, блокирующего JS и неотложенного CSS, необходимого для создания веб-страницы.

У вас может быть страница размером 1 МБ, где ресурсы, важные для рендеринга, составляют только 10 КБ страницы - это очень быстрый сайт. Или у вас может быть страница размером 1 МБ, где для первоначального рендеринга требуется 500 КБ - не так быстро. WebPageTest помогает вам распределить эти веса по событиям.

Хотелось бы дать больше технических подробностей об использовании WebPageTest с инструментами CLI. Это то, что я планирую изучить в ближайшее время. Но сейчас, надеюсь, это даст вам хорошее начало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...