Многие владельцы бизнеса регистрируют сразу несколько доменов, чтобы защитить бренд: .uz для местной аудитории, .com для зарубежных партнёров, иногда ещё и вариант с типичной опечаткой. Само по себе это разумно, но если подключить домены неправильно, проблем станет больше, чем пользы. Когда каждый домен открывает сайт самостоятельно, поисковые системы видят несколько копий одних и тех же страниц, а посетитель замечает в адресной строке то одно, то другое имя и начинает сомневаться в подлинности сайта. Разберём, как навести порядок и привести все домены к одному адресу.
Выбор основного домена
Первый шаг — не технический, а стратегический: под каким адресом сайт будет «жить» постоянно? Этот адрес называют основным, а все остальные имена перенаправляются на него. Если большинство клиентов находится в Узбекистане, основным обычно делают домен .uz — он воспринимается как местный бренд. Если компания ориентирована на экспорт, логичнее выбрать .com. Заодно нужно раз и навсегда решить, будет ли адрес с www или без, ведь технически www.mebeluy.uz и mebeluy.uz — это два разных имени.
Представим мебельный магазин в Ташкенте, который зарегистрировал mebeluy.uz и mebeluy.com. Покупатели в основном из столицы и регионов, поэтому основным выбран mebeluy.uz без www. В итоге получается четыре имени: mebeluy.uz, www.mebeluy.uz, mebeluy.com и www.mebeluy.com. Сайт напрямую отдаёт только первое, остальные три постоянно перенаправляют на него.
DNS: все имена должны вести на один сервер
Чтобы редирект сработал, запрос сначала должен дойти до сервера, где размещён сайт. Для этого в DNS-зоне каждого домена создаётся A-запись с IP-адресом хостинга, а поддомен www привязывается к основному имени через CNAME. Если у второго домена DNS не настроен вовсе, посетитель увидит ошибку «сайт не найден», и никакой редирект не поможет.
; зона mebeluy.com
mebeluy.com. 3600 IN A 203.0.113.10
www.mebeluy.com. 3600 IN CNAME mebeluy.com.
; зона mebeluy.uz
mebeluy.uz. 3600 IN A 203.0.113.10
www.mebeluy.uz. 3600 IN CNAME mebeluy.uz.
Адрес 203.0.113.10 здесь условный — подставьте реальный IP из кабинета хостинга. Изменения DNS распространяются не мгновенно, обычно от нескольких минут до нескольких часов. Проверить результат можно так:
dig +short mebeluy.com A
dig +short www.mebeluy.com
Добавление второго домена на хостинге
Получив запрос, сервер должен понять, к какому сайту он относится. В панелях вроде ISPmanager есть два пути: добавить второй домен как псевдоним (алиас) существующего сайта или создать отдельный сайт, в котором будет только правило перенаправления. Псевдоним проще: все имена попадают в одну папку и одну конфигурацию, а редиректом можно управлять из одного файла .htaccess. Отдельный сайт удобен, если на втором домене со временем планируется что-то своё, например временная рекламная страница.
301-редирект на основной адрес
Тип перенаправления имеет значение. Код 301 сообщает браузеру и поисковику, что адрес переехал навсегда, поэтому позиции в поиске и вес внешних ссылок передаются основному домену. Код 302 означает временный переезд и для постоянной схемы не подходит. На хостинге с Apache следующие правила собирают все имена на одном HTTPS-адресе, сохраняя путь и параметры запроса:
RewriteEngine On
# Не мешаем проверке Let's Encrypt
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/
# Если имя не основное или соединение без HTTPS - на основной адрес
RewriteCond %{HTTP_HOST} !^mebeluy\.uz$ [NC,OR]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://mebeluy.uz/$1 [R=301,L]
Первое условие нужно, чтобы не сломать выпуск сертификата, два других срабатывают, когда имя хоста не совпадает с основным или соединение не зашифровано. Если у вас есть прямой доступ к конфигурации nginx, того же результата можно добиться отдельным блоком server:
server {
listen 80;
listen 443 ssl;
server_name www.mebeluy.uz mebeluy.com www.mebeluy.com;
# здесь указываются ssl_certificate и ssl_certificate_key
return 301 https://mebeluy.uz$request_uri;
}
SSL-сертификат должен покрывать все имена
Частая ошибка — выпустить сертификат только для основного домена. Тогда при вводе https://mebeluy.com браузер покажет предупреждение «подключение не защищено» ещё до того, как дело дойдёт до редиректа. Причина проста: прежде чем отправить ответ с перенаправлением, сервер обязан установить защищённое соединение и предъявить действительный сертификат именно для этого имени. Поэтому сертификат Let's Encrypt должен включать все четыре имени. На хостинге sayt.uz бесплатный сертификат Let's Encrypt продлевается автоматически, но после добавления псевдонимов стоит убедиться, что они вошли в его состав.
Проверка результата
Проверять каждый вариант лучше из командной строки, а не в браузере: браузер может закэшировать старые редиректы и показать устаревшую картину. Следующая команда выводит код ответа сервера и новый адрес:
curl -sI http://www.mebeluy.com/katalog?page=2 | grep -iE "^(HTTP|location)"
# Ожидаемый результат:
# HTTP/1.1 301 Moved Permanently
# Location: https://mebeluy.uz/katalog?page=2
В идеале каждое имя за один шаг, без цепочек, ведёт сразу на основной адрес. Если получается цепочка из трёх переходов — сначала на HTTPS, потом на вариант без www, потом на другой домен, — страница открывается медленнее, а поисковые роботы тратят лишние ресурсы.
Поисковики и настройки самого сайта
Помимо редиректа основной домен должен последовательно использоваться и в коде сайта. Канонический тег на страницах, карта сайта (sitemap) и внутренние ссылки должны указывать только на основной адрес. В системах вроде WordPress несовпадение адреса сайта в настройках с основным доменом может вызвать бесконечный цикл перенаправлений, поэтому проверьте и это поле. Подтвердите основной домен в Google Search Console и Яндекс Вебмастере и отправьте карту сайта именно через него — это ускорит индексацию.
Не забудьте про почту
Веб-редирект касается только трафика сайта и никак не влияет на электронную почту. Если сотрудники пользуются адресами вида info@mebeluy.uz и вы хотите получать письма и на второй домен, для .com нужно отдельно настроить MX-записи и почтовые псевдонимы. И наоборот, если почта на втором домене не используется, полезно сделать SPF-запись строгой, чтобы от его имени нельзя было рассылать подделки: значение v=spf1 -all говорит, что ни один сервер не уполномочен отправлять письма с этого домена.
Итак, подключение нескольких доменов к одному сайту складывается из четырёх звеньев: выбор основного имени, направление всех имён на сервер через DNS, 301-редирект на основной адрес и действительный SSL для каждого имени. Сделав это один раз правильно, вы защитите бренд и соберёте всю поисковую силу на одном адресе.