Вы сохранили новый баннер или цену в админке "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/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/cache/ хранит компоненты, managed /bitrix/managed_cache/ - данные модулей с тегами, composite /bitrix/html_pages/ - готовый HTML целиком. Для разовой правки текста Битрикс часто сам сбрасывает теги. Полный сброс нужен, когда изменения не видны на фронте или после обновления ядра CMS.
Делайте: начинайте с минимального сброса по таблице. Не делайте: rm -rf на managed_cache.
Очистите кэш через админку: Автокеширование пошагово
Штатный путь сброса: Настройки - Настройки продукта - Автокеширование - вкладка "Очистка файлов кеша". Здесь безопасно работать контент-менеджеру без доступа к серверу.
- Откройте вкладку "Очистка файлов кеша" и нажмите только устаревшие - минимальный риск для скорости.
- Если правки не видны - выберите очистить все файлового кэша.
- При изменении структуры разделов сбросьте кэш меню отдельным пунктом.
- Для управляемого кэша нажмите весь управляемый кэш - система пересчитает квоту, в отличие от ручного удаления папки.
- Для композитного HTML выберите все страницы HTML-кэша или зайдите в "Композитный сайт - Страницы" и сбросьте конкретный URL.
- Дождитесь сообщения об успехе и откройте проблемную страницу в режиме инкогнито.
Не путайте с Панелью производительности - там мониторинг, не сброс. Рекомендация: для рутины хватит "только устаревшие"; полный сброс - после релиза шаблона.
Сбросьте 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 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 одного "очистить все" мало. Действуйте по порядку:
- Бэкап до обновления; обновление ядра - на тестовой копии.
- После релиза: "устаревшие" - "все" файлового - "весь управляемый" - "все HTML-страницы".
- Проверка в инкогнито; на VPS -
opcache_reset()при необходимости. - Агент clean_expire_cache и cron на cron_events.php активны.
После релиза пройдите чек-лист после запуска сайта. Не пропускайте композит после смены CSS.
Проверьте opcache, CDN и браузер после сброса CMS
Если после полной очистки CMS фронт старый - проблема вне слоев Битрикс.
- Инкогнито или другой браузер.
- Отключите композит на проблемном URL и сравните.
- 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 активны.