Обновление Битрикса сломало сайт: что делать

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

Обновление Битрикса сломало сайт: что делать
22 июля 20265 мин
Содержание
  1. Первые полчаса: порядок действий
  2. Когда откатываться, а когда нет
  3. Почему обновление вообще ломает сайт
  4. Как обновляться, чтобы это не повторилось
  5. Страх обновлений обходится дороже обновлений

Если сайт на Битриксе лёг сразу после обновления, порядок действий такой: остановить рекламу, оценить масштаб поломки, откатиться на резервную копию — и только потом разбираться, что именно сломалось, на тестовой копии. Восстановление обычно занимает часы, а не дни: критические вещи чинятся быстро, мелкие всплывают ещё неделю. Хуже всего не сама поломка, а время, пока никто не заметил, что сайт наполовину не работает.

Первые полчаса: порядок действий

  1. Выключите рекламные кампании. Пока сайт не принимает заказы, бюджет Директа уходит на страницы с ошибкой. В одном разборе из нашей практики клиент потерял на этом около 40 000 ₽ за сутки — отдельно от расходов на восстановление.
  2. Определите масштаб. Белый экран на всём сайте, отвалилась админка, не работают корзина и формы, слетела вёрстка — это разные поломки с разной срочностью.
  3. Найдите резервную копию, сделанную до обновления. Проверьте дату: бэкап, снятый уже после того, как всё сломалось, бесполезен.
  4. Зафиксируйте, что обновлялось и когда: какие модули, до какой версии, кто запускал. Без этого поиск причины превращается в гадание.
  5. Загляните в лог ошибок сервера. Белый экран обычно объясняется одной строчкой в логе — например, несовместимой версией PHP.

Когда откатываться, а когда нет

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

Поэтому решение зависит от того, что за сайт. Для корпоративного сайта с парой заявок в день откат почти безболезненный. Для интернет-магазина, где за это время прошли оплаты, откат базы недопустим: восстанавливают только файлы ядра и модулей, а базу оставляют текущую. Это дольше и требует разработчика, зато не теряются заказы.

Если резервной копии нет вообще, откатываться некуда — остаётся чинить по месту. Тогда важно не усугубить: снять копию текущего (сломанного) состояния прямо сейчас, чтобы было куда вернуться после неудачных попыток починки.

Почему обновление вообще ломает сайт

Чистый Битрикс из коробки обновляется незаметно. Ломается доработанный — и чем больше доработок, тем выше риск. Сколько сломается, зависит от того, сколько костылей наделали при программировании сайта: правки в ядре, скопированные и изменённые компоненты, шаблоны, завязанные на старое поведение системы.

Второй фактор — накопленный долг. Обновления, которые выходили два-три года, приходят разом, и вместе с ними вылезают устаревшие версии PHP и MySQL: Битрикс требует более свежих, и обновлять приходится ещё и программную часть хостинга. Разница ощутима в часах. При обновлении раз в три-шесть месяцев работа обычно укладывается в пять часов и почти ничего не ломается. Интернет-магазин «Чай 101» не обновлялся четыре года — итоговое обновление вылилось в двести с лишним часов работ.

Как обновляться, чтобы это не повторилось

Есть тонкость, которая объясняет, почему нормальный подрядчик не называет цену обновления сразу: без активной лицензии Битрикс не показывает список доступных обновлений. Оценить объём заранее физически нечем, поэтому оценка идёт в два этапа.

  1. Продлить лицензию — иначе не видно, что предстоит установить.
  2. Сделать тестовую копию сайта, обновить на ней лицензию.
  3. Провести аудит и дать первую оценку работ.
  4. Согласовать её с клиентом.
  5. Обновить тестовую копию и посмотреть, что сломалось.
  6. Дать вторую оценку — уже на починку сломанного, согласовать.
  7. Починить, протестировать и только после этого перенести на боевой сайт.

Вся страховка держится на двух пунктах: тестовая копия и «только после этого». Обновление Битрикса на боевом сервере без бэкапа выглядит примерно так: программист прежнего подрядчика в последний день договора накатил обновление на живой сайт и ушёл. Сутки сайт работал наполовину, критику починили за четыре часа, мелкие косяки всплывали ещё неделю, клиент потерял около 60 000 ₽ на восстановлении плюс те самые 40 000 ₽ рекламного бюджета. Разбор всей истории — в статье про техподдержку сайта: там же про то, как расходиться с подрядчиком, чтобы не получать таких подарков.

Страх обновлений обходится дороже обновлений

После неудачного обновления возникает соблазн больше не трогать работающий сайт никогда. Логика понятная, но она увеличивает счёт: чем дольше пауза, тем больше изменений накатывается разом и тем сильнее ломается.

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

Разумный график — раз в три-шесть месяцев, на тестовой копии, с бэкапом и не в пятницу вечером. А если после починки сайт стал заметно медленнее, причина обычно шире одного обновления: что ещё тормозит Битрикс и как это диагностировать — в опорной статье про тормоза сайта на Битриксе.

Услуга по темеТехподдержка сайтов на 1С-БитриксСайт на Битриксе работает, обновляется и не тормозит — без вашего участия. Мониторинг, обновления, правки и дежурство при сбоях.

Термины из этой статьи

Битрикс
1С-Битрикс — российская коммерческая CMS для корпоративных сайтов и интернет-магазинов. Отличается от бесплатных движков платной лицензией, штатной интеграцией с 1С и тем, что требует более мощного хостинга.
Бэкап
Бэкап — резервная копия файлов и базы данных сайта, из которой его можно восстановить. Ценность бэкапа определяется не фактом его наличия, а тем, когда последний раз проверяли, что он разворачивается.
Интернет-магазин
Интернет-магазин — сайт с каталогом, корзиной и оплатой, где заказ оформляется без участия менеджера. От каталога отличается именно возможностью купить прямо на сайте.
Техподдержка сайта
Техподдержка сайта — регулярные работы по поддержанию его работоспособности: обновления, исправление ошибок, мелкие доработки и реакция на сбои. Обычно продаётся пакетом часов в месяц.
Хостинг
Хостинг — аренда серверных мощностей, на которых физически живёт сайт. От него напрямую зависит скорость загрузки: на слабом тарифе тяжёлый сайт будет тормозить независимо от того, как он написан.
Яндекс Директ
Яндекс Директ — рекламная система Яндекса, через которую объявления попадают в поиск и на сайты-партнёры. Основной канал платного трафика на российском рынке.

Все термины