Перейти к содержимому

Домен и хостинг: что это и зачем?

Для работы любого сайта нужны две вещи:

  1. Доменное имя — адрес, по которому посетители находят ваш сайт (например, mysite.ru)
  2. Хостинг — место на сервере, где хранятся файлы, изображения и контент сайта

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

Доменное имя — это то, что отображается в адресной строке браузера. Это ваш уникальный адрес в интернете.

  • Бесплатный поддомен (например, mysite.wordpress.com) — выдаётся WordPress.com. Не подходит для бизнеса и серьёзного бренда.
  • Собственный домен (mysite.ru) — регистрируется у регистратора. Обязателен для self-hosted WordPress.

Домен регистрируется на 1 год с ежегодным продлением (~500-1500 ₽/год в зоне .ru). Популярные регистраторы: nic.ru, reg.ru, r01.ru.

Хостинг — это аренда места на сервере. Когда посетитель вводит ваш домен в браузере, DNS направляет его на ваш хостинг-сервер, и тот отдаёт страницы сайта.

  • Shared (виртуальный) — дешёвый, для старта
  • VPS — выделенные ресурсы, для растущих проектов
  • Облачный — масштабируемый, для высоких нагрузок
  • Managed WordPress — полностью обслуживаемый провайдером

Подробнее — в статье Хостинг для WordPress: как выбрать.

Домен регистрируется у ICANN-аккредитованного регистратора. Подробный обзор и сравнение регистраторов — в разделе Регистраторы доменов: сравнение.

Пользователь → вводит mysite.ru → DNS → IP-адрес хостинга → сервер отдаёт сайт
  1. Пользователь вводит домен в браузере
  2. DNS-сервер преобразует домен в IP-адрес хостинга
  3. Браузер получает страницу с сервера хостинга
  • Домен (зарегистрировать у регистратора)
  • Хостинг (выбрать тариф и оплатить)
  • SSL-сертификат (обычно бесплатный Let’s Encrypt)
  • Привязать домен к хостингу (указать NS-серверы в панели регистратора)

PHP пример: определение домена текущего сайта

Заголовок раздела «PHP пример: определение домена текущего сайта»
$current_domain = wp_parse_url(home_url(), PHP_URL_HOST);
if (str_contains($current_domain, 'staging')) {
// мы на staging-окружении
error_reporting(E_ALL);
} else {
// production
error_reporting(0);
}

Что делает код:

  • Получает текущий домен из настроек WordPress.
  • Включает полный вывод ошибок только на staging-домене.