После обновления темы пропали стили WordPress — что делать | Мастерская — статьи по WordPress и серверам | de-bor.ru

Частный web-мастер Денис Борисов
WordPress-сайтов

После обновления темы пропали стили WordPress — что делать

WordPress: ошибки и фиксы · 2026-07-23 · 6 мин чтения

Обновили тему — а сайт как голый HTML: рамки, чёрный текст на белом фоне, всё разъехалось. CSS не подключился. Чаще всего причина в кэше, версиях файлов или кривом дочерней теме. Вот 4 причины и пошаговое решение — от самой частой к редкой.

Стили пропадают после обновления темы из-за кэша браузера, устаревшего CDN, сброса enqueue-зависимостей в functions.php или конфликта дочерней темы с родительской. В 80% случаев помогает очистка кэша браузера + очистка кэша плагина кэширования + перегенерация CSS-файлов темы (если используется кастомайзер). Если не помогло — проверьте version-параметр в wp_enqueue_style и файл style.css в дочерней теме.

Почему стили пропадают: 4 основные причины

Важно Не паникуйте. Стили пропали — это почти всегда не поломка, а кэш или версионирование. База данных и контент целы.

1. Кэш браузера и кэширующие плагины

Самая частая причина. Браузер запомнил старый style.css и не загружает новый. После обновления темы WordPress меняет версию CSS-файла, но кэш на стороне клиента или сервера отдаёт старый файл. Особенно часто на Beget и Timeweb, где включён nginx-fastcgi-cache.

То же самое с плагинами кэширования: WP Rocket, LiteSpeed Cache, Cache Enabler. Они хранят минифицированные/объединённые CSS. После обновления темы эти файлы надо перегенерировать.

2. Слетели настройки кастомайзера

Некоторые темы хранят кастомные CSS в базе данных (опция theme_mods_{theme_slug}). При обновлении темы разработчик мог изменить имя slug-а или структуру опций. Тогда WordPress не находит сохранённые стили и отдаёт базовую тему без доработок.

3. Кривой enqueue в дочерней теме

Если вы используете дочернюю тему, wp_enqueue_style может ссылаться на несуществующий файл. После обновления родительской темы пути к CSS могли измениться, а дочерняя тема продолжает подключать старые файлы. Типичная ситуация: get_template_directory_uri() вместо get_stylesheet_uri() — и после обновления подключается не тот CSS.

4. Конфликт родительской и дочерней темы

Родительская тема обновилась, а дочерняя осталась старой. В новой версии родительской темы изменилась структура header.php или способ подключения стилей. Дочерняя тема переопределяет header.php, но не обновляет вызов wp_head() или wp_enqueue_style — стили не подключаются.

Пошаговое решение

Шаг 1: Очистите кэш браузера

Начните с самого простого. В Chrome: Cmd+Shift+R (или Ctrl+F5 на Windows) — жёсткая перезагрузка без кэша. Если стили появились — проблема была в кэше браузера. Если нет — идём дальше.

Шаг 2: Очистите кэш плагина кэширования

Зайдите в админку WordPress и очистите все кэши:

  • WP Rocket → Настройки → WP Rocket → Очистить кэш
  • LiteSpeed Cache → LiteSpeed Cache → Очистить всё
  • Cache Enabler → Настройки → Cache Enabler → Очистить кэш
  • Autoptimize → Autoptimize → Очистить кэш CSS/JS

Если сайт на Beget, дополнительно сбросьте кэш nginx через панель управления хостингом: Управление сайтом → Очистить кэш.

Шаг 3: Перегенерация CSS темы

Темы с кастомайзером (например, Customify, Astra, Blocksy) хранят CSS в базе данных или в файлах /wp-content/uploads/. После обновления эти файлы могут устареть. Зайдите в Настройки → Кастомайзер → нажмите «Опубликовать» (даже без изменений) — тема перегенерирует CSS-файлы.

Если тема использует Dynamic CSS (GeneratePress, Neve), пересохраните Настройки темы: Внешний вид → Настройки → Сохранить.

Шаг 4: Проверьте version-параметр в functions.php

Откройте файл дочерней темы /wp-content/themes/ваша-дочерняя-тема/functions.php и найдите вызов wp_enqueue_style. Параметр version должен быть либо числом (время обновления), либо null (авто-версия от WordPress):

function my_theme_enqueue_styles() {
    $parent_style = 'parent-style';
    wp_enqueue_style($parent_style, 
        get_template_directory_uri() . '/style.css',
        array(),
        filemtime(get_template_directory() . '/style.css')
    ); // version = время изменения файла — кэш сбрасывается сам

    wp_enqueue_style('child-style',
        get_stylesheet_directory_uri() . '/style.css',
        array($parent_style),
        filemtime(get_stylesheet_directory() . '/style.css')
    );
}
add_action('wp_enqueue_scripts', 'my_theme_enqueue_styles');

Если version захардкожен (например, '1.0.0') — после обновления темы браузер не поймёт, что CSS изменился. Меняйте version или используйте filemtime() для авто-версионирования.

Шаг 5: Проверьте файл style.css в дочерней теме

В дочерней теме обязательно должен быть style.css с корректным Template-заголовком:

/*
Theme Name: Моя дочерняя тема
Template: родительская-тема
*/

Ошибка в Template (например, пробел, другой регистр) — WordPress не найдёт родительскую тему и не подключит её стили. Проверьте имя папки родительской темы в /wp-content/themes/ и Template-заголовок в style.css дочерней.

Шаг 6: Отключите минификацию CSS

Плагины Autoptimize, WP Rocket, LiteSpeed Cache минифицируют CSS, объединяя файлы в один. После обновления темы пути внутри CSS-файлов могут измениться. Временно отключите объединение и минификацию CSS в плагине — если стили вернулись, пересоздайте кэш минифицированных файлов.

На Beget это частая проблема: nginx-кэш + плагин кэширования + минификация дают тройной слой, где обновление темы теряется. Отключайте минификацию, очищайте оба кэша, включайте обратно.

Проверка результата

Как проверить

Откройте сайт в режиме инкогнито (Chrome: Cmd+Shift+N). Если стили есть — кэш браузера был причиной. Откройте Инструменты разработчика (Cmd+Opt+I) → вкладка Network → обновите страницу. Найдите style.css в списке — статус должен быть 200, а не 304 (из кэша). Если 304 — снова жмите очистку кэша.

Дополнительно проверьте консоль браузера (Console в DevTools): ошибки вроде Failed to load resource: net::ERR_NAME_NOT_RESOLVED указывают на битые пути к CSS-файлам. Сверьте URL в ошибке с реальным расположением файла на сервере.

Когда способ не сработает

Обновили тему, и теперь всё едет. Не только стили пропали, но и вёрстка развалилась. Это значит, что в новой версии темы изменилась HTML-структура (header, footer, сайдбар). Поможет только правка CSS под новую структуру или откат темы к предыдущей версии.

Стили загружаются, но не применяются. Проверьте специфичность селекторов: старая тема использовала .widget-title, а новая — .widget__title. CSS написан под новую разметку, а HTML остался старый. Решение: обновить дочернюю тему или откатить родительскую.

Стили есть на главной, но нет на внутренних страницах. Проверьте условные теги в functions.php: возможно, wp_enqueue_style обёрнут в if (is_front_page()). После обновления разработчик изменил Conditional Tag API — проверьте документацию функции.

Сайт на VPS, и CSS файлы 403. После обновления темы изменились права на файлы (chmod). На VPS с Nginx + PHP-FPM это частая история: закройте консолью права на /wp-content/themes/:

find /var/www/site/wp-content/themes -type f -exec chmod 644 {} \;
find /var/www/site/wp-content/themes -type d -exec chmod 755 {} \;

Частые вопросы

Пропали стили после обновления темы Astra — что делать
Astra хранит Dynamic CSS в /wp-content/uploads/astra/. Очистите эту папку через FTP, затем зайдите в Кастомайзер → Опубликовать — Astra пересоздаст CSS-файлы. Дополнительно очистите кэш плагина кэширования.
После обновления темы перестали работать шрифты
Шрифты подключаются через CSS — скорее всего, изменились пути к шрифтам в новой версии темы. Проверьте @font-face в style.css: если указаны относительные пути — тема могла сменить структуру папок. Скопируйте шрифты в новое расположение или исправьте пути.
Обновил дочернюю тему — пропали стили
Проверьте Template-заголовок в style.css дочерней темы. Если обновление перезаписало файл — Template мог стереться. Верните заголовок с верным именем родительской темы.
Как откатить тему до предыдущей версии
Через плагин WP Rollback. Установите, выберите тему, нажмите Rollback — выберите версию из списка. Либо скачайте старую версию с wordpress.org и загрузите через FTP, заменив папку темы. Не забудьте отключить автообновления темы после отката.
Gutenberg блоки отображаются без стилей после обновления темы
Тема не поддерживает новые блоки Gutenberg или не загружает wp-block-library. Добавьте в functions.php: add_theme_support('wp-block-styles'); и wp_enqueue_style('wp-block-library');. Для полного контроля используйте current_theme_supports('wp-block-styles').

Как не допустить повторения

Перед обновлением темы сделайте бэкап сайта: база данных + wp-content/themes/. На Beget это делается в разделе «Резервное копирование» — 1 клик, 2 минуты. Если что-то пошло не так — восстановите бэкап и обновляйтесь заново.

Используйте дочернюю тему с авто-версионированием через filemtime — кэш будет сбрасываться автоматически при каждом изменении CSS. И держите плагин кэширования под контролем: после любого обновления темы очищайте его кэш прежде, чем проверять результат.

Пропали стили и не можете разобраться?

Помогу восстановить внешний вид сайта за 1 день. Диагностика, правка CSS, настройка кэширования.

Написать в Написать в

Сопровождение и поддержка сайта

Сопровождение и поддержка сайта

Исправлю ошибки WordPress, восстановлю сайт.

от 5.400 ₽/мес

Подробнее
Техническая оптимизация

Техническая оптимизация

Ускорю сайт, настрою кэш, устраню узкие места.

7.200

Подробнее

Разрабатываю WordPress-сайты

Лендинги, многостраничные сайты, интернет-магазины на WooCommerce — всё на WordPress с удобной панелью управления.

Сайт под ключ: регистрация домена и хостинга, установка WordPress, настройка шаблона и модулей.

Поддерживаю WordPress-сайты

Обновление плагинов и тем, резервное копирование, мониторинг работоспособности — сайт работает без сбоев.

Оперативное исправление ошибок, создание новых разделов, доработка функционала и наполнение контентом.

Продвигаю WordPress-сайты

SEO-оптимизация, настройка Яндекс Метрики и Вебмастера, подключение Google Search Console.

Оптимизация позволяет «поднять» сайт в поисковых выдачах, увеличить целевой трафик и привлечь новых клиентов.

Чистка от вирусов WordPress

Если сайт взломали, появился подозрительный код или спам-рассылка — найду и удалю вредоносный код, закрою уязвимости и настрою защиту от повторного заражения.

После чистки проверю все файлы и плагины, обновлю WordPress до актуальной версии и настрою автоматическое резервное копирование.

Диагностика сайта

Проверю ваш сайт по ключевым параметрам и подготовлю отчёт с рекомендациями:

  • Скорость загрузки и производительность;
  • Безопасность и уязвимости;
  • SEO-состояние и индексация;
  • Мобильная адаптация;
  • Технические ошибки и код.
Заказать диагностику
Михайлова Анастасия

Денис МАСТЕР своего дела. Вёл целый проект, работали с ним на протяжении 4х месяцев. Отзывчивый, понимающий с полуслова специалист. Стоимость услуг радует, а качество работы приводит в восторг.

Денис спасибо Вам от лица нашей строительной компании и от всего нашего персонала.

Михайлова Анастасия

Игорь Караваев

Обратился к Денису для восстановления сайта на WordPress после сбоя. Сделал, как и обещал, за сутки — сайт снова работает без ошибок. Профессионал своего дела, доходчиво объясняет, вежлив и тактичен. Однозначно рекомендую!

Игорь Караваев

Яна Веркулич

Денис, спасибо огромное за работу)) Очень тепло вспоминаю Вас и все что Вы сделали для моей работы и моего сайта.

Денис Профессионал с большой буквы, решает любые вопросы, отличный специалист))

Рекомендую к сотрудничеству, еще раз спасибо)

Яна Веркулич

Бюро Переводов

Денис оперативно и грамотно справляется со всеми поставленными задачами. Внес правки на англоязычную и русскоязычную версии сайта, учел все пожелания. Будем обращаться еще!

Бюро Переводов

Анастасия Виричева

Денис мастер своего дела, рекомендую его как специалиста.
Понимает, что нужно сделать и справляется с поставленной задачей в короткое время.

Делал сайт для салона красоты, просто и функционально.

Анастасия Виричева

Владимир

Очень много времени мучались с сайтом на OpenCart. «Специалисты» не могли нормально разобраться в проблеме, возникавшей при выполнении элементарной задачи.

Денис сделал это в два счета, также расписал подробно, в чем была проблема и как она решена. На 200% доволен. Даже не хочется его рекомендовать, потому что будет постоянно занят))

Владимир

Ксения Петровская

Денис оперативно ответил и помог решить проблему, которую я даже описать нормально не могла)) Мы сами что-то накрутили с корпоративной почтой — письма то уходили, то нет, в общем всё сломали.

Денис всё починил, теперь у нас нормальная почта, домен работает, письма приходят и уходят. Цена как заявлена — оплатили по факту проверки. Спасибо большое!

Ксения Петровская

Александр Кривуля

Заказал у Дениса доработать сайт на WordPress. При этом трудно себе представлял, что сам хочу. Благодаря профессионализму Дениса и его умению всё грамотно и просто объяснять, предлагать разные варианты решений — цель была достигнута.

Умение общаться доходчиво и терпеливо с клиентами — огромный плюс. Я очень доволен. Однозначно рекомендую!

Александр Кривуля

Кондитер мания

Прекрасный специалист, ответил и устранил ошибку на сайте за пару часов, сохранила контакт, будем по необходимости обращаться. Рекомендую!

Кондитер мания

Бесплатная настройка хостинга и домена

Регистрация хостинга на 1 месяц и домена .ru/.рф на 1 год входит в стоимость разработки сайта.

Подробнее