Вопрос: Как настроить?
Ответ:
Читайте инструкции при наведении на знак вопроса и не используйте мобильные устройства.
Для настройки кэширования, узнайте все session параметры которые есть на вашем сайте и изменяются в следствии каких-либо манипуляций пользователя. Потом пропишите их в поле "Параметры сессий".
Если параметр сессии имеет много ступеней, то указывайте все параметры через "|", например, $session['products']['param']['total'] - products|param|total
Рекомендуется указывать конкретные параметры кэширования страниц в поле "Параметры работы", чтобы чётко контролировать кэш.
Если вы 100% не уверены, то не рекомендуется включать кэш для авторизованных пользователей.
Добавьте в исключение keyword или роут модулей которые не выводят статические данные при подгрузки ajax методом (то есть указать в исключение модули отправляющие пост запросы и иные формы).
Для настройки PageSpeed сначала включите сжатие стилей и скриптов, потом зайдите на страницу исходного кода, чтобы увидеть какие стили и скрипты не попали в файл сжатия.
При возникновении проблем или найденной неправильной работы модуля - пишите в техническую поддержку.
Пример подключения метрик:
<!-- Google Tag Manager --> <script async src="https://www.googletagmanager.com/gtm.js?id=GTM-XXXXXX&l=dataLayer" type="text/javascript"></script> <script type="text/javascript"> window.dataLayer = window.dataLayer || []; window.dataLayer.push({'gtm.start':new Date().getTime(),event:'gtm.js'}); </script> <!-- Google Tag Manager --> <!-- Google Tag Manager --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXX" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- Google Tag Manager --> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXXXX-X" type="text/javascript"></script> <script type="text/javascript"> window.dataLayer = window.dataLayer || []; function gtag(){window.dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-XXXXXXXX-X'); </script> <!-- Global site tag (gtag.js) - Google Analytics --> <!-- Yandex.Metrika --> <script async src="https://mc.yandex.ru/metrika/tag.js" type="text/javascript"></script> <script type="text/javascript"> //https://yandex.ru/support/metrica/code/counter-initialize.html window.ym = window.ym || function() {(window.ym.a = window.ym.a || []).push(arguments);}; window.ym.l = 1*new Date(); ym(00000000, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:10 }); </script> <!-- Yandex.Metrika --> <!-- Yandex.Metrika --> <noscript><div><img src="https://mc.yandex.ru/watch/00000000" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- Yandex.Metrika -->
Работа с busLoadingLazy для сокращения структуры DOM
// скрипт запускается при полной загрузки страницы т.к. в этот момент он может получить доставерную высоту и т.д. //обработать html элемент сейчас busLoadingLazy.start({element:'[data-busloadinglazy-id=\'93fd76d319a4d202930d925a170c45ff\']', lazy:true}); //Выполнить код, если при обновлении страницы проскролило вниз window.addEventListener('load', function() { if ('busCache' in window && busCache.status == false) { if (document.documentElement && document.documentElement.scrollTop > 0 || document.body.scrollTop > 0) { busLoadingLazy.start({element:'[data-busloadinglazy-id=\'93fd76d319a4d202930d925a170c45ff\']', lazy:true}); busCache.start(); } } }); //Выполнить код по событию появления html элемента window.addEventListener('busLoadingLazyId-93fd76d319a4d202930d925a170c45ff', function() { /* ваш код */ }); //Выполнить код по скроллу, ресайзу согласно настройкам частоты запуска busLoadingLazy.setting['fps'] window.addEventListener('busLoadingLazy', function() { /* ваш код */ }); //Выполнить код перед запуском скрипта busLoadingLazy window.addEventListener('busLoadingLazyBefore', function() { /* ваш код */ }); //Выполнить код после запуска скрипта busLoadingLazy window.addEventListener('busLoadingLazyAfter', function() { /* ваш код */ }); //api /* busLoadingLazy.browser['name'] - получить название браузера busLoadingLazy.browser['version'] - получить версию браузера busLoadingLazy.setting['browser']['name'] - запускать только для названия браузера (после выполнения кода нужно снять ограничение) busLoadingLazy.setting['browser']['version'] - запускать только для версии браузера и новее (после выполнения кода нужно снять ограничение) busLoadingLazy.setting['elements'] - обрабатывать элементы страницы, по умолчанию '[loading="lazy"][data-busloadinglazy-src], [loading="lazy"][data-busloadinglazy-id]' busLoadingLazy.setting['element'] - обрабатывать элемент страницы, по умолчанию '' busLoadingLazy.setting['fps'] - частота действий любых событий после которых сработает ваш код в событии busLoadingLazy, по умолчанию 10 busLoadingLazy.setting['offsetTop'] - расстояние от окна браузера до элемента который начинает загрузку, по умолчанию 50 busLoadingLazy.setting['width'] - минимальная ширина для запуска элемента страницы, по умолчанию 0 busLoadingLazy.setting['lazy'] - принудительная загрузка элемента, по умолчанию false busLoadingLazy.setting['start'] - начать загрузку элемента из найденных с номера, по умолчанию 0 busLoadingLazy.setting['quantity'] - обработать количество элементов из всех найденных, по умолчанию 10 busLoadingLazy.setting['exception'] - массив содержащие значения data-busloadinglazy-src и data-busloadinglazy-id для исключения из обработки, по умолчанию {} */
Для универсального loading="lazy" есть возможность указать начало и количество изображений (iframe тоже учитывать нужно) при старте через событие, что позволит также изменить атрибут для желаемых изображений. Данный скрипт можно указать в поле "Скрипт" или в модуле аналитики.
<script> window.addEventListener('busLoadingLazy', function() { busLoadingLazy.setting['status'] = false; // не загружать модуль busLoadingLazy.setting['start'] = 0; // начать загружать с busLoadingLazy.setting['quantity'] = 20; // загружать столько-то busLoadingLazy.setting['exception'] = {'https://mysite.by/image.png':true}; // не загружать это изображение при загрузки страницы busLoadingLazy.start(); // загрузить ещё изображения и iframe при загрузки страницы начиная от 50 в количестве 5 штук busLoadingLazy.setting['exception'] = {}; // убираем исключения }); </script> <a onclick="busLoadingLazy.start({element:'[data-busloadinglazy-id=\'309b58a6256d898adcd1923369df72bf\']', lazy:true});">Ручной запуск html</a>
Рекомендую использовать этот модуль и указать там ссылку:
Чистка кэша HTML, TWIG, DATA: https://mysite.by/admin/index.php?route=extension/module/bus_cache/clear&user_token=[user_token]&redirect=[route]&caches=1
Чистка кэша HTML, TWIG, DATA + CSS, JS: https://mysite.by/admin/index.php?route=extension/module/bus_cache/clear&user_token=[user_token]&redirect=[route]&minify=1
Чистка кэша HTML, TWIG, DATA + IMAGES: https://mysite.by/admin/index.php?route=extension/module/bus_cache/clear&user_token=[user_token]&redirect=[route]&images=1
Чистка кэша LOGS: https://mysite.by/admin/index.php?route=extension/module/bus_cache/clear&user_token=[user_token]&redirect=[route]&logs=1
Чистка кэша HTML, TWIG, DATA + MODIFICATIONS: https://mysite.by/admin/index.php?route=extension/module/bus_cache/clear&user_token=[user_token]&redirect=[route]&modifications=1
Чистка VIEW PRDOCUTS (просмотренные товары): https://mysite.by/admin/index.php?route=extension/module/bus_cache/clear&user_token=[user_token]&redirect=[route]&view_products=1
Чистка CUSTOMER SEARCH QUERY (поисковые запросы): https://mysite.by/admin/index.php?route=extension/module/bus_cache/clear&user_token=[user_token]&redirect=[route]&customer_search=1
Чистка CUSTOMER BLOG SEARCH QUERY (поисковые запросы по блогу OpenCart.Pro 2.3.0.2.6): https://mysite.by/admin/index.php?route=extension/module/bus_cache/clear&user_token=[user_token]&redirect=[route]&customer_blog_search=1
Чистка CUSTOMER ACTIVITY (информация об активности пользователей): https://mysite.by/admin/index.php?route=extension/module/bus_cache/clear&user_token=[user_token]&redirect=[route]&customer_activity=1
Чистка CUSTOMER AND API SESSION (file or DB) (сессионные данные пользователей и подключений по REST API OpenCart): https://mysite.by/admin/index.php?route=extension/module/bus_cache/clear&user_token=[user_token]&redirect=[route]&customer_session=1
При откладывании скрипта ocfilter 4.8+
function busocfilterfix() { //console.log('busocfilterfix'); if (busCache.status == false) { $('.ocf-container').toggleClass('ocf-mobile-active', true); $('body').toggleClass('ocf-overflow-hidden', true); window.localStorage.setItem('ocf.mobile.opened', 1); $('button[data-ocf="mobile"]').unbind('touchstart', busocfilterfix); } } window.addEventListener('DOMContentLoaded', function() { $('button[data-ocf="mobile"]').bind('touchstart', busocfilterfix); });
Нет комментариев для отображения