Заметки в телефоне (ночь, WordPress, WoodMart, WP Rocket, PageSpeed и немного пива)
22:31
Зашел на мобильный PageSpeed. 56/100.
Конечно. Прекрасно. Люблю боль.
22:38
Спрашиваю ИИ: что делать с WoodMart?
Он уверенно отвечает:
— “Включи Galaxy Mode в WP Rocket → Performance → Experimental”.
Я: где? Нет же такого.
- "Есть, вон там, рядом с Instant Warp".
Я смотрю на монитор, монитор смотрит на меня. Пиво смотрит на всех нас троих.
22:47
Ок, идем по другому пути.
ИИ говорит: "В WoodMart выключи Mega Defer Styles в Theme Settings".
Выдуманная кнопка №2 за вечер.
23:02
Решил «пойти по серьёзке»:
вставить некий "легкий" код в functions.php, который "автоматически удаляет весь неиспользованный CSS, что противоречит достоинству твоего сайта".
ИИ добавляет: "100% работает."
…
После обновления файла админка дышит как астматик на подъеме.
Сайт жив, но ему больно. Мне тоже.
23:19
В голове геройский голос: "давай напишем свой плагин - rocket-boost-super-critical".
Файл создался. Активировал.
Плагин ничего не делает, но звучит грозно. Зато сайт стал хуже грузиться.
Магия.
23:33
Возвращаю все вспять.
ИИ говорит: "О, ты молодец! Так и надо было."
Спасибо, капитан Очевидность.
23:48
WoodMart: включаю “Disable Gutenberg CSS”, “Disable emoji”, “Load Google Fonts Locally”…
ИИ говорит: "Обязательно включи HyperBoost Ajax Killer".
Вытираю слезу. Этого не существует.
00:06
WP Рокет.
— “Включи Remove Unused CSS.”
Включаю.
- "И еще Delay JS".
Включаю.
- "И Preload всем, все и всюду."
Не включаю. Я люблю еще жизнь.
00:21
CLS прыгает через WoodMart-слайдер и product swatches.
ШИ: "Просто добавь min-height: auto-important;"
…
auto-important звучит, будто шаманское заклятие – но, к сожалению, не CSS.
00:37
Придумал свой чеклист с триггером:
- Если пункт звучит как "космический режим" - не трогай.
– Если ИИ дает 100% гарантию – не трогай ×2.
– Если хочешь вставить код в functions.php в 00:37 – иди за пиво.
00:52
Делаю нормальные вещи, которые не модны, но работают:
- Выключаю ненужные виджеты WoodMart (ajax search live, если не нужно)
– убираю карусель, ставлю статическую картинку для мобильного героя
- в WP Rocket добавляю исключение на jquery.min.js, wc-cart-fragments, woodmart-theme.min.js от Delay JS
- собираю критический CSS страниц (не весь сайт одним ножом)
— шрифты локально, font-display: swap
- preload на главный шрифт и главное изображение LCP
01:11
Мобильный PageSpeed подскочил к 84.
ИИ пишет: "Я же говорил."
Ты ничего не говорил, друг. Я просто перестал тебе верить.
01:28
Я смотрю в окно – луна, Lexus, тишина.
И думаю: иногда лучшая оптимизация — выключить несуществующие галочки и вернуться к тому, что реально влияет.
01:44
Завтра допили LCP на картинке героя, и будет 90+.
Сегодня – Heineken и сон.
ШИ, не пиши мне до утра.
Пройдя через все эти мучения, несуществующие режимы и советы ИИ, я понял одно: работают только базовые, проверенные вещи. Вот мой финальный, проверенный план оптимизации WoodMart и WP Rocket, который вывел меня из болота 56 баллов в чистую зону PageSpeed. Без магии и “Hyper Turbo Mode
Почему PageSpeed хромает на мобильном в WoodMart
- Слишком трудный герой (слайдер, видео, большие изображения) → плохой LCP.
- Дефолтные шрифты Google с блокирующей загрузкой → FOIT/долгое отображение.
- JS от WooCommerce/тематики, что мешает кэшированию и вызывает задержки.
- CLS через слайдеры, карусели, отсутствуют
width/heightилиaspect-ratio.
План оптимизации (WoodMart + WP Rocket) – кратко и по-деловому
1) LCP: сделайте первый экран легким
- На мобильном - статический баннер вместо слайдера (серьезно, это половина успеха).
- Фиксируйте высоту контейнера героя: минимум ~
min-height: 60vh;или задайтеaspect-ratio. - Изображение героя у WebP/AVIF, без "гигантов": 900–1200px по длинной стороне для мобильного.
- Добавьте прелоад на LCP-изображение (только одно, главное):
<link rel="preload" as="image" href="/path/hero.webp" imagesrcset="/path/hero-900.webp 900w, /path/hero-1200.webp 1200w" imagesizes="(max-width: 600px) 100vw, 600px">
2) WP Rocket: безопасные настройки, которые дают +балл
- Cache: мобильный кэш включен.
- File Optimization → CSS: Minify. Remove Unused CSS - тестируйте. Если что-то ломает, лучше дать критический CSS вручную (ниже пример).
- File Optimization → JS: Minify+Delay JS. Добавьте исключения (чтобы не ломать корзину/тему):
jquery(.min)?.jswc-cart-fragmentswoodmart-theme(.min)?.js- скрипты платежей/аналитики, которые должны работать сразу
- Media: Lazyload для изображений и iframe Нет лены LCP-картинку.
3) WoodMart: выключите лишнее, возьмите полезное
- Performance: локальная загрузка Google Fonts,
font-display: swap, минимизируйте количество набросков (2–3 веса). - Выключите неиспользуемые модули (live search, wishlist/compare, heavy карусели).
- Для мобильного хедера меньше элементов и анимаций.
4) Шрифты: быстро и без "мигания"
- Положите woff2 локально и добавьте прелоад на основной файл:
<link rel="preload" as="font" href="/fonts/Inter-regular.woff2" type="font/woff2" crossorigin> - CSS-подключение с
font-display: swap(чтобы текст не исчезал):@font-face{ font-family:"Inter"; src:url("/fonts/Inter-regular.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
5) WooCommerce: мелочи, экономящие секунды
- Добавьте исключение Delay JS для
wc-cart-fragments(корзина и мини-корзина будут дышать ровно). - Выключите фичи, которые не требуются именно вам (quick view, сравнение, лишние виджеты).
6) Изображение, CDN и lazyload
- Конвертируйте в WebP/AVIF, контролируйте размеры (никаких 2–5 МБ на мобилку).
- Проверьте
srcset/sizes, чтобы телефон не тянул десктопные картинки. - Lazyload для всего, кроме LCP. Для баннеров/плейсхолдеров добавьте прозрачные заглушки, чтобы избежать прыжков.
7) Анти-CLS: стабильная верстка без прыжков
- Для изображений обязательно
width/heightилиaspect-ratio. - Слайдеры/карусели: задайте высоту контейнера, выключите автоплей на мобильном.
- Шрифты — только из
swapи близким по метрике fallback.
8) Критический CSS: точечно, а не "ножом по всему сайту"
Создайте краткий критический CSS для главной (герой, хедер, первый экран) и добавьте в :
/* приклад мінімального критичного шару */
header{min-height:64px}
.hero{min-height:60vh; display:grid; place-items:center}
.hero h1{margin:0 0 .5rem}
.btn{display:inline-block; padding:.8rem 1.2rem}
Все остальные стили могут ехать асинхронно. Да вы спасаете LCP и визуальную готовность.
9) Что точно не делать в полночь 🙂
- Не вставлять непроверенные "волшебные" сниппеты в
functions.php. - Не включать одновременно “Remove Unused CSS” + агрессивные комбинации, если сайт велик и разнороден.
- Не верить советам о несуществующих переключателях в плагинах (да, ИИ иногда фантазирует).
Малый контрольный список перед релизом
- LCP на мобильном < 2.5 s на главных шаблонах (главная, категория, карточка товара).
- CLS < 0.1 (статические размеры, без "прыгающих" каруселей).
- Delay JS с исключениями для критических скриптов (jQuery, cart fragments, скрипты темы).
- Шрифты локально + прелоад +
swap. - Линивка изображений работает, но LCP нет лениво.
Если коротко по-человечески: меньше магии больше контроля. Спокойно убираем все лишнее, фиксируем первый экран и даем странице "задышать" без тяжелых скриптов. Да, иногда хочется нажать несуществующую галочку Hyper Turbo Mode, но лучше еще раз проверить LCP и исключения Delay JS.
Нужна рука рядом? Если сложно со всем этим разобраться, просто обратись на бесплатную консультацию — там расскажут подробно, а по желанию и сделают все за тебя, чтобы сайт реально летал:
https://speedwppro.com/uk/bezplatnyi-audyt/

