#Как устроено кеширование
В Битрикс несколько уровней кеша: кеш компонентов (bitrix/cache), управляемый кеш (bitrix/managed_cache), кеш HTML-страниц композитного сайта (bitrix/html_pages), кеш в памяти (memcached/redis) и кеш браузера. Композитный сайт отдаёт статичную версию страницы, а динамические блоки подгружает отдельно. Ошибки появляются, когда кеш устарел после изменения кода или шаблона, не совпадают права, закончился диск, режим работает неправильно с авторизованными пользователями или включён CDN/прокси с собственным кешем.
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Старый кеш после правки шаблонаНе сброшен. | Изменения не видны. | Очистите кеш. |
| Нет прав на записьНеверный владелец. | Ошибка записи кеша. | Исправьте chown. |
| Кончилось местоДиск полон. | Кеш не создаётся. | Очистите, увеличьте. |
| Композитный режим и персонализацияДинамика не вынесена. | Чужие данные у пользователя. | Используйте динамические области. |
| Конфликт с CDNКеш на двух уровнях. | Старый контент. | Очистите кеш CDN. |
| Недоступен memcached/redisСлужба остановлена. | Ошибка кеша. | Запустите службу, переключите на файлы. |
#Порядок действий
- Очистите системный кеш в административной панелиВойдите в административную панель «1С-Битрикс» как администратор и откройте раздел «Настройки → Настройки продукта → Автокеширование» либо найдите пункт очистки кэша через поиск меню (название различается по редакциям). Выберите штатную очистку нужных компонентов, затем откройте изменённую страницу в приватном окне. Если её содержимое обновилось, причина была в прикладном кэше; новые правки вручную в файлы не нужны.
- Проверьте и очистите кеш композитного сайтаЕсли включён композитный сайт, в админке откройте «Настройки → Производительность → Композитный сайт» (в некоторых версиях путь иной), проверьте его состояние и выполните штатную очистку HTML-кэша. Разделяйте кеширование динамической и статической части: устаревшая цена, корзина или данные пользователя могут указывать на неверно размеченную динамическую область.
- Если админка недоступна, очистите кеш вручнуюЕсли административная панель не открывается, сохраните копию базы и каталогов сайта, а затем выясните реальный
DOCUMENT_ROOTи владельца файлов. Удаление содержимого каталогов/bitrix/cache,/bitrix/managed_cache,/bitrix/stack_cache,/bitrix/html_pagesдопускается только как согласованная операция с пониманием, что кэш пересоздаётся и может вызвать кратковременный скачок нагрузки. Предпочтите штатную очистку через код Битрикс, если он работает. - Проверьте права на каталоги кешаПо SSH выполните
ls -ld /путь/к/сайту/bitrix/cache /путь/к/сайту/bitrix/managed_cache, подставив путь из панели хостинга. Сравните владельца и группу с пользователем PHP-FPM сайта; проверяйте также возможность записи в каталог. Не назначайте777и не меняйте владельца рекурсивно наугад — это может открыть доступ другим сайтам сервера. - Проверьте свободное место на дискеПо SSH выполните
df -hдля файловой системы сайта иdf -iдля числа inode. Если раздел или квота заполнены, кэш может не обновляться из-за невозможности создать новые файлы. Найдите большие файлы и резервные копии, удаляйте только подтверждённо ненужное после проверки сохранённого архива. - Временно отключите композитный сайт и проверьте проблемуЕсли предыдущие проверки не помогли, согласуйте короткое отключение композитного режима в административной панели и запишите его исходные настройки. Проверьте изменённую страницу без него; если она стала актуальной, верните режим и настройте исключения/динамические области. Не оставляйте весь механизм отключённым бессрочно без оценки нагрузки.
- Проверьте динамические области в шаблонеОткройте шаблон компонента в редакторе и проверьте, не выводятся ли персональные или быстро меняющиеся данные как статическая HTML-область. Для разработчика Битрикс важно использование штатных механизмов динамических областей и корректных ключей кэша; прежде чем править PHP-код, сделайте копию файла и протестируйте изменение на стенде.
- Проверьте внешний кешЕсли обновление всё ещё не видно, последовательно проверьте кеш CDN, обратного прокси и Redis/Memcached, если они действительно используются; время получения страницы и заголовки ответа помогут найти уровень. Очищайте кэш только нужной зоны/сайта, чтобы не сбросить данные других проектов. Убедитесь, что после очистки новая версия страницы видна и обычным, и авторизованным посетителям.
- Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
#Типичные ошибки
#Проверка режима композита
В админке: «Настройки → Производительность → Композитный сайт». Проверьте, что статус «Включено», домены и исключения указаны верно. Для страниц с формами и личным кабинетом добавьте исключения в списке «Исключения по URL». Если композитный сайт ломает вёрстку, отключите его и найдите компонент, который выводит персональные данные без динамической области. Проверка по логам: tail -n 50 /var/www/site/bitrix/modules/error.log.