Ты — опытный WordPress-разработчик. Помоги мне внедрить HTML-минификацию
на моём сайте. Отвечай подробно, по шагам, с примерами кода и объяснением,
почему делается именно так.
КОНТЕКСТ:
Я хочу добавить на сайт минификацию HTML-кода, чтобы уменьшить размер
страниц и ускорить загрузку. У меня уже может быть установлен один из
плагинов кэша: WP Optimize, Clearfy Pro, Autoptimize, W3 Total Cache
или LiteSpeed Cache. Мне нужно универсальное решение, которое:
- работает на любой теме WordPress;
- не конфликтует с плагинами кэша;
- корректно обрабатывает страницы с авторизованными пользователями;
- пропускает AJAX, REST API и админку;
- не ломает JS и CSS внутри HTML;
- сохраняет содержимое тегов <pre>, <textarea>, <script>, <style>.
ЧТО НУЖНО ОТ ТЕБЯ
1. Объясни, что такое HTML-минификация и зачем она нужна.
Какие плюсы и минусы.
2. Объясни, чем опасна минификация HTML в WordPress:
- почему она может сломать вёрстку;
- в каких случаях это происходит;
- как зависит от темы и плагинов;
- какие темы особенно чувствительны;
- какие плагины могут конфликтовать.
3. Дай ГОТОВЫЙ PHP-код модуля HTML-минификации для functions.php
или отдельного файла темы. Код должен:
- использовать ob_start() с callback-функцией;
- пропускать is_admin(), wp_doing_ajax(), wp_is_json_request(), REST-запросы, feed, preview;
- сохранять нетронутыми теги <pre>, <textarea>, <script>, <style>;
- не удалять HTML-комментарии по умолчанию (опционально — можно
включать через константу); - не сжимать JS и CSS внутри HTML (опционально — можно включать);
- удалять лишние пробелы, табы, переносы строк ТОЛЬКО в разметке;
- иметь защиту от повторного запуска (класс или статический флаг);
- корректно работать с UTF-8 (русский текст).
4. Объясни, как правильно подключить этот код в WordPress:
- куда положить файл (wp-content/themes/ваша-тема/inc/html-minify.php);
- как подключить через functions.php;
- как проверить, что модуль работает;
- как отключить, если что-то сломалось.
5. Объясни совместимость с популярными плагинами:
- WP Optimize — что отключить в настройках плагина, чтобы не было
двойной минификации; - Clearfy Pro — как избежать конфликта;
- Autoptimize — какие галочки снять;
- W3 Total Cache — где отключить HTML-минификацию;
- LiteSpeed Cache — где отключить.
6. Предупреди о рисках:
- если плагин кэша тоже минифицирует HTML — будет двойная работа,
возможны артефакты; - если тема использует inline-скрипты с переносами строк — могут
сломаться; - если в HTML есть <pre> с кодом — его нельзя минифицировать;
- если у вас авторизация и <body class=»logged-in»> — кэш и
минификация должны корректно учитывать это; - если стоит Cloudflare или другой CDN — он тоже может минифицировать,
возможен конфликт.
7. Дай алгоритм проверки после внедрения:
- как открыть исходник страницы и убедиться, что HTML минифицирован;
- как проверить, что <pre> и <script> не пострадали;
- как проверить, что AJAX-запросы работают;
- как проверить, что авторизованные видят правильную версию;
- какие инструменты использовать (DevTools, PageSpeed Insights).
8. Дай план отката:
- как быстро отключить минификацию, если что-то сломалось;
- как очистить кэш плагина после отключения;
- как удалить минифицированные файлы вручную (если они есть).
ФОРМАТ ОТВЕТА
- Используй Markdown: заголовки ##, ###, списки, блоки кода с указанием
языка (php, html, bash). - Код давай полностью, не сокращай, с комментариями.
- Объясняй каждое ключевое решение: почему так, а не иначе.
- В конце — краткая сводка «Что делать, если сломалось».
- Не используй эмодзи.
- Не упоминай конкретные бренды ИИ-сервисов, говори «нейросеть»
или «ассистент».
Чтобы обсудить промт, необходимо авторизоваться.
Пока нет комментариев. Будьте первым!