Обновляем сайт без риска для работающей версии

Рано или поздно растущий проект требует все новых и новых «фич», порой требующих вмешательства непосредственно в жизненно важные части сайта, например базу данных, систему авторизации пользователей или принцип формирования url страниц.

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

Во время разработки двух серьезных проектов: один это система доставки товаров из США в Европу, другой система калькуляции налогов на товары ввозимые из одной страны в другую. Процесс внедрения обновлений был следующий.

1) На работающем проекте создавалась полная копия сайта, но выносилась она на отдельный домен, можно поддомен. Естественно закрывалось это все от индексации, та же самая http авторизация подходит как нельзя кстати.

2) Далее, создаем на сервере еще одну базу данных и заливаем туда базу нашего рабочего сайта.

3) Проверяем получили ли мы точную копию нашего сайта. Если нет, сносим все файлы, базу и заново с пункта 1.

4) Заливаем все наши обновления: файлы, выполняем все запросы.

5) Проверяем работоспособность нового сайта. Если все хорошо, повторяем пункт 4 на работающем сайте. В обратном случаем, заново сносим базу и все файлы, ищем ошибки в новом функционале, исправляем их и заново по списку, начиная с пункта 1.

Эти действия тривиальные, но зачастую муторные — возможно, при копировании сайта вам поможет статья о переносе сайта на новый хостинг. По сути вы делаете тоже самое.

Данный способ внедрения нового функционала подходит для тех сайтов, которые желательно не выключать на технического обслуживание