Как очистить кэш битрикс и сбросить resize cache при залипшей миниатюре?

Как очистить кэш битрикс и сбросить resize cache при залипшей миниатюре?

Вы сохранили новый баннер или цену в админке "1С-Битрикс: Управление сайтом", а на сайте по-прежнему старая версия. Это гайд только про CMS на вашем хостинге - не про Bitrix24 (CRM в облаке). В выдаче много статей про мобильное приложение B24, но кнопки оттуда сюда не подходят. Ниже — как очистить кэш битрикс по симптому: файловый, composite, managed или resize cache; безопасный сброс через админку или код, проверка в инкогнито и фоновая очистка без rm -rf на диске.

Кэш в 1С-Битрикс: Управление сайтом - несколько независимых слоев: файловый /bitrix/cache/, управляемый managed_cache с квотой и тегами, композитный HTML в html_pages, миниатюры resize_cache, плюс внешние CDN и opcache PHP. Сброс всегда точечный: сначала устаревшие файлы, затем слой по симптому; managed_cache и composite - только штатными средствами админки или API, не rm -rf. Сегодня откройте Автокеширование, сбросьте минимальный тип и проверьте страницу в инкогнито.

Типичная ошибка: нажали "Очистить весь кэш", но главная не изменилась - отдавалась из /bitrix/html_pages/. Официальный урок 2164 запрещает удалять managed_cache вручную. Если после правок не видно изменений в поиске, проверьте также базовые SEO-настройки на Битрикс - иногда дело не в кэше, а в индексации.

Выберите слой кэша по симптому: таблица решений

Таблица решений: симптом, слой кэша Bitrix и действие по сбросу

Перед "ядерной" очисткой сопоставьте симптом с типом кэша. Так вы не убьете скорость сайта лишним сбросом.

Симптом Слой кэша Действие Риск
Изменился текст или цена в админке Файловый /bitrix/cache/ Автокеширование: "только устаревшие" - "все"; кнопка "Сбросить кэш" на странице Низкий
Изменилось меню или права доступа Кэш меню Пункт "Меню" во вкладке "Очистка файлов кеша" Низкий
Каталог или модуль "залип" после импорта Managed cache /bitrix/managed_cache/ "Весь управляемый кэш" или ManagedCache::cleanAll() - не rm! Средний
Главная не меняется после правок шаблона Composite HTML /bitrix/html_pages/ "Все страницы HTML-кэша" или Композитный сайт - Страницы Средний
Старая миниатюра при том же имени файла resize_cache /upload/resize_cache/ CFile::ResizeImageDeleteCache() или полный сброс кэша в админке Низкий
После деплоя PHP-кода старый функционал opcache PHP opcache_reset() или ожидание revalidate_freq (60-300 с) Не CMS-кэш
После сброса в CMS фронт все равно старый CDN хостинга Purge CDN в панели провайдера, например Beget Нагрузка на origin

Рекомендация: не начинайте с FTP. Сначала "только устаревшие" или точечный сброс композита.

Разберите, что такое кэш на CMS и когда его трогать

Схема слоёв кэша Bitrix: файловый, managed, композит и resize_cache

Кэш - временные копии данных, которые сервер отдает быстрее, чем собирает заново. Файловый /bitrix/cache/ хранит компоненты, managed /bitrix/managed_cache/ - данные модулей с тегами, composite /bitrix/html_pages/ - готовый HTML целиком. Для разовой правки текста Битрикс часто сам сбрасывает теги. Полный сброс нужен, когда изменения не видны на фронте или после обновления ядра CMS.

Делайте: начинайте с минимального сброса по таблице. Не делайте: rm -rf на managed_cache.

Очистите кэш через админку: Автокеширование пошагово

Штатный путь сброса: Настройки - Настройки продукта - Автокеширование - вкладка "Очистка файлов кеша". Здесь безопасно работать контент-менеджеру без доступа к серверу.

  1. Откройте вкладку "Очистка файлов кеша" и нажмите только устаревшие - минимальный риск для скорости.
  2. Если правки не видны - выберите очистить все файлового кэша.
  3. При изменении структуры разделов сбросьте кэш меню отдельным пунктом.
  4. Для управляемого кэша нажмите весь управляемый кэш - система пересчитает квоту, в отличие от ручного удаления папки.
  5. Для композитного HTML выберите все страницы HTML-кэша или зайдите в "Композитный сайт - Страницы" и сбросьте конкретный URL.
  6. Дождитесь сообщения об успехе и откройте проблемную страницу в режиме инкогнито.

Не путайте с Панелью производительности - там мониторинг, не сброс. Рекомендация: для рутины хватит "только устаревшие"; полный сброс - после релиза шаблона.

Сбросьте composite и managed cache отдельно от файлового

После смены верстки в /local файлового сброса часто недостаточно: composite хранит готовый HTML в /bitrix/html_pages/, managed - фрагменты каталога в /bitrix/managed_cache/.

  • Composite: "Композитный сайт - Страницы" или Page::getInstance()->deleteAll().
  • Managed: "Весь управляемый кэш" или ManagedCache::cleanAll() - не rm -rf (урок 2164).
  • Диагностика: ?clear_cache=Y на одну загрузку; не заменяет сброс композита.

Рекомендация: сначала точечный сброс URL композита, managed - только если "залип" каталог после импорта.

Resize cache в Битриксе: очистите /upload/resize_cache/ при залипшей миниатюре

Заменили фото товара с тем же именем файла, а на витрине старая миниатюра? Виноват не /bitrix/cache/, а папка /upload/resize_cache/. Битрикс генерирует уменьшенные копии через CFile::ResizeImageGet() и при повторном вызове отдает кэшированный файл без регенерации.

Штатная очистка:

// Удалить кэш ресайза для конкретного файла
CFile::ResizeImageDeleteCache($fileId);

Если миниатюра все равно старая - выполните полный сброс кэша в админке. Оригиналы в /upload/ не затрагиваются. Не путайте resize_cache с managed_cache: для managed ручное удаление ломает теги в базе.

Используйте программный сброс: BXClearCache, ManagedCache и cron

Чеклист пошаговой очистки кэша через Автокеширование в админке Bitrix

Сброс из кода нужен после деплоя или массовой правки. Запрос bitrix main data cache на уровне ORM - в гайде D7 ORM кеширование; здесь - админские слои.

Файловый кэш (относительно /bitrix/cache/):

// Удалить весь файловый кэш
BXClearCache(true, '/');

// Только устаревшие в каталоге forum
BXClearCache(false, '/forum/');

Управляемый и композитный:

(new \Bitrix\Main\Data\ManagedCache())->cleanAll();
\Bitrix\Main\Composite\Page::getInstance()->deleteAll();

Автоочистка: агент clean_expire_cache() в b_agent, cron на cron_events.php каждую минуту. Включите "Использовать cron для агентов" в настройках main. На PHP 8+ в init.php - time(), не mktime().

* * * * * php -f /path/to/site/bitrix/modules/main/tools/cron_events.php

Пройдите чек-лист после обновления ядра или шаблона

После обновления ядра или шаблона из /local одного "очистить все" мало. Действуйте по порядку:

  1. Бэкап до обновления; обновление ядра - на тестовой копии.
  2. После релиза: "устаревшие" - "все" файлового - "весь управляемый" - "все HTML-страницы".
  3. Проверка в инкогнито; на VPS - opcache_reset() при необходимости.
  4. Агент clean_expire_cache и cron на cron_events.php активны.

После релиза пройдите чек-лист после запуска сайта. Не пропускайте композит после смены CSS.

Проверьте opcache, CDN и браузер после сброса CMS

Если после полной очистки CMS фронт старый - проблема вне слоев Битрикс.

  1. Инкогнито или другой браузер.
  2. Отключите композит на проблемном URL и сравните.
  3. Purge CDN в панели Beget; на VPS - opcache_reset().

Агент clean_expire_cache не даст /bitrix/cache/ расти бесконтрольно. Нужен аудит? Обсудить проект.

Избегайте опасных ошибок: бэкап и запрет rm managed_cache

Папку managed_cache не трогайте - ни rm -rf, ни FTP. После тотальной очистки сайт кратковременно тормозит - кэш наполняется заново.

Автор: Максим Мольков, разработчик 1С-Битрикс.
Источники: официальная документация 1С-Битрикс (dev.1c-bitrix.ru, уроки 2164 и 19992) и практика внедрений на CMS.

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

Как очистить кэш в битрикс через админку?

Откройте Настройки - Настройки продукта - Автокеширование - вкладка "Очистка файлов кеша". Порядок: сначала "только устаревшие", затем по симптому - "все", "меню", "весь управляемый кэш" или "все страницы HTML-кэша". Для одной страницы композита - Композитный сайт - Страницы.

Чем composite cache от managed cache?

Managed cache в /bitrix/managed_cache/ хранит фрагменты данных модулей с квотой и тегами. Composite в /bitrix/html_pages/ сохраняет готовую HTML-страницу целиком для максимальной скорости. После правок шаблона часто нужен сброс композита, а не только файлового кэша.

Можно ли очистить resize_cache вручную?

Да, миниатюры в /upload/resize_cache/ пересоздадутся при следующем хите. Лучше вызвать CFile::ResizeImageDeleteCache($fileId) для конкретного файла. Если миниатюра все равно старая - выполните полный сброс кэша в админке. Оригиналы в /upload/ не удаляются.

Почему очистка кэша не помогла?

Сбросили не тот слой (файловый вместо композита), браузер или CDN показывает старую копию, opcache держит старый PHP-код. Проверьте в инкогнито, сбросьте html_pages отдельно, отключите CDN на время теста и при необходимости выполните opcache_reset().

Можно ли удалить папку managed_cache через rm -rf?

Нет. Официальный урок 2164 запрещает ручное удаление /bitrix/managed_cache/, в том числе командой rm -rf. Используйте пункт "Весь управляемый кэш" в админке или ManagedCache::cleanAll() в коде.

Что такое bitrix main data cache?

Это управляемый кэш данных на уровне ядра - папка managed_cache и API ManagedCache. Для админского сброса хватит Автокеширования. Разработчикам с D7 ORM getList/cleanCache - отдельный гайд по D7 ORM кеширование.

Что делать после обновления ядра битрикс?

Бэкап до обновления, затем по порядку: устаревшие файлового кэша, весь файловый, весь управляемый, все HTML-страницы композита, проверка в инкогнито и opcache_reset на VPS. Убедитесь, что агент clean_expire_cache и cron на cron_events.php активны.

Читайте также

Интеграции с 1С и API
1074 6 мин.

Как настроить регистрацию и личный кабинет покупателя на 1С-Битрикс?

Пошаговая настройка регистрации на сайте битрикс: Главный модуль, main.register, system.auth.form и sale.personal.section с историей заказов и 152-ФЗ.
Интеграции с 1С и API
941 6 мин.

Как настроить скидки и промокоды на 1С-Битрикс: правила корзины и купоны

Пошаговый гайд по скидкам в CMS-магазине: скидка на товар, правило корзины от суммы, купоны с лимитом, приоритеты без конфликтов и тестовый заказ. Не Bitrix24.
Интеграции с 1С и API
757 15 мин.

Что такое компонент в Битриксе и как он работает

Каждый разработчик, впервые столкнувшийся с Битриксом, проходит через своеобразный обряд посвящения. Вначале кажется, что это просто CMS, где можно поправить HTML в визуальном редакторе или дописать пару строк CSS. Но однажды наступает момент, когда нужно изменить логику вывода новостей, отфильтровать товары по хитрому свойству или добавить на страницу нечто совершенно новое. И тут он впервые слышит это слово — «компонент». Для многих этот момент становится стеной. Система, казавшаяся понятной, вдруг превращается в черный ящик, полный непонятных файлов и странных переменных. Но стоит лишь раз заглянуть под капот, как эта стена рассыпается, превращаясь в набор удивительно логичных и мощных строительных блоков. Понимание компонентов — это тот самый щелчок, после которого разработка на Битрикс из мучения превращается в творчество.

Эта статья — ваш проводник в мир компонентов «1С-Битрикс». Мы не будем сыпать сухими терминами из документации. Вместо этого мы совершим путешествие: от философии, заложенной в эту архитектуру, до мельчайших деталей её работы. Мы разберем компонент на атомы — его файлы, логику, шаблон, параметры — и соберем обратно, чтобы вы не просто знали, что это, но и глубоко понимали, почему это работает именно так. Это знание — ключ к эффективной и профессиональной разработке на Битрикс.

Интеграции с 1С и API
717 2 мин.

Установка Composer в 1С-Битрикс

Установка Composer в проекте на 1С-Битрикс требует учета особенностей платформы, чтобы обеспечить корректную работу и интеграцию с системой.