Полный список функций Lightning
Оптимизация кода
- оптимизированный TWIG-процессор, который может выиграть до 70ms процессорного времени на тяжелых шаблонах
- препроцессинг eventов (система событий работает в десятки раз быстрее)
- часто используемые данные собираются в специальный пак, который загружается при старте OpenCart (отменяет необходимость в куче однообразных запросов, которые выполняются каждый раз)
- MySQL-запросы медленнее 0.05 сек кешируются с интелектуальным удалением соответсвующих записей кеша при изменении данных
- многочисленные оптимизации для шаблона Journal 3
- фикс проблемы производительности vQMod в OpenCart 3
Кеширование страниц
- кеширование критических страниц (стартовой, категорий, производителей и карты сайта) + страниц товаров
- возможность кешировать все страницы, кроме определенных типов (route)
- вмонтирование актуальной мини-корзины в закешированные страницы
- вмонтирование количества товаров в списках сравнения и закладок в закешированные страницы
- использование закешированных страниц для создания страниц для залогиненых пользователей
- конвертация валюты по тексту закешированной страницы, что позволяет держать только один набор кеша с основной валютой
- возможноть загрузки отдельных модулей по AJAX, чтобы они показывали индивидуальную информацию на закешированых страницах (например, для последних просмотренных товаров)
- кеширование AJAX-запросов от страниц, которые подлежат кешированию
- фоновая прегенерация кеша страниц на расстояние 2 переходов от стартовой или текущей страницы
- при посещении какой-либо страницы запускается фоновая прегенерация страниц, на которые есть переходы с этой страницы, таким образом посетитель дальше получит страницу из кеша
- опциональный отдельный кеш страниц для мобильных и планшетных устройств
- автоматическое удаление кеша соответсвующих страниц при изменении или удалении товаров (отслеживаются запросы и изменение date_modified внешними скриптами)
- игнорирование URL-параметров с информацией от рекламных переходов (таким образом выдается страница из кеша, а не генерируется новая)
- защита от перегрузки ботами отвечает 503 Check later, всем ботам, кроме Google, Bing и Яндекс, если запрашиваемой страницы нет в кеше, отдельным ботам можно включить полноценный доступ в интерфейсе Контроль доступа
Оптимизация фронтенда (повышение баллов PageSpeed)
- вывод изображений WebP, которые намного компактней, также с поддержкой устройств Apple
- возможность отключения JavaScript для роботов, поисковых систем и PageSpeed Insight - ускоряет индексирование и показывает красивые баллы, хотя всем отдается одна и та же версия страницы - запуск JS контролируется через cookies
- автоматическая установка оптимального уровня GZIP-компрессии страниц (настройка в админке игнорируется)
- прописывание правильных заголовков кеширования и компрессии для статических ресурсов в файлах .htaccess в подпапках (желательно убрать из корневого .htaccess эти настройки, если вы их добавляли раньше)
- группировка и минификация JS и CSS ресурсов
- корректный перенос всех скриптов в подвал страницы
- минификация и включение в сборные файлы также внешних ресурсов с других серверов (на агрессивных уровнях оптимизации)
- создание начального набора CSS (critical CSS) и включение его в тело страницы - он используется до того, как загрузится весь CSS
SEO-оптимизация
- отслеживание контрольных сумм всех страниц и отдача реальных заголовков Last-Modified, что кардинально ускоряет индексацию поисковиками
- фикс canonical, prev и next ссылок в категориях 2 уровня и глубже, которые приводили к дубликатам страниц категорий
- защита лимита показа количества товаров на странице (ограничивается 100). Запросы с громадными лимитами используют, когда хотят положить магазин
- унификация всех ссылок на товары к виду shop.ru/url-tovara (при этом в хлебных крошках отображается путь к самой глубокой из категорий товара). За счет этого поисковики индексируют магазин намного быстрее и уменьшается количество вариантов страниц, которые надо кешировать
- убирание index.php?route=common/home из ссылок на стартовую
- добавление в robots.txt инструкций, которые запрещают поисковикам индексировать лишнее (менять сортировки, количество товаров на странице и т. д.) - значительно ускоряет индексацию и уменьшает нагрузку от поисковиков
Виджет Lightning в админке
- показ загрузки процессора, нажатие на ней показывает, какие процессы используют процессор, включая обрабатываемые URL
- кнопка Очистить кеш очищает все кеши (включая системный кеш и кеш темы Journal), кроме кеша БД Lightning, кнопка Выключить очищает кеш БД Lightning
- показ статистики - кеши страниц, AJAX-запросов, БД, статистика оптимизированных изображений, среднее TTFB (время генерации страницы) с Lightning и без
- показ в реальном времени TTFB последней отданой страницы, что позволяет оценить "пульс" и скорость работы магазина
- наглядный показ в реальном времени всех посещенных страниц с указанием IP, агента и времени ответа, нажатие показывает детальную информацию о посетителе, включая карту и возможность его заблокировать
- интерфейс Контроль доступа показывает все правила доступа и всех приходящих ботов с возможностью разрешить или заблокировать доступ или выдавать им только страницы из кеша
- показ свободного места на вашем сервере (помогает заранее среагировать, не доводя до ситуацию до критической)
- виджет показывается только пользователям с правом изменять (modify) setting/setting - таким образом можно скрыть виджет от менеджеров
- двойной щелчек по номеру версии переводит виджет в "пользовательский режим" - скрывается все, кроме кнопок Включить/Выключить и Очистить кеш
Извещения
- MySQL-запросы медленнее 2 секунд
- MySQL-запросы с результатом более 5000 строк или более 1 Mb обьемом
- фатальные ошибки, которые возникают во время работы магазина (намного нагляднее и информативнее, чем в логе)
- JS/CSS файлы, на которые есть ссылки, но их на самом деле нет
- рекомендация перейти на PHP7, если на сервере более низкая версия
- рекомендация по изменению robots.txt, если это не удалось сделать автоматически
- инструкции как перевести магазин на полный HTTPS, если это еще не сделано или сделано неправильно
- инструкции о настройке CRON-задачи для прегенерации страниц
Дополнительные функции
- возможность показа мультиязычного извещения о использовании cookie (так как многие реализации некорректно работают с кешированием страниц)
- при добавлении к URL параметра li_sql=1 показывается время выполнения контроллеров и запросов
- при добавлении к URL параметра li_module=1 показывается информация о модулях (полезно, когда надо определить название модуля для загрузки по AJAX)
- при открытии index.php?li_op=lg показывается удобный просмотрщик логов с обновлением в реальном времени
- при открытии index.php?li_op=cn показываются результаты проверки подключения к серверу Lightning и другим серверам (чтобы понять, есть ли на хостинге связь с внешним миром)
Создано 2018-10-15,
последняя правка 2021-06-20