Кэш ускоряет сайт, но иногда мешает увидеть изменения: правки контента или шаблона «не подхватываются». Сброс кэша — первое, что нужно сделать в такой ситуации. Разберём все штатные способы очистки в 1С-Битрикс — от кнопки на панели до чистки файлов вручную.
Где хранится кэш и что именно чистить
Прежде чем чистить, полезно понимать, что в Битрикс несколько независимых уровней кэширования — и сброс одного не затрагивает другие.
- Кэш компонентов и меню — файлы в каталоге
/bitrix/cache/. Сюда попадает вёрстка компонентов, результаты выборок, кэш меню и включаемых областей. - Управляемый (тегированный) кэш — служебные данные в
/bitrix/managed_cache/и в базе данных. Сбрасывается по тегам при изменении элементов инфоблоков. - Кэш композитного сайта — статические HTML-копии страниц в
/bitrix/html_pages/. - Кэш ядра и настроек — файлы автозагрузки классов, кэш опций модулей.
- Кэш меню админки и стартовых страниц — отдельный слой для интерфейса административной части.
Если кэш хранится не в файлах, а в memcached или другом хранилище (это задаётся в /bitrix/.settings.php), ручное удаление папок не сработает — очищать нужно через админку или перезапуск сервиса.
Кнопка сброса на административной панели
Самый быстрый способ для отдельной страницы — кнопка на верхней панели управления (при включённом режиме правки).
- Откройте нужную страницу публичной части под пользователем с правами администратора.
- На верхней панели нажмите кнопку «Сбросить кэш» (значок с круговой стрелкой) или откройте меню кнопки для выбора области сброса.
- Выберите вариант: сбросить кэш только текущей страницы или весь кэш сайта.
Этот способ удобен, когда правки видны на конкретной странице и не хочется сбрасывать кэш всего сайта. Для отдельной страницы также работает добавление к URL параметра ?clear_cache=Y (только для администратора).
Параметр ?clear_cache_session=Y сбрасывает кэш всех страниц, открытых в рамках текущей сессии — полезно при отладке.
Полная очистка через админку
Основной способ сбросить весь кэш сайта целиком — через раздел автокэширования.
- Перейдите в Настройки → Настройки продукта → Автокэширование.
- Нажмите кнопку «Очистить файлы кэша» (или «Очистить весь кэш»).
- Дождитесь завершения — на крупных сайтах чистка каталога
/bitrix/cache/может занять от нескольких секунд до минут.
В этом же разделе включается и отключается автокэширование в целом. Отключать его на «боевом» сайте не рекомендуется — это резко увеличивает нагрузку на базу данных.
Дополнительные инструменты чистки собраны в разделе Настройки → Инструменты → Очистка кэша (в зависимости от версии — «Очистка файлов кэша»). Там доступны отдельные чекбоксы: кэш компонентов, управляемый кэш, кэш меню, кэш CSS/JS, статистика, кэш страниц композита. Это позволяет чистить точечно, не сбрасывая всё сразу.
Тегированный кэш и композитный сайт
Эти два слоя часто требуют отдельного внимания, потому что кнопка «Очистить файлы кэша» не всегда очищает их полностью.
Тегированный кэш
При изменении элемента инфоблока Битрикс сбрасывает только кэш, помеченный соответствующим тегом. Если тегированный кэш включён неверно или теги «не проставлены» в компонентах, изменения не подхватятся. Управляется в Настройки → Настройки продукта → Автокэширование (флаг тегированного кэша) и в настройках модуля кэширования.
Композитный сайт
Композит хранит готовые HTML-страницы отдельно. Сбросить их можно в Настройки → Настройки продукта → Композитный сайт, вкладка со статистикой — кнопка «Сбросить кэш композита». Если после правок «шапки» или «подвала» страница не меняется у анонимного посетителя — почти всегда виноват именно неочищенный композитный кэш.
Ручная чистка файлов через FTP/SSH
Если админка недоступна (например, сайт «упал» из-за битого кэша) или очистка через интерфейс не завершается, кэш удаляют файлово. Важно: удалять нужно содержимое папок, а не сами папки.
| Каталог | Что содержит | Безопасно чистить |
|---|---|---|
/bitrix/cache/ | Кэш компонентов, меню, выборок | Да |
/bitrix/managed_cache/ | Управляемый (тегированный) кэш | Да |
/bitrix/html_pages/ | Страницы композитного сайта | Да |
/bitrix/stack_cache/ | Стековый кэш | Да |
По SSH удобно очистить содержимое так:
rm -rf /path/to/site/bitrix/cache/*rm -rf /path/to/site/bitrix/managed_cache/*rm -rf /path/to/site/bitrix/html_pages/*
После чистки проверьте права и владельца файлов (обычно веб-сервер должен иметь право пересоздать каталоги). НЕ удаляйте папку /bitrix/managed_cache/ целиком без возможности восстановить структуру — при следующем обращении Битрикс её пересоздаст, но лучше чистить именно содержимое.
Сброс из кода и планировщика
Для автоматизации и разработки кэш сбрасывают программно. Основной инструмент — глобальный объект кэш-менеджера.
- Полная очистка:
$GLOBALS["CACHE_MANAGER"]->CleanAll(); - Сброс тегированного кэша по тегу:
$GLOBALS["CACHE_MANAGER"]->ClearByTag("iblock_id_5"); - Очистка каталога кэша:
BXClearCache(true, "/путь/относительно/cache");
Такой код можно выполнить через командную PHP-строку в админке: Настройки → Инструменты → Командная PHP-строка. Это удобно, когда нужно сбросить кэш по конкретному тегу, не трогая остальное.
Регулярную чистку устаревшего кэша выполняет системный агент. Если сайт переведён на cron вместо hit-агентов, убедитесь, что задание планировщика реально выполняется, иначе «мусорные» файлы кэша будут копиться.
Частые ошибки
Типичные ситуации, из-за которых сброс кэша «не работает»:
- Чистят файлы, а кэш в memcached. Если хранилище кэша вынесено в
memcached, удаление/bitrix/cache/ничего не даёт — нужно чистить через админку или перезапускать сервис memcached. - Забыли про композит. Правки в шаблоне видны администратору, но не анонимному посетителю — почти всегда причина в неочищенном кэше композитного сайта.
- Кэшируется CDN или nginx. Страница отдаётся из внешнего кэша (CDN, прокси, кэш браузера). Проверьте заголовки ответа и очистите кэш на стороне CDN.
- Удалили саму папку кэша. При удалении каталога целиком вместе с правами веб-сервер может не пересоздать его — появляются ошибки записи. Чистите содержимое, а не папку.
- Не тот тег. При
ClearByTag()указали неверный тег — кэш конкретной страницы остаётся. Проще сбросить весь кэш и убедиться, что проблема именно в нём. - Автокэширование выключено «на потом». Отключённое автокэширование маскирует проблему, но многократно повышает нагрузку на БД. На бою держите его включённым.
Итог
В 1С-Битрикс кэш многослойный, и универсального «одной кнопки» на все случаи нет. Рабочий порядок действий:
- Начните с кнопки «Сбросить кэш» на панели или очистки через Настройки → Настройки продукта → Автокэширование.
- Если правки не видны анонимно — сбросьте кэш композита.
- Для точечных задач используйте тегированный кэш и
ClearByTag(). - Если админка недоступна — чистите содержимое каталогов
/bitrix/cache/,/bitrix/managed_cache/,/bitrix/html_pages/. - Проверьте, не кэширует ли ответ memcached, nginx или CDN.
Регулярно контролируйте, что агент очистки кэша (или задание cron) действительно отрабатывает — тогда кэш не будет разрастаться и мешать работе сайта.