Оптимизация сайта на Битрикс под Google PageSpeed

Для оптимизации сайта на Битрикс под Google PageSpeed делаем следующее:

1. Проверяем систему на ошибки, устраняем если они есть;
2. Проверяем версию php на хостинге, нам нужна минимум php 7.2;
3. Проверяем / восстанавливаем таблицы БД;
4. Оптимизируем БД;
5. В настройке модуля / Оптимизация CSS отмечаем все галочки;
6. Делаем загрузку изображений через Lazy Load
7. Подключаем необходимые файлы css, js для предварительной загрузки через rel="preload"

<link rel="preload" href="style.css" as="style">
<link rel="preload" href="script.js" as="script">

8. Добавляем в css где есть подключение шрифтов строку font-display: swap;
9. В init.php добавляем код для удаление из контента не нужных подключенных библиотек для не авторизованных посетителей.
10. Включаем кеш

Это самые основные шаги которые помогут ускорить загрузку, и не забываем после каждого действия проверять корректность работы сайта.
logo
logo
PHP
<?

//Код размещаем в init.php, файлы для удаления прописываем индивидуально

AddEventHandler("main", "OnEndBufferContent", "deleteKernelJs");
AddEventHandler("main", "OnEndBufferContent", "deleteKernelCss");

function deleteKernelJs(&$content) {
    global $USER;
    if(is_object($USER) && $USER->IsAuthorized()) return;

    $arPatternsToRemove = Array(
        '/<script.+?src=".+?kernel_main_polyfill_promise\/kernel_main_polyfill_promise_v1\.js\?\d+"><\/script\>/',
        '/<script.+?src=".+?loadext\/loadext\.js\?\d+"><\/script\>/',
        '/<script.+?src=".+?loadext\/extension\.js\?\d+"><\/script\>/',
        '/<script.+?src=".+?currency\/core_currency\.js\?\d+"><\/script\>/',
    );

    $content = preg_replace($arPatternsToRemove, "", $content);
    $content = preg_replace("/\n{2,}/", "\n\n", $content);
}


function deleteKernelCss(&$content) {
    global $USER;
    if(is_object($USER) && $USER->IsAuthorized()) return;

    $arPatternsToRemove = Array(
        '/<link.+?href=".+?kernel_main\/kernel_main_v1\.css\?\d+"[^>]+>/',
        '/<link.+?href=".+?opensans\/ui.font.opensans\.css\?\d+"[^>]+>/',
    );

    $content = preg_replace($arPatternsToRemove, "", $content);
    $content = preg_replace("/\n{2,}/", "\n\n", $content);
}

Спасибо! Заявка успешно отправлена, мы с Вами свяжемся в ближайшее время!