Тестовая копия сайта — это полный двойник рабочего сайта на отдельном адресе, где программист вносит и проверяет изменения, прежде чем они увидят клиенты. Без неё любая правка превращается в эксперимент на живых заказах: поменяли кнопку — перестала работать корзина, обновили модуль — упал обмен с 1С. Ниже — семь ошибок, которые мы чаще всего видим у проектов, пришедших к нам после «быстрых правок», и то, как устроен процесс, при котором ошибка не превращается в простой.
- Безопасная правка проходит четыре точки: бэкап, тестовая копия, проверка связанных функций, перенос с возможностью отката.
- Копия должна совпадать с рабочим сайтом по версии PHP, модулям и данным, иначе «на копии работало» ничего не гарантирует.
- Тестовая копия не должна отправлять письма клиентам, заказы в 1С и попадать в поиск.
Почему правки «на живом» сайте так опасны
Сайт — это не набор независимых страниц. Шаблон шапки подключается на всех страницах, скрипт корзины связан с расчётом доставки, а форма заявки — с CRM и почтой. Изменение в одном месте отзывается в трёх других, и далеко не всегда сразу: ошибка в оформлении заказа может проявиться только у тех, кто платит картой с телефона.
Когда правка вносится прямо на рабочем сайте, эти последствия первыми находят клиенты. Вы узнаёте о проблеме из звонка «не могу оформить» или из провала заявок в CRM через два дня. За это время теряются заказы, а следы того, что именно сломало сайт, перемешиваются с новыми правками. С такими последствиями к нам регулярно приходят на исправление ошибок — и первым делом мы ищем, какая правка их вызвала.
Ошибки 1–2: правят без копии и без бэкапа
1. Изменения вносят сразу на рабочем сайте
«Там поправить одну строчку, зачем копия» — самая дорогая фраза в поддержке сайтов. Строчка оказывается в общем шаблоне, ошибка в ней кладёт весь сайт, а программист чинит её в спешке, пока клиенты видят белый экран. Даже опытный разработчик ошибается — разница лишь в том, кто увидит ошибку первым: он на копии или ваш покупатель.
2. Нет свежего бэкапа или его никто не проверял
Резервная копия «где-то у хостинга» — не бэкап, пока вы не знаете, от какого она числа, включает ли базу данных и сколько времени займёт восстановление. Бывает, что последняя копия недельной давности, и откат к ней означает потерю всех заказов и регистраций за неделю. Перед каждым изменением нужна свежая копия файлов и базы, а раз в квартал — пробное восстановление.
Восстановить бэкап поверх рабочего сайта, чтобы «вернуть как было». Вместе с ошибкой пропадают заказы, оплаты и изменения остатков, пришедшие после создания копии. Откатывать нужно конкретные изменения кода, а не весь сайт целиком.
Ошибки 3–4: нет истории изменений, копия не похожа на оригинал
3. Нет контроля версий
Если код хранится только на сервере, никто не может сказать, что менялось на прошлой неделе и кто это сделал. Система контроля версий, например Git, записывает каждое изменение с автором и комментарием. Откат изменений на сайте превращается из археологии в одну команду: вернуть предыдущую версию конкретного файла или всей выкладки.
Отдельный плюс для владельца: история изменений — это страховка при смене подрядчика. Новая команда видит, что и зачем делали предшественники, а не разбирается в коде вслепую.
4. Тестовая копия отличается от рабочего сайта
Копию сделали год назад, с тех пор на рабочем сайте обновили CMS, поменяли PHP и добавили модули. Правка проверена на старом окружении, а на боевом сайте ведёт себя иначе. Dev-версия сайта полезна только тогда, когда совпадает с рабочей по версиям платформы, модулей и PHP, а данные в ней достаточно свежие, чтобы воспроизвести реальные сценарии.
Ошибки 5–7: проверяют не то и выкладывают не тогда
5. Проверяют только саму правку
Программист поменял фильтр каталога, убедился, что фильтр работает, и сдал задачу. А то, что после этого перестала открываться карточка товара на телефоне, никто не проверил. Хорошая проверка охватывает функцию и всё, что вокруг неё: формы, корзину, оплату, мобильную версию, интеграции.
6. Выкладывают в часы пик
Перенос изменений в разгар рабочего дня или в пятницу вечером, когда некому реагировать на проблемы до понедельника, умножает цену любой ошибки. Изменения переносят тогда, когда трафик минимален и команда на связи, — обычно ночью или ранним утром.
7. Копия ведёт себя как настоящий сайт
Тестовый сайт открыт для поисковиков и попадает в индекс дублем рабочего. Или отправляет настоящим клиентам письма о «новых заказах», выгружает тестовые заказы в 1С и CRM, проводит платежи. Копию закрывают паролем и запретом индексации, а почту, обмен и платёжные модули переключают в тестовый режим.
ПРАВИЛОЕсли исправление нельзя откатить за минуты, его нельзя выкладывать.
Как вносить изменения на сайт без поломок: процесс
У нас исправление ошибок на сайте и любые доработки идут по одной схеме. Она не замедляет работу: правка, которую раньше вносили «за пять минут на живом», занимает столько же, просто в другом месте.
- Резервная копияФайлы и база данных перед каждым изменением — чтобы откат занимал минуты.
- Работа на тестовой копииОкружение совпадает с рабочим, письма и обмен в тестовом режиме.
- Проверка связанных функцийОколо 2 часов на исправленную функцию, соседние сценарии и разные устройства.
- Ваше подтверждениеВы смотрите результат на копии и даёте добро на перенос.
- Перенос и отчётВ согласованное время, с готовым откатом, и письменный отчёт: что было, что сделали.
Для новых функций добавляются автотесты связанных сценариев и запуск в ночное окно. Так устроена разработка нового функционала: спринты по 1–2 недели с демо на копии, а на рабочий сайт уходит уже принятая работа. Продажи в это время не останавливаются.
- Ошибки находят программист и вы, а не покупатели.
- Откат за минуты вместо восстановления всего сайта.
- История изменений остаётся у вас при смене подрядчика.
- Можно спокойно принимать работу на копии.
- Копию нужно поддерживать в актуальном состоянии.
- Срочная правка проходит те же шаги, хоть и быстрее.
- Нужно выделять время на проверку результата с вашей стороны.
Откат изменений на сайте: что должно быть готово заранее
Откат — не аварийная процедура, а обычная часть выкладки. Перед каждым переносом должны быть понятны три вещи: какие файлы и таблицы меняются, как вернуть их прежнее состояние и сколько это займёт. Если на копии всё работало, а на рабочем сайте поведение отличается, правильная реакция — вернуть прежнее состояние, разобраться в разнице окружений и перенести повторно, а не чинить на ходу.
Если тестовой копии, бэкапов и мониторинга у вашего сайта пока нет, проще всего получить их вместе с технической поддержкой сайта: ежедневные резервные копии с восстановлением за час, мониторинг 24/7 и обновления платформы с резервной копией перед каждым обновлением и проверкой после. Тариф «Стандарт» — 120 000 ₸ в месяц с 5 часами на доработки.
Чек-лист безопасной правки
- Есть тестовая копия на отдельном адресе, закрытая паролем и от индексации.
- Версии CMS, модулей и PHP на копии совпадают с рабочим сайтом.
- Письма, обмен с 1С, CRM и оплата на копии работают в тестовом режиме.
- Перед изменением сделан свежий бэкап файлов и базы.
- Код хранится в системе контроля версий, у вас есть к ней доступ.
- Проверены исправленная функция и связанные: формы, корзина, оплата, мобильная версия.
- Перенос назначен на время минимального трафика, команда на связи.
- Понятно, как откатить изменения и сколько это займёт.
- После переноса получен отчёт: что изменено и почему.
Что делать дальше
Спросите своего программиста или подрядчика, по каким пунктам чек-листа у вас «да». Если больше трёх ответов «нет» или «не знаю», сайт держится на удаче. Начните с минимума — свежего бэкапа и тестовой копии, — затем подключите контроль версий. Если на сайте уже что-то сломалось после правок, отправьте нам описание на бесплатную диагностику: найдём, какое изменение вызвало сбой, исправим на копии и оставим отчёт, который пригодится любой следующей команде. Сколько стоят такие исправления, мы разбирали в статье «Сколько стоит исправить ошибку на сайте».
Что такое dev-версия сайта?
Это рабочая копия сайта для разработки и проверки изменений: тот же код, похожие данные, но на отдельном адресе, закрытом от клиентов и поисковиков.
Сколько стоит сделать тестовую копию сайта?
Отдельной строкой в наших работах её нет: при исправлении ошибок и доработках работа на копии уже входит в стоимость, а в поддержке сайта перед каждым обновлением делается резервная копия и затем проверка работы сайта.
Как откатить изменения на сайте, если всё сломалось?
Вернуть изменённые файлы из системы контроля версий или из бэкапа, сделанного прямо перед правкой. Восстанавливать старую копию всего сайта опасно — пропадут новые заказы.
Можно ли вносить мелкие правки текста без копии?
Тексты и картинки через админку — да, это не меняет код. Любые изменения шаблонов, скриптов, модулей и настроек — только через копию.