• Зеленая зона — 85 баллов; • Основные метрики: ◦ Время загрузки первого экрана, ◦ Время полной загрузки страницы; • Скорость скачивания содержимого не учитывается; • Анализируется: конфигурация сервера, структура HTML, использование внешних ресурсов (изображений, JavaScript и CSS). https://developers.google.com/speed/docs/insights/about
Ответ сервера в пределах 200 мс; 2. Без редиректов; 3. Необходимо уменьшить количество циклов, необходимых для первичной обработки (первый цикл 14КБ «TCP Slow start») *; 4. Не используйте внешние CSS и JS файлы для отображения верхней части (CSS Critical Path); 5. Отрисовка в браузере за 200 мс; 6. Оптимизируйте код JavaScript, чтобы он обрабатывался быстрее. https://developers.google.com/speed/docs/insights/mobile Загрузка первого экрана
Меню: один кэш на все страницы CACHE_SELECTED_ITEMS => N; • Строка корзины: не выбирать товары, если не нужно SHOW_PRODUCTS => N • Запросы к бд: ◦ Используйте Fetch (htmlspecialchars и компиляция url-ов = медленно); ◦ Выбирайте данные заранее, если это возможно; ◦ Откажитесь от запросов в циклах; ◦ Не выбирайте данные повторно, изучите компонент. • GetOptimalPrice: не используйте на страницах каталога, эта функция для корзины и оформления заказа; • Кэш: размер данных, время жизни — 7 дней, сброс по изменениям.
серьезной потери качества. Решение: изменить размеры изображения под отображаемые и оптимизировать качество сжатия. https://developers.google.com/speed/docs/insights/OptimizeImages
модуля main и каждого инфоблока. Рекомендуемое значение 75. Обновление изображений инфоблоков: 1. Установите значение в настройках главного модуля и каждого инфоблока; 2. Пересохраните изображений PREVIEW_PICTURE и DETAIL_PICTURE. 3. Удалите папку /upload/resize_cache и кэш сайта; 4. Пройдите страницы сайта скриптом fetch-pages.php. Примечание: * Убедитесь в наличии рез.копии изображений; * Проверьте наличие других способов оптимизации изображений на сайте. https://bitbucket.org/techdirector/techdir.stuff/src/master/optimization/image-compr ession-bitrix-way/
• Удаление комментариев и meta-информации; • Уменьшение количества цветов; • JPEG-сжатие. Рекомендуемые утилиты: - JPEG — jpegtran или jpegoptim (выполнять с параметром --strip-all); - PNG — OptiPNG или PNGOUT. Для интеграции с Битрикс используем модуль rci (Игорь Яковенко), который проходит по таблице b_file. Необходимо увеличить качество сжатия Битрикс до 100.
экрана используется большой объем загружаемой информации. Решение: • Изображения шаблона в спрайты (компиляция gulp); • Отложенная загрузка изображений в слайдерах и других частях; • Уменьшение размера html (ngx_pagespeed). https://developers.google.com/speed/docs/insights/PrioritizeVisibleContent
экрана используется внешний javascript файл. Решение: • Перенос javascript вниз страницы (опция главного модуля); • Инлайн скриптов, которые нельзя переносить вниз (пример на epraktika: modernizr и eski); • Правильное отображение первого экрана без javascript; • Добавить атрибут async для скрипта. https://developers.google.com/speed/docs/insights/BlockingJS
в тесте, что может использоваться как асинхронный. Решение: заменить на асинхронную версию. Список зарегистрированных скриптов: https://developers.google.com/speed/docs/insights/UseAsync
просмотра; • Адаптируйте размер контента для области просмотра; • Увеличьте размер активных элементов на странице; • Используйте шрифты легко читаемого размера. https://developers.google.com/speed/docs/insights/rules