Кеш и оптимизация: кеш страниц, минификация и шрифты
Вкладка Кеш и оптимизация ускоряет публичные страницы без отдельного плагина кеша. Она кеширует страницы, сокращает HTML, откладывает скрипты, работает со шрифтами и проверяет результат. Откройте её в разделе Baza Helper > Кеш и оптимизация.
Кеш страниц
Включите Включить кеширование публичных страниц. Кешируются только анонимные GET-запросы без cookie и параметров в адресе. Аккаунт, оформление заказа и исключённые пути всегда обходят кеш.
- Срок хранения кеша (секунды): по умолчанию один час, от 60 секунд до суток. Короткий срок сохраняет свежими данные бронирований и токены безопасности, длинный делает сайт быстрым для каждого посетителя.
- Максимум страниц в кеше: лимит сохранённых копий.
- Очищать кеш при изменении содержимого или настроек темы: посетители не увидят устаревших страниц.
- Исключённые пути URL: один путь в строке, начиная с /. Путь и всё, что ниже него, не кешируется.
Вкладка открывается тремя карточками в таком порядке: Управление кешем, Советник по скорости, затем Кеш страниц и остальные настройки. В блоке Управление кешем видно число кешированных страниц, размер кеша и просроченные записи. Очистить кеш страниц очищает его, а Прогреть публичные страницы запрашивает до 100 опубликованных страниц небольшими пакетами WP-Cron, чтобы первый посетитель сразу получил кешированную страницу. Прогрев пропускает персонализированные ответы. Если WP-Cron на сервере отключён, для прогрева нужна задача cron на сервере.
HTML, CSS и JavaScript
- Безопасная минификация HTML убирает комментарии и лишние пробелы. Пробелы в тексте, скрипты, JSON-LD, стили, SVG, pre и textarea остаются без изменений.
- Use compiled minified theme CSS / JavaScript выбирает файл .min темы, если он есть.
- Отложенная загрузка совместимых скриптов темы использует загрузку WordPress с учётом зависимостей. Внешние скрипты провайдеров и ресурсы плагина бронирования остаются как есть.
- Отложить все скрипты (включая jQuery и тему) загружает каждый файл скрипта после разбора страницы. WordPress сохраняет порядок скриптов, которые зависят друг от друга. Скрипт со встроенным кодом, напечатанным после него, и посетители, которые вошли в аккаунт, остаются без изменений, а если страница выполняет встроенный код, который сам вызывает jQuery, jQuery остаётся первым. По умолчанию выключено. После включения проверьте формы, меню и слайдеры. Настройка Скрипты, которые не откладываются при откладывании всех принимает один дескриптор скрипта WordPress на строку. Эти скрипты остаются в head, а все остальные откладываются.
- Combine local stylesheets / scripts into one file работает для посетителей, которые не вошли в аккаунт. Файлы, загружающиеся один за другим, становятся одним файлом в том же порядке. Стили со встроенным кодом, другими типами носителей или @import, а также скрипты со встроенными данными и модули остаются отдельно. После включения проверьте формы, меню и слайдеры.
- Отложить скрипты календаря бронирования появляется только при установленном Baza Booking Calendar. После включения сделайте тестовое бронирование.
- Откладывать скрипты Elementor и его дополнений и Не загружать jQuery Migrate на публичной части сайта убирают ещё больше блокирующих запросов. После этого проверьте слайдеры, счётчики, меню, всплывающие окна и формы.
- Отключить эмодзи WordPress убирает скрипт и стили emoji. Набранные emoji продолжают работать, потому что их рисует браузер.
Изображения и первый экран
- Заполнять размеры локальных изображений добавляет ширину и высоту только тогда, когда нет обоих значений.
- Отложенная загрузка изображений после первых трёх оставляет первые изображения без отложенной загрузки.
- Статичный первый экран для улучшения LCP не даёт анимациям появления задерживать первый экран.
- Предзагружать самое большое изображение каждой страницы узнаёт от браузеров ваших посетителей, какое изображение было отрисовано самым большим, и после двух совпадений добавляет для него предзагрузку с высоким приоритетом, отдельно для телефонов и больших экранов. Эта картинка никогда не загружается лениво:
loading="lazy"убирается, а приоритет ставится высокий. - Автоматически исправлять разметку доступности даёт безымянным ссылкам aria-label, добавляет главный ориентир main, если его нет, и убирает недопустимые атрибуты aria-value.
Шрифты
- Использовать font-display: swap в локальных стилях создаёт копию CSS с хешем в названии и добавленным swap.
- Автоматически загружать заранее шрифты локальных таблиц стилей предзагружает первый латинский файл шрифта каждого @font-face, а Максимум шрифтов для автоматической предзагрузки (от 1 до 5, по умолчанию 2) ограничивает их число.
- Предзагрузка важных шрифтов: URL принимает до пяти адресов WOFF2, WOFF, TTF или OTF. Предзагружайте только шрифты, которые используются на первом экране.
Критический CSS и отложенные стили
Поле Критические стили CSS содержит только CSS, без тегов style и импортов. Оно нужно, прежде чем вы перечислите Идентификаторы стилей для отложенной загрузки. Стили вне списка остаются блокирующими. Генератор Critical CSS может заполнить это поле за вас, см. отдельную статью.
Прямая выдача HTML
Отдавать HTML напрямую без WordPress отдаёт кешированные страницы веб-серверу без запуска PHP. Для этого нужны кеш страниц и автоматическая инвалидация, а также успешная проверка сервера. На Apache и LiteSpeed кнопка Установить правила автоматически делает копию .htaccess, записывает правила перед правилами WordPress, проверяет главную страницу и возвращает старый файл, если что-то пошло не так. Удалить правила убирает только блок, добавленный Baza Helper. На Nginx вкладка показывает правила, которые нужно скопировать в конфигурацию сервера.
Правила кеша браузера
Карточка кеша браузера записывает помеченный блок в .htaccess на Apache или LiteSpeed: один год для изображений, шрифтов и видео, один месяц для CSS и JavaScript. На Nginx она показывает строки для копирования. Затем проверяет, что сервер действительно отправляет заголовок max-age. Это ответ на замечание PageSpeed «Use efficient cache lifetimes».
Диагностика производительности
Введите адрес страницы, запустите проверку или импортируйте отчёт Lighthouse в формате JSON. Результат содержит проблемы с фактами и следующим шагом для каждой, первые собственные файлы CSS и JavaScript с возрастом в кеше браузера и стили, блокирующие отображение. Выдуманной оценки нет. Карточка Speed advisor над ней превращает те же выводы в переключатели, см. статью о Speed advisor.
