Как загрузить готовый сайт на хостинг: файлы, база данных и домен
Чтобы загрузить готовый сайт на хостинг, нужно разместить предназначенные для публикации файлы в правильном каталоге, подключить базу данных и серверные настройки, если они используются, привязать домен и проверить работу по HTTPS. Копирование архива — лишь один этап. Результат считается готовым, когда посетитель может открыть нужную страницу и выполнить действие: отправить заявку, войти в кабинет или оформить заказ.
Ниже — порядок первой публикации проекта, который уже разработан на компьютере или в тестовой среде. Он подходит как основа для HTML-сайта, WordPress и приложений со сборкой. Названия кнопок у хостеров различаются, поэтому важнее понимать, какой результат нужен на каждом шаге.
Сначала определите, какой сайт вы публикуете
Одинаковая папка с файлами может содержать готовую страницу, исходный код приложения или только визуальную часть проекта. От этого зависит, достаточно ли обычного размещения файлов либо потребуются база, программная среда и отдельный процесс приложения.
| Тип проекта | Что размещают | Что потребуется дополнительно |
|---|---|---|
| Статический HTML-сайт | HTML, CSS, JavaScript, изображения и другие публичные ресурсы | Для отправки форм и других динамических действий — работающий обработчик или внешний сервис |
| WordPress и похожая CMS | Файлы системы, темы, плагины, загруженные материалы и данные проекта | Совместимая серверная среда, база данных и конфигурация подключения |
| Фронтенд со статической сборкой | Результат сборки, например содержимое dist при соответствующей настройке | Правильные пути к ресурсам; доступный API, если приложение его использует |
| Приложение с серверной логикой или SSR | Комплект для развёртывания по инструкции используемого стека | Поддерживаемая среда, зависимости, процесс приложения и необходимые сервисы |
Наличие JavaScript не означает, что нужен Node.js на хостинге: код может выполняться в браузере. И наоборот, современный интерфейс может зависеть от серверного рендеринга или API. Уточните у разработчика формат публикации, а не определяйте его только по названию технологии.
Что спросить у разработчика перед передачей
Попросите назвать каталог для публикации, команду сборки при её наличии, версии среды, состав данных и порядок запуска. Также нужны адреса внешних сервисов, перечень переменных окружения без отправки секретов в общий чат и список операций для проверки. Если этого нет, архив нельзя считать полностью подготовленным к размещению.
Макет в графическом редакторе и сохранённая браузером копия страницы не заменяют готовый проект. Во втором случае могут отсутствовать обработчики, база и исходные ресурсы. Проверьте комплект до оплаты подходящей инфраструктуры и до начала загрузки.
Что подготовить перед тем, как залить сайт на хостинг
Соберите небольшой паспорт публикации. Он экономит время на уточнениях и помогает отделить ошибку загрузки от несовместимости приложения с площадкой.
- Рабочий комплект файлов и, при необходимости, экспорт базы данных.
- Инструкцию развёртывания и список требуемых версий, расширений и служб.
- Доступ к панели хостинга и выбранному способу передачи файлов.
- Право управлять доменом и DNS либо контакт ответственного за настройки.
- Параметры почты, API, оплаты и других интеграций, которые использует сайт.
- Список основных страниц и действий для приёмки результата.
Проверьте совместимость до загрузки
Сравните требования проекта с возможностями услуги: версию PHP или другой среды, расширения, поддержку базы, фоновых процессов, планировщика и объём хранения. Для WordPress ориентиром служат официальные требования, но плагины и тема могут добавлять свои условия. Наличие кнопки установки CMS не доказывает совместимость любого готового сайта на этой CMS.
Выбирайте поддерживаемую конфигурацию, проверенную разработчиком. Если код требует устаревшей среды, согласуйте его подготовку к запуску до публикации.
Сохраните исходный комплект
Оставьте неизменяемую копию полученных файлов и выгрузки данных. Работайте с отдельной копией для публикации. Так можно повторить загрузку и сопоставить изменения, если при распаковке или настройке что-то пошло не так. После запуска потребуется отдельный регулярный процесс резервного копирования.
Проверьте состав архива: в публичную часть не должны случайно попасть репозиторий, дампы базы, переписка, локальные резервные копии или файлы с паролями. При этом необходимые служебные файлы приложения, например правила маршрутизации, нельзя исключать просто потому, что их имена начинаются с точки.
Шаг 1. Создайте сайт в панели и найдите его корневой каталог
В панели хостинга создайте новый сайт или проект, укажите его доменное имя и выберите каталог, из которого веб-сервер будет отдавать содержимое. Этот каталог называют корнем сайта, document root или публичной директорией. Он не обязательно совпадает с домашней папкой аккаунта.
Почему нельзя всегда ориентироваться на public_html
Путь зависит от провайдера, панели и приложения. В одном аккаунте может быть несколько сайтов, каждый со своим каталогом. Смотрите привязку конкретного домена в панели: случайная загрузка в соседнюю папку не исправляется изменением DNS.
| Площадка или среда | Где уточнить каталог | На что обратить внимание |
|---|---|---|
| Beget | Раздел «Сайты» и переход к файлам выбранного сайта | Документация описывает директорию сайта с вложенной public_html; проверьте привязанный домен |
| Timeweb | Настройки сайта и файловый менеджер | Используйте каталог именно своего проекта, а не первую найденную public_html |
| REG.RU | Панель конкретной услуги и настройки домена/сайта | Путь определяется панелью и настройкой; сверяйте его с инструкцией своей услуги |
| Приложение с отдельной public-директорией | Инструкция развёртывания фреймворка | Публичным делают предназначенный для этого каталог, а не весь проект |
Для сверки используйте официальные инструкции: управление сайтами Beget, загрузка файлов в Timeweb и размещение готового сайта в REG.RU. Они помогают сопоставить общий порядок с вашей панелью.
Заглушка хостинга и стартовый файл
В новой директории может лежать стандартная страница провайдера. Сначала установите, какой это файл, и сохраните его копию. Затем уберите или замените именно заглушку, когда подготовлены файлы проекта. Не удаляйте содержимое всего аккаунта: рядом могут находиться другие сайты и служебные каталоги.
Главная страница обычно открывается через настроенный индексный файл, например index.html или index.php. Если в корне лежит только папка с названием архива, проект окажется на лишнем уровне вложенности. Проверяйте расположение стартового файла относительно document root, а не только сообщение «архив распакован».
Шаг 2. Подготовьте сборку и план запуска приложения
Этот этап нужен, если разработчик передал исходники, а не готовые файлы для публикации. У разных стеков отличается и комплект, и порядок запуска; универсальная команда для любого сайта отсутствует.
Статическая сборка: публикуется результат
В проекте на Vite с соответствующим скриптом production-сборку выполняют командой npm run build. По умолчанию результат попадает в dist, но каталог может быть изменён настройкой. Это описано в официальном руководстве Vite. На обычный статический хостинг передают полученные публичные файлы, а не исходники вместо них.
Проверьте базовый путь: размещение на example.com и в example.com/app/ может требовать разных настроек сборки. Адреса API тоже должны соответствовать рабочему окружению. Команда preview предназначена для локального просмотра результата; она не заменяет настройку промышленного веб-сервера.
Переменные, включённые во фронтенд, видны пользователю. Vite отдельно предупреждает, что значения VITE_* попадают в клиентский код. Нельзя спрятать пароль базы в такой переменной, просто положив исходное значение в файл .env. Секретная операция должна выполняться на подходящей серверной стороне.
SSR, Laravel и другие серверные проекты
Для серверного приложения проверьте установку зависимостей, запуск процесса, подключение базы и хранилища, а также задачи по расписанию и обработчики очередей, если они используются. Публикация интерфейса без backend может дать красивую главную страницу с неработающими действиями.
У Laravel веб-сервер должен обслуживать public-директорию; перенос index.php в корень всего проекта может открыть конфигурационные файлы. Это прямо отмечено в руководстве Laravel по развёртыванию. Если панель не позволяет настроить нужную модель, уточните поддерживаемый вариант размещения вместо произвольного перемещения файлов.
Шаги миграций базы, формирования кеша и запуска фоновых служб берите из инструкции конкретного проекта. Они могут менять данные и зависят от версии приложения. До запуска подтвердите, что команды направлены в новую рабочую среду и что необходимые данные уже подготовлены.
Шаг 3. Загрузите файлы через панель или защищённое подключение
Для небольшой публикации удобен файловый менеджер. Для большого количества файлов и повторяемой передачи — клиент с поддержкой SFTP или FTPS, если соответствующий протокол доступен у провайдера. Выберите способ, для которого у вас есть правильные реквизиты и понятный отчёт о завершении.
Загрузка архива через файловый менеджер
- Откройте каталог нужного сайта и проверьте его привязку к домену.
- Загрузите подготовленный архив поддерживаемого формата. Учитывайте ограничения размера файла и свободное место для распаковки.
- Распакуйте архив в предусмотренное место. Если это статический сайт, проверьте, что его публичные файлы находятся на нужном уровне.
- Сверьте основные каталоги, стартовый файл и необходимые скрытые файлы.
- После проверки результата удалите загрузочный архив из публичной директории. Исходную копию храните отдельно.
Если в пакете есть серверная конфигурация или экспорт базы, не размещайте его целиком в общедоступном каталоге. Загружайте такие компоненты в предусмотренное закрытое место или через соответствующий инструмент панели. Архив с расширением ZIP тоже может скачиваться по прямому адресу.
Передача по SFTP или FTPS
Возьмите из панели адрес подключения, протокол, порт и имя пользователя. SFTP работает через SSH; FTPS защищает FTP с помощью TLS. Это разные варианты, и выбор похожего названия в клиенте не делает реквизиты взаимозаменяемыми. Если площадка предоставляет ограниченный доступ к каталогу проекта, используйте его для работы с этим сайтом.
Например, Beget указывает, что для SFTP нужно включить SSH-доступ соответствующему аккаунту. У другого провайдера порядок может отличаться. При первой проверке ключа сервера сверяйте его отпечаток с надёжными сведениями поставщика; для FTPS проверяйте сертификат подключения.
После подключения различайте локальную и удалённую панели клиента. Откройте папку проекта на компьютере и целевой каталог на сервере, запустите передачу, дождитесь завершения очереди и проверьте список неудачных операций. Успешная загрузка нескольких первых файлов не подтверждает передачу всего комплекта.
Права доступа, имена и регистр
Сохраняйте структуру каталогов и точные имена. На типичном Linux-хостинге регистр важен: ссылка на Logo.png может не найти logo.png. Проверьте пути к изображениям и стилям, особенно если разработка велась в среде, где такая ошибка не проявлялась.
Права чтения и записи задают по требованиям приложения и модели пользователей хостинга. Не назначайте 777 всему дереву ради устранения ошибки: сначала выясните, какой процесс и к какому каталогу должен получить доступ. Для загрузок, кеша и журналов могут требоваться отдельные разрешения, которые не нужны остальным файлам.
Шаг 4. Подключите базу данных и настройки готовой CMS
Обычному HTML-сайту база может не понадобиться. Для готового WordPress или другого проекта с данными одной передачи файлов недостаточно: страницы, настройки и пользователи часто находятся в базе. Используйте комплект, соответствующий той же версии файлов.
Создайте базу, пользователя и выполните импорт
- В панели создайте отдельную базу для проекта и пользователя с необходимыми правами на неё.
- Сохраните выданные параметры: имя базы, пользователя, пароль, адрес сервера и порт, если он требуется.
- Выберите именно новую целевую базу и импортируйте подготовленную выгрузку через инструмент панели или предусмотренный способ.
- Проверьте завершение импорта, наличие ожидаемых таблиц и отсутствие сообщений об ошибках.
- Внесите параметры подключения в конфигурацию приложения и проверьте связь.
Адрес базы не всегда localhost. Имя пользователя может включать префикс аккаунта, а доступ к удалённой базе — отдельные ограничения. Сведения берите из панели своей услуги. При превышении лимита веб-импорта используйте способ для больших выгрузок из документации хостера, а не повторяйте загрузку вслепую.
Особенности публикации готового WordPress
У WordPress параметры базы обычно задаются в wp-config.php: DB_NAME, DB_USER, DB_PASSWORD и DB_HOST. Назначение полей и зависимость пути к сайту от площадки описаны в официальной инструкции установки. Значения подставляйте из своей услуги, а не из примера разработчика.
Если вы получили уже настроенный сайт, публикуйте его файлы и подготовленную базу. Автоустановка нового WordPress создаёт новую систему и сама по себе не возвращает готовые страницы, настройки темы и данные. Если после импорта появляется мастер новой установки, проверьте выбранную базу, префикс таблиц и конфигурацию, прежде чем продолжать.
При переходе с локального или тестового адреса на рабочий нужно проверить адреса сайта и ссылки в данных. Простая замена строки в SQL может повредить сериализованные значения. Документация WordPress описывает эту проблему и специализированные способы изменения URL. Выполняйте замену на копии с предварительной проверкой; для Multisite требуется отдельный порядок.
Настройте интеграции для рабочего окружения
Проверьте адрес API, почтовый транспорт, домены возврата после авторизации, ключи внешних сервисов и адреса уведомлений. Тестовые настройки не должны незаметно остаться рабочими. При этом включение реальных платежей выполняют только после проверки предусмотренного платёжным сервисом сценария запуска.
Секреты храните серверным способом, предусмотренным приложением, и не добавляйте их в общедоступный JavaScript. После настройки отключите подробный вывод ошибок посетителю, сохранив диагностические журналы для ответственного специалиста.
Шаг 5. Привяжите домен к опубликованному проекту
Для открытия сайта по имени нужны две связанные настройки: хостинг должен принимать запросы для этого имени, а DNS — направлять посетителей на нужную точку входа. Регистрация домена сама по себе не выполняет оба действия.
Настройте имя в панели и записи в DNS
Добавьте example.com в проект и отдельно предусмотрите www.example.com, если эта версия должна работать. Затем в панели действующего DNS-провайдера задайте записи, которые указаны в инструкции хостинга: A для IPv4, AAAA для IPv6 или CNAME для поддерживаемого имени. Не придумывайте IPv6, если площадка его не предоставила.
Не вставляйте схему https:// и путь страницы в значение IP-записи. Если используется CNAME, значением будет доменное имя, а не IP. Порядок управления типом, именем и содержимым записей можно сверить с документацией DNS-провайдера; конкретные значения даёт ваша площадка.
Когда менять NS, а когда достаточно записей
Чтобы разместить сайт, обычно не требуется переносить домен к другому регистратору. DNS можно оставить у действующего оператора и изменить нужные записи. Если выбран вариант со сменой NS, сначала перенесите необходимые записи зоны, включая почту и подтверждения сервисов. Иначе запуск сайта может сопровождаться потерей работы других служб домена.
После изменений проверьте ответы для корневого имени и www, включая A и AAAA. Обновление кешей зависит от действовавших TTL и особенностей разрешения; единого точного срока для всех случаев нет. Не объясняйте любую ошибку ожиданием DNS: сначала сравните фактические ответы с нужными значениями и проверьте привязку домена в панели.
Для предварительной проверки иногда доступен технический адрес или просмотр проекта через панель. Он полезен, но не заменяет приёмку на основном домене: перенаправления, cookies, сертификат и внешние интеграции могут зависеть от имени.
Шаг 6. Подключите HTTPS и проверьте основные адреса
Выпустите или подключите сертификат способом, предусмотренным площадкой, и убедитесь, что он покрывает используемые имена. Если вы принимаете посетителей на www, для этого имени тоже требуется корректное обслуживание HTTPS, даже когда далее выполняется перенаправление.
Метод подтверждения домена определяет предварительные условия выпуска. Например, Let’s Encrypt описывает HTTP-01 с проверкой по HTTP и DNS-01 с проверкой DNS-записи. Не все схемы требуют одинакового порядка действий, поэтому следуйте инструкции выбранного клиента или хостинга.
После успешного выпуска проверьте HTTPS без предупреждений браузера, настройте один основной вариант адреса и предусмотренные перенаправления. Не создавайте несколько конкурирующих правил в панели, CMS и прокси: это может вызвать цикл. При использовании CDN учитывайте соединение до исходного сервера и настройки схемы в приложении.
Откройте внутренние страницы, изображения и формы. Ссылки на старый HTTP-адрес или тестовый домен могут сохраниться в шаблонах и базе. Проверьте отсутствие смешанного содержимого и настройку продления сертификата. Сам факт появления защищённого соединения ещё не подтверждает работу заявок и авторизации.
Шаг 7. Проверьте сайт так, как им пользуется посетитель
Успешное открытие главной — промежуточный результат. До запуска рекламы пройдите ключевой маршрут пользователя и убедитесь, что действие доходит до конечной системы, а не заканчивается только красивым сообщением в браузере.
Страницы, маршруты и мобильный экран
Проверьте главную, несколько внутренних страниц, меню, изображения, документы и прямое открытие вложенного URL. Для приложения с клиентской маршрутизацией переход из меню может работать, а обновление той же страницы — возвращать 404. В этом случае нужны правила для выбранного стека, которые не должны ломать API и реальные статические файлы.
Оцените сайт на телефоне: читаемость, кнопки, поля, отправку формы и отсутствие перекрывающих элементов. Сверьте рабочие телефоны, ссылки и контактные адреса. Если данные загружаются из API, проверьте результат без авторизации разработчика и без локального окружения.
Формы, письма и действия с данными
Отправьте тестовую заявку и проверьте её появление там, где команда будет работать с обращениями: в почте, CRM или административной панели. Проверьте правильность полей и уведомление пользователя. Для кабинета протестируйте вход, выход и предусмотренное восстановление доступа.
У магазина проверьте корзину, расчёты и уведомления по сценарию, согласованному с платёжным сервисом. Убедитесь, что тестовые заказы не искажают рабочую отчётность. Если действие зависит от очереди или планировщика, дождитесь выполнения и проверьте результат, а не только постановку задачи.
Индексация и технические настройки запуска
Проверьте title, основной адрес страницы, sitemap при его использовании и отсутствие тестового домена в ссылках. Убедитесь, что готовые публичные страницы не закрыты случайным noindex или запретом обхода. В WordPress отдельно проверьте настройку видимости для поисковых систем.
Google разграничивает управление обходом и индексацией: robots.txt не служит надёжным запретом появления URL в поиске, а noindex должен быть доступен роботу для чтения. Закрытый тестовый проект защищайте доступом; для запуска снимайте только ограничения, которые больше не нужны.
Доступность для робота не гарантирует немедленного появления в поиске. После публикации используйте инструменты поисковых систем для проверки URL и наблюдения за индексацией. Рекламные кампании запускайте после проверки страниц назначения и передачи целевых обращений.
Типовые ошибки после загрузки сайта на хостинг
Начните с наблюдаемого симптома, затем проверяйте соответствующий слой. Изменение нескольких несвязанных настроек одновременно затрудняет поиск причины и может добавить новую проблему.
| Что видно | Что проверить первым | Следующий шаг |
|---|---|---|
| Страница провайдера вместо сайта | Document root, привязку домена, оставшуюся заглушку | Сопоставить нужный каталог и стартовый файл |
| Сайт открывается только в подпапке | Лишний уровень после распаковки и базовый путь | Привести размещение к предусмотренной структуре |
| 403 | Индексный файл, права и правила доступа | Посмотреть журнал и исправить конкретную причину |
| Главная работает, внутренние URL дают 404 | Маршрутизацию CMS или приложения, правила веб-сервера | Применить конфигурацию для своего стека |
| 500, пустая страница, ошибка приложения | Журнал ошибок, версию среды, расширения, зависимости | Исправить указанную в журнале проблему |
| Ошибка соединения с базой | DB_HOST, имя, пользователя, пароль и разрешения | Проверить целевую базу и завершение импорта |
| Нет стилей или изображений | Пути, регистр имён, полноту передачи, сборку | Проверить адреса неудачных запросов |
| Форма показывает успех, заявки нет | Обработчик, журнал доставки, интеграцию и очередь | Проследить тестовое обращение до конечной системы |
| У части посетителей другой результат | DNS, A и AAAA, кеши и используемое имя | Сравнить фактический маршрут обращения |
Для обращения в поддержку подготовьте домен, время ошибки с часовым поясом, затронутый URL, идентификатор услуги и фрагмент журнала без секретов. Если сервер отдаёт исходный PHP-код вместо выполнения, ограничьте доступ к публикации и проверьте обработчик PHP со специалистом: обычная повторная загрузка файлов проблему не решит. Если выданный код содержал пароли базы данных, API-ключи или токены, отзовите либо замените их и обновите конфигурацию приложения. Закрытие доступа к исходнику не отменяет раскрытие секретов; порядок их отзыва и замены описан в рекомендациях OWASP.
Чек-лист готовности к запуску
Публикация завершена, когда подтверждены техническая работа и полезное действие посетителя. Пройдите этот список вместе с ответственным за сайт и сохраните результат приёмки.
- Размещён актуальный комплект, правильно выбран публичный каталог.
- Настроены база, рабочие адреса, зависимости и необходимые фоновые службы.
- Домен и www работают по предусмотренной схеме, HTTPS проверен.
- Открываются внутренние страницы и прямые ссылки, ресурсы загружаются.
- Тестовая заявка доходит до команды, ключевые пользовательские действия выполнены.
- Удалены публичные архивы и временные установочные файлы, выключен вывод отладочных данных.
- Проверены правила индексации, аналитика и страницы назначения рекламы.
- Сохранён комплект публикации, настроены резервные копии и назначен ответственный за обслуживание.
Если хотите обсудить дальнейшее сопровождение проекта, познакомьтесь с SiteGuard и сопоставьте предложение с задачами вашего сайта. Подготовьте адрес, описание платформы и список важных действий посетителя — так проще сформулировать, какой результат требуется поддерживать.
Частые вопросы о публикации сайта
Можно ли загрузить сайт на хостинг бесплатно?
Возможность зависит от платформы и типа проекта. Сравнивайте поддержку собственного домена, HTTPS, серверной логики, хранения и условия использования. Бесплатная публикация статических файлов не означает бесплатную работу базы, почтовых отправлений и всех интеграций. Для рабочего проекта заранее определите ограничения и способ получить данные обратно.
Как загрузить сайт на Beget, REG.RU или Timeweb?
Последовательность общая: создать сайт, уточнить его каталог, загрузить файлы, подключить данные и конфигурацию, настроить домен и HTTPS, проверить действия. Путь к папке и реквизиты берите из панели конкретной услуги.
Нужна ли база данных для HTML-сайта?
Для отдачи статических страниц обычно нет. Но форма, кабинет или каталог с изменяемыми данными могут использовать backend и хранилище отдельно. Проверьте, где выполняются эти функции. Наличие кнопки в интерфейсе не подтверждает наличие работающего обработчика.
Можно ли опубликовать экспорт из конструктора?
Только в пределах возможностей и условий конкретной платформы. Например, Tilda описывает ограничения экспорта: отдельные сервисы остаются на её стороне, для форм действуют дополнительные условия, а HTTPS настраивают на новом сервере. Перед публикацией проверяйте экспортированный результат по всем важным сценариям.
Почему сайт работает на компьютере, но не работает на хостинге?
Частые причины — другая среда, локальные адреса API, неверный каталог, неполная передача, отсутствующая база или различия регистра имён. Проверьте журнал ошибок и адреса запросов.
Сколько времени занимает первая публикация?
Это зависит от готовности комплекта, размера данных, требований приложения и доступов. Простой статический проект требует меньше действий, чем CMS с импортом базы или приложение с очередями. Оценивайте отдельно подготовку, развёртывание, настройку домена и приёмку; срок обновления DNS не является сроком всей работы.