Почему Elementor замедляет сайт
Elementor генерирует большой DOM, загружает десятки CSS/JS файлов и по умолчанию подключает шрифты Google через внешние запросы. Всё это увеличивает время загрузки.
Настройки Elementor → Performance
| Параметр | Рекомендация | Влияние |
|---|---|---|
| Google Fonts | Disable / System Fonts | -200–500 мс |
| Font Awesome | Load only used icons | -80 КБ |
| CSS Print Method | Internal Embedding | -1 HTTP запрос |
| Improved Asset Loading | Enable | -30–50% |
| Lazy Load Background Images | Enable | +LCP score |
Отключение Google Fonts в Elementor
// functions.php — полное отключение Google Fonts
add_filter('elementor/frontend/print_google_fonts', '__return_false');
add_filter('elementor/fonts/print_google_fonts', '__return_false');
Уменьшение размера DOM
Elementor добавляет div-обёртки вокруг каждого виджета. Для уменьшения DOM:
- Elementor Pro: включите Improved Asset Loading
- Используйте Container вместо Section/Column (меньше div-нестинга)
- Удалите неиспользуемые виджеты через Elementor → Tools → Regenerate Files
Разбор ошибок Elementor
Elementor — тяжёлый визуальный редактор, и часть его сбоев связана именно с генерацией CSS и JS на лету, а не с самим контентом.
| Текст ошибки или симптом | Причина | Что делать |
|---|---|---|
| There has been a critical error on this website после обновления Elementor | Несовместимость версии Elementor Pro с ядром Elementor или темой | Откатить версию плагина и смотреть wp-content/debug.log |
| Белый экран в редакторе, при этом сайт снаружи работает | Конфликт JS в панели администратора, обычно с другим плагином, добавляющим свои скрипты | Открыть редактор с параметром ?safe_mode=1 и отключать плагины по одному |
| 500 ошибка при Regenerate CSS | Нет прав на запись в директорию wp-content/uploads/elementor | Выставить права 755 на директории и 644 на файлы кэша |
| Вёрстка «прыгает» после Lazy Load Background Images | У контейнера с фоном не задана минимальная высота, браузер не резервирует место | Задать min-height контейнеру до момента загрузки фонового изображения |
Общие принципы ускорения загрузки страницы, применимые и к Elementor, — в статье про скорость WordPress.
Когда оптимизация Elementor не поможет
- Лендинги с десятками виджетов на одном экране — DOM всё равно будет большим, разумнее собрать статический HTML/CSS вручную
- Дешёвый shared-хостинг с одним ядром CPU — рендер самого редактора в админке тяжёлый независимо от настроек фронтенда
- Темы, глубоко завязанные на Elementor Theme Builder — отключение части функций Performance может сломать шаблоны шапки и подвала
- Проекты с частым добавлением новых блоков — Regenerate Files приходится делать заново после каждого значимого изменения, это ручная операция
- Сайты, где важна доступность для скринридеров, — обёртки-дивы Elementor вокруг каждого виджета усложняют семантику разметки сильнее, чем при вёрстке вручную
Отдельно стоит проверить, какая версия PHP используется под капотом: сам рендер Elementor заметно выигрывает от PHP 8.2 и включённого OPcache, а как альтернативу тяжёлым плагинам кэша страниц можно рассмотреть LiteSpeed Cache, если хостинг работает на LiteSpeed.
Кэширование сгенерированных файлов Elementor
CSS-файлы, которые Elementor генерирует на лету, стоит отдавать с длинным сроком кэширования на уровне веб-сервера:
location ~* ^/wp-content/uploads/elementor/ {
expires 30d;
add_header Cache-Control "public, immutable";
}
Как проверить, что Elementor больше не тормозит
- Вкладка Coverage в DevTools показывает процент неиспользуемого CSS и JS на странице
- PageSpeed Insights: количество блокирующих рендер ресурсов должно снизиться после Improved Asset Loading
- Размер директории wp-content/uploads/elementor до и после Regenerate Files — резкий рост говорит о накоплении мусора
- Число HTTP-запросов на вкладке Network — базовая страница на Elementor не должна превышать 40–50 запросов
- Time to Interactive в Lighthouse — тяжёлый JS Elementor часто держит страницу «неинтерактивной» дольше 3 секунд на среднем мобильном устройстве
Сравнивайте метрики на одной и той же странице до и после изменений, а не на разных страницах сайта — разные шаблоны Elementor могут отличаться по весу в разы даже в пределах одного сайта.
curl -sI https://example.com/wp-content/uploads/elementor/css/post-123.css \
| grep -i cache-control