Пропуск традиционных методов загрузки / ускорения страниц при использовании mod_pagespeed

Я пытаюсь определить, могут ли некоторые "лучшие практики PageSpeed" быть пропущены нашей внешней командой и процессом сборки сейчас, когда мы используем mod_pagespeed (Apache). Примером действий, которые mod_pagespeed выполняет автоматически, которые потенциально могут быть пропущены: 1. Объединить и минимизировать JS и CSS (например, это можно сделать с помощью такого инструмента, как Browserify) 2. Сжать изображения 3. Асинхронная загрузка / внедрение JS и CSS (загрузчики скриптов, атомификация и т. д.) 4. Управление версиями статических ресурсов для очистки кэша (grunt-usemin и т. д.)

Чтобы дать пример ответа, сейчас я удалил статическое управление версиями активов, вместо этого у нас есть файлы global.js и global.css без версий и с коротким сроком действия. Это потому, что mod_pagespeed быстро вернет их с огромным сроком действия в любом случае.

1 ответ

Мы реализовали mod_pagespeed для основного веб-сайта портала большой телекоммуникационной компании. Хотя PageSpeed ​​- очень удобный инструмент оптимизации, он не является волшебной палочкой и имеет некоторые строгие ограничения. Мы покончили с большинством традиционных методов, но обнаружили, что для оптимизации всего необходимо много ручного исправления ресурсов.

  1. Объединить и минимизировать JS и CSS? Да, но обратите внимание на следующие ограничения:

    • Вы не можете комбинировать JavaScript между встроенными скриптами и условными комментариями IE.
    • Вы не можете объединять файлы JavaScript, в которых используется "строгий" (вам может понадобиться фильтр, чтобы удалить их во время выполнения)
    • Дополнительные ограничения на https://developers.google.com/speed/pagespeed/module/filter-css-combine и https://developers.google.com/speed/pagespeed/module/filter-js-combine
    • mod_pagespeed должен иметь возможность извлекать и перезаписывать ваши ресурсы (если это не настроено правильно, ничего не произойдет)
  2. Сжимать изображения? Да, но обратите внимание на следующие ограничения:
    • Анимированные картинки не сжимаются
    • Существует достаточное количество настроек, которые необходимо применить к вашей конфигурации mod_pagespeed, чтобы сжатие изображений работало оптимально для вашего сайта.
  3. Асинхронная загрузка / внедрение JS и CSS? Вроде, как бы, что-то вроде:
    • Вам все еще понадобится что-то вроде require.js для условной загрузки JavaScript. У нас есть серверное решение для этого
    • Вы обнаружите, что большая часть JavaScript не может быть загружена асинхронно, и вам придется пометить его: <script pagespeed_no_defer="">...</script>
    • Нет механизма асинхронного / условного внедрения CSS
    • Кроме того, ленивая загрузка изображений работает очень хорошо.
  4. Управление версиями статических ресурсов для очистки кэша? Да. Это одна из областей, где mod_pagespeed действительно сияет, и нам не нужно было делать никаких ручных исправлений, чтобы это работало. Однако обратите внимание, что mod_pagespeed может работать с этим, только если у вас есть заголовки, которые помечают ресурсы как кеширующие.

Кроме того, если вы думаете об использовании изображения-спрайта, обратите внимание, что это ОЧЕНЬ ограничительно: изображение-спрайт с помощью mod_pagespeed

Другие вопросы по тегам