Переделывать работающий сайт прямо на боевом адресе – примерно то же, что чинить машину на ходу. Половина посетителей увидит недоделанный блок, форма заявки на пять минут отвалится, а поисковый робот успеет зайти именно в этот момент. Поэтому новую версию я всегда собираю на отдельной площадке, а на боевую переношу готовой.
Dev-сервер
Определение
Dev-сервер – отдельная площадка, закрытая от посетителей и поисковиков, где разрабатывают и принимают новую версию сайта. Боевой сайт в это время работает и принимает заявки, а переключение происходит только после приёмки.
4 мин 62 Обновлено 19 октября
Как это работает
Dev-сервер – копия рабочего окружения сайта на отдельном адресе: обычно технический поддомен вида dev.site.ru или отдельная площадка хостинга. У него своя база данных, свои файлы и свой набор данных для проверок. Посетитель туда не попадает: доступ закрывают паролем на уровне сервера или ограничением по списку адресов.
Копия – это не только файлы сайта. Переносятся ещё база данных, настройки CMS и содержимое разделов, а вот всё, что связано с внешним миром, на dev-площадке намеренно отключают или подменяют: письма с форм уходят не клиенту, а на служебный ящик, счётчики аналитики не ставят или ставят отдельные, приём оплат работает в тестовом режиме. Иначе тестовая заявка уедет менеджерам, а визиты разработчика испортят статистику боевого сайта.
Три контура: dev, staging, production
| Контур | Для чего | Кто пользуется | Доступ |
|---|---|---|---|
| Development (dev) | Пишется код, собираются шаблоны и структура данных | Разработчик | Закрыт паролем, часто ещё и по списку адресов |
| Staging (предпрод) | Максимально точная копия боевого для финальной проверки и приёмки | Заказчик, тестировщик, контент-менеджер | Закрыт паролем |
| Production (боевой) | Работающий сайт, который принимает заявки и приносит деньги | Посетители и клиенты | Открыт всем |
На небольших и средних проектах dev и staging совмещают: одна закрытая площадка, на которой сначала разрабатывают, потом наполняют, потом принимают. Важно не количество контуров, а два правила: посетитель никогда не видит незаконченную версию, а разработчик никогда не правит боевой сайт напрямую. Правка руками на проде опасна вдвойне – её невозможно повторить и она молча исчезнет при следующем обновлении, потому что не попала в репозиторий.
Как dev закрывают от поисковых систем
- Пароль на уровне сервера – самый надёжный способ: робот получает отказ в доступе и дальше не идёт. Именно так я закрываю dev по умолчанию.
- Запрет в robots.txt строкой Disallow: / – помогает, но это указание для добросовестных роботов, а не защита. Сам файл открыт всем, и адрес dev-площадки из него прекрасно виден.
- Метатег noindex на страницах – дополнительная страховка. Её главный риск в другом: этот тег легко забыть снять при переносе, и тогда от индексации окажется закрыт уже боевой сайт.
Опасность во всех случаях одна: если копия сайта проиндексируется, в выдаче окажутся два одинаковых сайта, и поисковая система сама решит, какой считать основным. Разбираться с этим потом дольше, чем один раз поставить пароль.
Зачем это нужно
Отдельный контур разработки – это не техническая роскошь, а защита действующего бизнеса. Что он даёт:
- Бизнес не останавливается. Пока делается новая версия, старый сайт работает, принимает заявки и продолжает получать трафик из рекламы и поиска.
- Ошибки видит команда, а не клиенты. Незаконченный блок, сломанная форма, тестовая цена – всё это остаётся внутри закрытого контура.
- Приёмка идёт по живым страницам. Клиент смотрит не картинку макета, а работающий раздел: кликает, заполняет форму, считает в калькуляторе.
- Наполнение идёт параллельно разработке. Каталог из сотен позиций можно завести в инфоблоки заранее и перенести на боевой уже наполненным.
- Откат ничего не стоит. Если новая версия не принята, боевой сайт просто остаётся прежним – откатывать нечего.
Отдельно стоит проговорить, кто и что делает на dev-площадке. Разработчик собирает структуру и шаблоны, контент-менеджер заводит разделы и карточки, клиент принимает готовые страницы. Все трое работают на одном адресе, и это заметно ускоряет согласование: замечание формулируется не словами "тут что-то не так с блоком на макете", а прямой ссылкой на страницу.
На 1С-Битрикс к этому добавляется чисто практическая причина. Часть настроек сайта хранится не в файлах, а в базе и в админке: шаблоны, компоненты, права, почтовые события, кэш. Проверить правку "по-быстрому на проде" здесь означает сломать страницу сразу для всех посетителей, а вернуть как было – не всегда одно движение.
Цена вопроса невелика: dev-площадка – это ещё один аккаунт хостинга или поддомен на том же сервере. Терять заявки, пока сайт переделывается на живую, дороже.
Пример
В кейсе "Колибри" всю разработку я вела на отдельном dev-сервере, не затрагивая действующий сайт клиента: пока создавалась новая версия, старый сайт продолжал работать и принимать заявки. На закрытой площадке собирались каталог, разделы решений, акции, блог, отзывы, формы и онлайн-калькулятор.
Там же прошло наполнение – черновики карточек и SEO-метаданных (SEO – поисковая оптимизация) с последующей ручной проверкой характеристик и сертификатов по документации производителя. После наполнения и приёмки сайт переносится с dev-сервера на production: подключаются домен и почта, настраиваются редиректы, robots.txt и sitemap.xml, после чего повторно проверяются формы, заявки и основные пользовательские сценарии.
Отдельным выводом проекта стало именно это: новая версия создавалась отдельно от рабочего сайта, и действующий сайт продолжал принимать обращения всё время, пока шли разработка, наполнение и согласование.
Частые вопросы
Чем dev-сервер отличается от staging и production?
Dev – площадка, где ведётся разработка. Staging – копия боевого окружения для финальной проверки и приёмки. Production – боевой сайт, который видят клиенты. На небольших проектах dev и staging обычно совмещают в одну закрытую площадку.
Обязательно ли нужен dev-сервер для небольшого сайта?
Если сайт уже работает и приносит обращения – да. Любая правка на боевом адресе видна посетителям сразу, включая неудачную. Для сайта, который ещё не запущен и не имеет трафика, отдельный контур не так критичен, но привычка полезная.
Как закрыть dev-сервер от поисковиков?
Надёжнее всего – паролем на уровне сервера: робот получает отказ и не индексирует страницы. Запрет в robots.txt и метатег noindex работают как дополнительные меры, но не защищают от захода людей и не гарантируют, что адрес не всплывёт. И noindex обязательно нужно снять при переносе на боевой домен.
Что будет, если тестовая копия сайта попадёт в индекс?
В выдаче окажутся два почти одинаковых сайта, и поисковая система сама выберет, какой считать основным – не обязательно ваш боевой. Ссылочный вес и позиции размазываются между копиями, а посетители могут попасть на неработающую версию с тестовыми ценами.
Можно ли наполнять сайт контентом на dev-сервере?
Не просто можно – так и нужно. Каталог, статьи и метаданные заводятся в инфоблоки заранее, и на боевой домен сайт переезжает уже наполненным. Иначе после запуска остаётся пустая витрина, которую неделями заполняют на глазах у посетителей.
Чем dev-сервер отличается от локальной копии на компьютере разработчика?
Локальная копия живёт на одной машине и её нельзя показать клиенту ссылкой. Dev-сервер доступен по адресу всем участникам проекта и работает в окружении, близком к боевому: та же версия PHP, та же CMS, те же настройки. Поэтому ошибки окружения всплывают до запуска, а не после.
Кому давать доступ к dev-серверу?
Всем, кто участвует в приёмке: заказчику, контент-менеджеру, при необходимости – подрядчику по рекламе. Доступ выдаётся паролем площадки, отдельные учётные записи в админке заводятся под роли. Порядок переноса на боевой домен разобран в отдельном термине про перенос на production.
Связанные термины
Материалы по теме
Что почитать дальше по этой теме