К содержанию

Wiki · Техническая оптимизация

Хост

Хост – это любое устройство в сети, у которого есть свой адрес: сервер, компьютер, роутер. В веб-разработке и SEO хостом чаще называют имя сайта в адресе страницы, например shop.example.ru: по нему браузер находит сервер, а поисковик отличает один сайт от другого.

Слово встречается в трёх местах. Хостинг-провайдер говорит «хост» про сервер. Яндекс Вебмастер делит редиректы на внутрихостовые и межхостовые. А в старых файлах robots.txt до сих пор попадается директива Host. Термин один, роли разные, и путаница между ними приводит к дублям сайта и потерям при переездах.

Хост в адресе страницы

Разберём адрес на части (пример на условных данных):

https://shop.example.ru:8443/catalog/?sort=price

https            протокол
shop.example.ru  хост
8443             порт (обычно не пишут: 443 для HTTPS, 80 для HTTP)
/catalog/        путь
?sort=price      параметры

Хостом может быть доменное имя или IP-адрес. Для браузера и поисковика example.ru, www.example.ru и shop.example.ru считаются тремя разными хостами, даже если на них один и тот же сайт. Как устроены имена третьего уровня, рассказываем в статье Поддомен.

Схема хостов одного сайта: зеркала с www и http, поддомены, тестовый поддомен и IP адрес сервера
Сколько хостов бывает у одного сайта

Как сервер понимает, какой сайт отдать

Браузер сначала через DNS узнаёт IP-адрес сервера. Но на одном IP часто работает много сайтов, так устроен обычный виртуальный хостинг. Чтобы сервер понял, какой из них нужен, браузер передаёт имя в заголовке Host:

GET /catalog/ HTTP/1.1
Host: shop.example.ru

Веб-сервер сверяет имя со своими настройками (в nginx это server_name, в Apache VirtualHost) и отдаёт нужный сайт. В HTTP/1.1 заголовок Host обязателен: запрос без него сервер должен отклонить с ошибкой 400. Если имя не совпало ни с одной настройкой, сервер откроет сайт по умолчанию, и по чужому адресу может показаться не тот проект.

Пять шагов: браузер узнаёт IP через DNS, передаёт заголовок Host, веб-сервер выбирает сайт по имени и отдаёт ответ
Как сервер выбирает сайт по хосту

Хост, домен и хостинг

Эти слова часто смешивают, хотя за ними разные вещи:

ТерминЧто этоПример
Домензона имён, которую вы регистрируетеexample.ru
Хостконкретное имя или устройство, куда приходит запросwww.example.ru, shop.example.ru
Хостингуслуга: место на сервере провайдератариф, на котором лежат файлы сайта
Серверкомпьютер, который отвечает на запросымашина с адресом 203.0.113.10

Сам домен example.ru тоже становится хостом, если на него настроен сайт. А один сервер хостинга обслуживает множество хостов разных владельцев.

Почему поисковик считает каждый хост отдельным сайтом

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

  • Адреса с www и без www, с http и с https считаются зеркалами. Главным выбирают один вариант, остальные отдают постраничный 301 редирект. Подробнее в статье Зеркало сайта.
  • Robots.txt действует только для своего хоста. Google пишет, что правила файла относятся к хосту, протоколу и порту, где он лежит. Каждому поддомену нужен свой файл.
  • Яндекс в справке отдельно разбирает редиректы внутри одного хоста (a.ru/ на a.ru/index.html) и между хостами (a.ru/ на www.a.ru/). Для поиска это разные ситуации.

Директива Host в robots.txt раньше подсказывала Яндексу главное зеркало. 20 марта 2018 года Яндекс объявил, что её заменил 301 редирект: директиву можно удалить, но со всех неглавных зеркал должен стоять постраничный 301. Если строка Host до сих пор есть в вашем robots.txt, это след старой настройки, и работу за неё должен делать редирект.

Сравнение устаревшей директивы Host в robots.txt и постраничного 301 редиректа для выбора главного зеркала сайта
Как задать главный хост сайта

Тестовый хост и переезд

Отдельный хост удобен для разработки, но тестовую копию закрывают от индексации, иначе поисковик найдёт два одинаковых сайта. При переезде сети «Посуда Центр» на новый сайт мы вели все работы на тестовом домене, закрытом от индексации. Там сделали техническую оптимизацию, ускорили загрузку, добавили микроразметку и написали скрипт 301 редиректов со старых адресов товаров на новые. До переезда сайт получал около 300 000 уникальных посетителей из поисковых систем в месяц, после переезда сохранил позиции и органический трафик. Подробности в кейсе «Посуда Центр» и в статье SEO-переезд сайта.

Откуда у сайта берутся копии на лишних хостах

  • Сайт открывается и с www, и без, оба варианта отвечают 200. Получаются полные дубли.
  • Тестовая копия на поддомене открыта для роботов и попадает в индекс.
  • Главное зеркало задано только директивой Host, без редиректа.
  • Сайт доступен по IP-адресу сервера и отвечает 200. Это ещё один хост с копией сайта.

Как проверить хосты сайта

  1. Откройте все варианты адреса: с www и без, по http и по https. Каждый неглавный должен отвечать 301 на главный хост с тем же путём.
  2. Проверьте ответ через curl: браузер может подставить результат из кэша.
  3. Поищите в выдаче технические хосты: test., dev., старые зеркала.
  4. Добавьте главный хост в Яндекс Вебмастер и Google Search Console и убедитесь, что в поиске участвует он.
curl -I http://www.example.ru/catalog/
HTTP/1.1 301 Moved Permanently
Location: https://example.ru/catalog/

Главный хост, поддомены, IP и localhost

Сколько хостов бывает у одного сайта?

Столько, сколько имён и адресов, по которым он открывается. Почти у любого сайта их минимум два, example.ru и www.example.ru, а дальше добавляются тестовый поддомен, IP-адрес сервера и старые домены, оставшиеся после переезда. Каждый из них поисковик может принять за отдельный сайт.

Как на одном IP-адресе уживаются десятки сайтов?

Сервер различает их по имени, которое браузер присылает в заголовке Host. Для каждого проекта в настройках веб-сервера описан свой виртуальный хост: блок с server_name в nginx или секция VirtualHost в Apache. Так устроен обычный виртуальный хостинг, где один IP делят проекты разных владельцев.

Почему по адресу сайта иногда открывается чужой проект с того же сервера?

Веб-сервер не нашёл присланное имя среди своих настроек и показал сайт, назначенный по умолчанию. Обычно так бывает сразу после привязки домена, когда имя забыли вписать в конфигурацию. Исправляется записью имени в настройки нужного сайта, а блок по умолчанию лучше заставить отвечать ошибкой вместо чужих страниц.

Как проверить сайт на новом сервере до переключения DNS?

Отправьте запрос прямо на IP нового сервера и подставьте нужное имя в заголовок Host, например curl -I -H Host:example.ru http://203.0.113.10/. Сервер выберет сайт по имени так же, как при обычном заходе, и вы увидите его ответ раньше, чем DNS поведёт туда посетителей. Чтобы посмотреть страницы в браузере, то же имя и IP прописывают в файле hosts на своём компьютере.

Почему правила robots.txt основного домена не действуют на поддомене?

Робот ищет файл в корне того хоста, который обходит, и применяет его только там. Google прямо пишет, что правила привязаны к хосту, протоколу и порту. Поэтому blog.example.ru нужен свой файл по адресу blog.example.ru/robots.txt, а без него поддомен обходят без ограничений. Как составить такой файл, разбираем в статье Robots.txt.

Чем внутрихостовый редирект отличается от межхостового?

Внутрихостовый ведёт на другой адрес с тем же именем, например с a.ru/ на a.ru/index.html. Межхостовый меняет само имя: a.ru/ на www.a.ru/ или на другой домен. Яндекс разбирает эти случаи отдельно, потому что второй касается зеркал: именно постраничный 301 между хостами подсказывает ему, какой из них главный.

Зачем разработчики запускают сайт на localhost?

Имя localhost указывает компьютеру на него самого, обычно за ним стоит адрес 127.0.0.1. Копия сайта там доступна только на машине разработчика и не видна поисковикам, поэтому правки спокойно проверяют до выкладки.

Что делать, если сайт открывается по IP-адресу сервера?

Настроить сервер так, чтобы запрос по IP получал 301 на главный хост или ошибку. Пока адрес вида 203.0.113.10 отвечает 200, у поисковика есть ещё одна полная копия сайта.

Чем хост отличается от домена, если в адресе они выглядят одинаково?

Домен вы регистрируете: это зона имён вроде example.ru. Хост означает конкретное имя внутри неё, куда приходит запрос, например www.example.ru или shop.example.ru. Сам example.ru становится хостом, когда на нём настроен сайт, поэтому в адресе одно и то же имя играет обе роли.

Зеркала, robots.txt на поддоменах и тестовые хосты проверяем на техническом аудите сайта. Переезды на новый домен и новый сайт сопровождаем в SEO-продвижении.

Источники

См. также: Хостинг, Robots.txt, 301 редирект, SEO-переезд сайта.

Остались вопросы по теме «Хост»?

Напишите нам в Telegram или MAX. Ответит специалист, который отвечает за эту тему, или руководитель проектов в рабочее время.

Сергей ПимкинОтвечает по темеСергей ПимкинВедущий SEO-специалист

Тарифы

Тарифы по теме

Все тарифы →
от 70 000 ₽/мес при оплате за 3 месяца, помесячно 80 000 ₽

Стартовый тариф для небольшого бизнеса: наводим порядок на сайте и получаем первые заявки из Яндекса и Google.

  • Техническая оптимизация сайта
  • Контентная оптимизация
  • Семантическое ядро под город или регион
  • Настройка Яндекс Вебмастера и Google Search Console
  • Цели в Яндекс Метрике
  • Ежемесячный отчёт по позициям, трафику и заявкам
  • Оптимизация поведенческих факторов
  • Оптимизация коммерческих факторов и E-A-T
SEO ProХит
от 90 000 ₽/мес при оплате за 3 месяца, помесячно 99 000 ₽

Тариф для растущего бизнеса. Работаем на количество заявок: считаем звонки через коллтрекинг и дорабатываем сайт под конверсию.

  • Техническая оптимизация сайта
  • Контентная оптимизация
  • Семантическое ядро под город или регион
  • Настройка Яндекс Вебмастера и Google Search Console
  • Цели в Яндекс Метрике
  • Ежемесячный отчёт по позициям, трафику и заявкам
  • Оптимизация поведенческих факторов
  • Оптимизация коммерческих факторов и E-A-T
от 135 000 ₽/мес при оплате за 3 месяца, помесячно 149 000 ₽

Для масштабирования бизнеса: SEO, A/B-тесты, карточки в Яндекс.Бизнесе и 2ГИС, техподдержка сайта. Нейросети берут на себя рутину, итог проверяют специалисты.

  • Техническая оптимизация сайта
  • Контентная оптимизация
  • Семантическое ядро под город или регион
  • Настройка Яндекс Вебмастера и Google Search Console
  • Цели в Яндекс Метрике
  • Ежемесячный отчёт по позициям, трафику и заявкам
  • Оптимизация поведенческих факторов
  • Оптимизация коммерческих факторов и E-A-T

Проверим ваш сайт бесплатно

Экспресс-аудит за 24 часа: скорость, индексация, мета-теги, коммерческие факторы и цели Метрики.