Сайт с www и без www: как выбрать главное зеркало и склеить зеркала
Если сайт открывается и по site.ru, и по www.site.ru, поисковик видит два одинаковых сайта и сам решает, какой из них показывать. Выбранный им адрес может не совпасть с тем, что напечатан на визитках, а ссылки и статистика разойдутся по двум адресам. Настроить склейку зеркал www можно за один вечер: выбрать главный адрес, поставить 301-редирект со всех остальных вариантов и проверить результат.
Типичная история. Пекарня заказала вывеску и листовки с адресом www.pekarnya.ru. Разработчик добавил в Яндекс Вебмастер именно этот адрес. Через месяц владелец открывает отчёты, а там почти пусто, хотя по названию пекарни сайт в поиске есть. Только в выдаче он показан как pekarnya.ru, без www. Яндекс сам выбрал главным зеркалом короткий адрес, и вся статистика копится там, куда никто не смотрит.
Ниже по порядку: что такое зеркала, какой адрес выбрать, как настроить редирект на Nginx, Apache и в CMS, что сделать в Вебмастере и Search Console и как проверить, что всё работает.
Что такое зеркала сайта и почему www и без www — два разных адреса
Зеркала сайта — это адреса, по которым открывается один и тот же контент. site.ru и www.site.ru технически разные хосты: www — это поддомен. Если оба отвечают кодом 200 и показывают одинаковые страницы, поисковик объединяет их в группу зеркал и выбирает одно главное. Остальные в поиске не показываются.
Приставка www появилась, когда на одном домене жили разные службы: почтовый сервер, FTP, веб-сервер. Веб-серверу давали имя www, чтобы отличать его от остальных. Сейчас это просто соглашение. Сайт прекрасно работает и с www, и без него, а браузеры часто вообще прячут эту приставку в адресной строке.
Зеркала бывают не только с www и без:
- http и https. После переезда на HTTPS старый адрес с http продолжает существовать и должен вести на новый.
- Старый домен после переезда, например
pekarnya-spb.ru→pekarnya.ru. - Тот же сайт в другой доменной зоне:
pekarnya.ruиpekarnya.com.
Адреса вроде site.ru/index.php или site.ru/index.html иногда тоже называют зеркалами, но это другая проблема — дубли страниц внутри одного сайта. Решается похоже, редиректом или canonical, но смешивать их с зеркалами не стоит.
Чем плохо, когда зеркала не склеены:
- поисковик выбирает главный адрес сам, по своим сигналам, и выбор может не совпасть с вашим;
- внешние ссылки, упоминания и отзывы делятся между двумя адресами;
- в Вебмастере и Search Console легко смотреть статистику не того сайта, как в примере с пекарней.
Чаще всего путаница начинается с того, что www и https настраивают по отдельности. Поэтому удобно сразу держать перед глазами все четыре варианта адреса. Пример для сайта, у которого главный адрес https://site.ru:
| Адрес | Что должно происходить |
|---|---|
| https://site.ru | Открывается, код 200 |
| https://www.site.ru | 301 → https://site.ru |
| http://site.ru | 301 → https://site.ru |
| http://www.site.ru | 301 → https://site.ru (одним переходом) |
Если главным выбран адрес с www, таблица зеркальная: три варианта ведут на https://www.site.ru.
С www или без www: что выбрать
Для ранжирования в Яндексе и Google разницы между адресом с www и без www нет. Выбирайте тот вариант, который уже указан в рекламе, на визитках и на который ведёт больше внешних ссылок. Если сайт новый, обычно берут короткий адрес без www: его проще продиктовать по телефону и он короче в выдаче.
На что смотреть, если сайт уже работает:
- Какой адрес поисковик уже считает главным. Это видно в Яндекс Вебмастере. Если Яндекс давно показывает сайт без www и всё стабильно, проще закрепить этот выбор.
- Какой адрес печатается офлайн. Вывеска, листовки, упаковка, наклейки на машинах доставки. Редирект всё равно приведёт человека на сайт, но удобнее, когда адреса совпадают.
- На какой адрес ведёт больше ссылок. Каталоги организаций, карточки в картах, публикации партнёров.
- Технические нюансы для разработчиков. На адресе без www куки, выставленные на весь домен, уходят и на все поддомены, например на
shop.site.ruилиcdn.site.ru. Для крупных проектов с отдельными поддоменами под статику это иногда аргумент в пользу www. Для сайта пекарни или студии ремонта — нет.
Главное правило: если поисковик уже выбрал главным один из адресов и сайт стабильно в индексе, менять его без причины не нужно. Смена главного зеркала — это небольшой переезд, после которого какое-то время возможны колебания в выдаче. Если же вы только запускаетесь или зеркала до сих пор не склеены и в поиске видны оба адреса — самое время определиться.
Как узнать, какое зеркало сейчас главное
Есть четыре способа, от самого надёжного к самому быстрому.
Яндекс Вебмастер. Добавьте и подтвердите оба варианта адреса, с www и без. Ещё лучше добавить все четыре, с http и https. В карточке неглавного адреса Вебмастер сообщит, что сайт является зеркалом другого, и покажет, какой адрес главный. Управление зеркалами в Вебмастере находится в разделе, посвящённом переезду сайта: там указывают, какой адрес должен стать главным.
Google Search Console. Здесь два типа ресурсов. Ресурс на уровне домена (Domain property) объединяет все варианты сразу: http и https, с www и без, другие поддомены. Ресурс с префиксом URL показывает только один конкретный вариант, например https://www.site.ru. Отдельной кнопки «главное зеркало» в Google нет: прежнюю настройку предпочтительного домена убрали из Search Console ещё в 2019 году. Канонический адрес Google выбирает сам по сигналам — редиректам, canonical, внутренним ссылкам и sitemap.
Оператор site: в поиске. Запрос site:site.ru покажет, под каким адресом страницы попадают в выдачу. Способ косвенный: оператор приблизительный и не всегда показывает полную картину, но быстро даёт понять, не видны ли в поиске оба варианта.
Ручная проверка. Введите в браузере все четыре адреса и посмотрите, где окажетесь. Если www.site.ru открывается и в адресной строке остаётся www, редиректа нет. Учтите, что браузер кэширует редиректы и подставляет адреса из истории, поэтому проверять лучше в режиме инкогнито.
Чтобы не перебирать варианты вручную, можно проверить зеркала сайта бесплатным инструментом: он показывает, как отвечает каждый вариант адреса и куда ведёт.
Как склеить зеркала через 301-редирект
Склейка зеркал делается постоянным 301-редиректом со всех неглавных адресов на главный. Редирект должен быть постраничным: www.site.ru/catalog/ ведёт на site.ru/catalog/, а не на главную страницу. Ставится он на сервере, а не через JavaScript или meta refresh: такие перенаправления поисковики распознают хуже.
Почему именно 301. Код 301 означает «адрес переехал навсегда», и поисковик со временем заменяет старый адрес в индексе новым. Код 302 — временное перенаправление, и старый адрес может надолго остаться в выдаче. Подробнее о том, чем 301-редирект отличается от 302, — в отдельной статье.
Почему важно сохранить путь. Если редирект отправляет все адреса с www на главную страницу, то сотни внутренних страниц для поисковика перестают существовать: по старым ссылкам человек попадает не на нужный товар, а на главную. В примерах ниже путь и параметры сохраняются через $request_uri в Nginx и %{REQUEST_URI} в Apache.
Примеры ниже — минимальные. Перед тем как вставлять их в рабочий конфиг, покажите разработчику или сверьтесь с документацией вашего сервера.
Nginx
Для неглавного хоста заводят отдельный блок server, который ничего не отдаёт, а только перенаправляет. Пример для главного адреса https://site.ru:
# Все запросы по http (с www и без) — сразу на главный адрес
server {
listen 80;
server_name site.ru www.site.ru;
return 301 https://site.ru$request_uri;
}
# https с www — на https без www
server {
listen 443 ssl;
server_name www.site.ru;
# здесь те же строки ssl_certificate, что и у основного сайта
return 301 https://site.ru$request_uri;
}
# Основной сайт
server {
listen 443 ssl;
server_name site.ru;
# ... настройки сайта
}
Обратите внимание: сертификат должен покрывать и www.site.ru. Иначе браузер покажет ошибку безопасности ещё до того, как сработает редирект.
Apache (.htaccess)
На виртуальном хостинге настройка обычно делается в файле .htaccess в корне сайта через модуль mod_rewrite. Вариант «на без www», сразу с переходом на https, одним правилом:
RewriteEngine On
# Если запрос пришёл по http ИЛИ на адрес с www...
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
# ...отправляем на https без www с сохранением пути
RewriteRule ^ https://site.ru%{REQUEST_URI} [R=301,L]
Вариант «на www»:
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.site.ru%{REQUEST_URI} [R=301,L]
Флаг R=301 задаёт постоянный редирект, L останавливает обработку остальных правил. Эти строки лучше ставить в начало файла, до правил CMS.
CMS и конструкторы
Если доступа к серверу нет, настройку ищут в самой системе управления сайтом. Названия пунктов меню меняются от версии к версии, поэтому ориентиры общие:
- WordPress. В общих настройках есть два поля адреса сайта. В них должен стоять главный вариант, с нужным протоколом и с www или без. Сам редирект для остальных вариантов надёжнее делать на сервере или в
.htaccess, а не только настройкой CMS. - Тильда. Выбор основного адреса находится в настройках домена проекта. Там же обычно включается перенаправление с неосновного варианта.
- 1С-Битрикс. Как правило, редирект прописывают в
.htaccessили в конфигурации веб-сервера; адрес сайта также указывают в настройках сайта.
Хостинг-панель
У многих хостингов в панели управления есть переключатель вида «перенаправлять на www» или «перенаправлять на адрес без www». Это самый простой путь для небольшого сайта. После включения проверьте две вещи: что редирект постоянный (301, а не 302) и что внутренние страницы ведут на те же страницы, а не на главную.
Что поправить на самом сайте
Редирект склеивает адреса, но сайт не должен сам себе противоречить. После настройки проверьте, что на главный адрес указывают:
- внутренние ссылки в меню, в тексте и в шаблонах (абсолютные ссылки со старым хостом часто остаются в футере и в письмах);
- тег canonical на страницах;
- все адреса в sitemap.xml;
- директива Sitemap в robots.txt.
Иначе поисковик получает смешанные сигналы: редирект говорит одно, canonical и карта сайта — другое.
Что делать в Яндекс Вебмастере и Google Search Console после редиректа
Яндекс. Добавьте главный адрес в Вебмастер и подтвердите права, если не сделали этого раньше. Затем в разделе «Переезд сайта» отметьте, какой вариант должен быть главным: с www или без. Дальше остаётся ждать: Яндексу нужно переобойти сайт и заметить редиректы. Переклейка обычно занимает от нескольких дней до нескольких недель, и точного срока не даёт никто.
Пока идёт переклейка, не трогайте редирект и не меняйте главное зеркало туда и обратно. Каждая смена сбивает поисковик и откладывает результат.
Директива Host. Раньше главное зеркало для Яндекса указывали в robots.txt строкой Host: site.ru. Яндекс от неё отказался, и сейчас главный сигнал — 301-редирект. Если Host до сих пор есть в файле, он ничего не ломает, но и не помогает. Строку можно удалить при следующей правке robots.txt.
Google. Здесь нет отдельного действия «склеить». Достаточно, чтобы сигналы были согласованы: 301-редиректы, canonical и sitemap указывают на главный адрес. Если хочется ускорить процесс, проверьте несколько важных адресов инструментом проверки URL в Search Console и отправьте заново sitemap.xml с главного адреса. Если вы работаете с ресурсом с префиксом URL, добавьте ресурс именно для главного варианта: после склейки данные будут собираться там.
Типичные ошибки при склейке зеркал
Большинство проблем возникает не из-за самой идеи склейки, а из-за мелочей в настройке.
Цепочка редиректов. Самый частый случай: https и www настроены разными правилами, и запрос идёт так: http://www.site.ru → https://www.site.ru → https://site.ru. Сайт открывается, человек ничего не замечает, но поисковик тратит лишние запросы, а каждое звено — ещё одна точка, где что-то может сломаться. Правильно — одним переходом сразу на финальный адрес, как в таблице выше.
Петля редиректов. Правило на сервере отправляет на адрес без www, а настройка в CMS — обратно на www. Или сайт стоит за прокси, который общается с сервером по http, и правило «если не https — перенаправить» срабатывает бесконечно. Браузер в итоге показывает ошибку «слишком много перенаправлений», и сайт не открывается вовсе.
Редирект всех страниц на главную. Вместо постраничного перенаправления все адреса с www ведут на одну стартовую страницу. Внутренние страницы выпадают из индекса, ссылки на них перестают работать.
302 вместо 301. Некоторые панели и плагины по умолчанию ставят временный редирект. Внешне разницы нет, но поисковик может долго держать в индексе неглавный адрес.
Редирект на адрес, который поисковик считает неглавным. Например, Яндекс давно выбрал главным site.ru, а вы поставили редирект на www.site.ru, не указав это в Вебмастере. Пока зеркала не переклеятся, сайт может временно индексироваться хуже. Выбирайте главное зеркало осознанно, указывайте его в Вебмастере и не меняйте без нужды.
Склейка через canonical вместо редиректа. Тег rel=canonical — подсказка поисковику, а не команда, и люди при этом остаются на неглавном адресе. Для зеркал нужен 301, canonical лишь дополняет его.
Забытые внутренние ссылки, sitemap и canonical. Редирект стоит, а меню, карта сайта и canonical по-прежнему указывают на старый вариант. Каждый клик по такой ссылке — лишний редирект, а поисковик получает противоречивые сигналы.
Разный контент на зеркалах. Если по адресу с www открывается старая версия сайта, а без www — новая, поисковик может не считать их зеркалами и не склеить. Сначала нужен один сайт, потом редирект.
Как проверить, что склейка работает
После настройки пройдитесь по короткому чек-листу:
- Все четыре варианта адреса — http и https, с www и без — ведут на главный одним переходом с кодом 301.
- Главный адрес отвечает кодом 200.
- Внутренняя страница с www, например
www.site.ru/catalog/hleb/, открывается по тому же пути без www, а не на главной. - Адрес с параметрами, например
www.site.ru/search?q=bagety, сохраняет параметры после редиректа. - В sitemap.xml, в canonical и во внутренних ссылках — только главный адрес.
- В Вебмастере главным зеркалом отмечен нужный адрес.
- Нет цепочек и петель: между исходным и финальным адресом ровно один переход.
Пункты 1, 3, 4 и 7 удобно проверить одним инструментом: проверить код ответа и цепочку редиректов можно бесплатно, он показывает каждый шаг перенаправления и его код. Если между исходным адресом и главным больше одного шага, правила стоит объединить.
Проверку стоит повторить после любых изменений на сервере: смены хостинга, установки сертификата, обновления CMS или подключения CDN. Именно в такие моменты правила редиректа чаще всего теряются или начинают конфликтовать.
Сколько ждать и что будет с позициями
При корректном 301-редиректе позиции, как правило, переходят на главный адрес. Поисковик переносит накопленные сигналы, например ссылки и историю сайта, с неглавного зеркала на главное. Временные колебания в выдаче возможны, особенно если меняется уже выбранное поисковиком главное зеркало. Если вы просто закрепили тот адрес, который и так был главным, заметных изменений обычно не происходит.
Если прошло несколько недель, а в поиске по-прежнему показывается неглавный адрес, проверьте по порядку:
- отдаёт ли сервер именно 301 и с каждой ли страницы, а не только с главной;
- одинаковый ли контент на всех вариантах адреса;
- не осталось ли в sitemap, canonical и внутренних ссылках старого хоста;
- что указано главным в Вебмастере.
Если всё в порядке, а переклейки нет, напишите в поддержку Яндекс Вебмастера: приложите адреса и описание настроек.
Итог
Склейка зеркал www сводится к четырём шагам. Выберите один главный адрес, лучше тот, который поисковик уже показывает. Поставьте 301-редирект со всех остальных вариантов, включая http, одним переходом и с сохранением пути. Поправьте внутренние ссылки, canonical и sitemap.xml, чтобы они указывали только на главный адрес. Отметьте главное зеркало в Яндекс Вебмастере и дождитесь переклейки, ничего не меняя.
Зеркала — лишь одна из технических мелочей, которые незаметны посетителю, но видны поисковику. Чтобы проверить остальное, запустите бесплатный SEO-аудит сайта — до 100 страниц. В отчёте будут видны редиректы, дубли и проблемы индексации, а Health Score покажет общее состояние сайта по шкале от 0 до 100 %.
Проверить инструментом
Модули сервиса оплачиваются с баланса, стоимость видна до запуска.
Часто задаваемые вопросы
Влияет ли www на SEO и позиции сайта?
Нет, сама приставка www на позиции не влияет. Яндекс и Google одинаково ранжируют сайты с www и без. На SEO влияет другое: склеены ли зеркала и не делятся ли ссылки и статистика между двумя адресами.
Что лучше для нового сайта: с www или без www?
Для нового сайта обычно выбирают адрес без www: он короче и его проще продиктовать. Важнее не сам выбор, а последовательность: один адрес на визитках, в рекламе, в Вебмастере и в sitemap, а все остальные варианты ведут на него 301-редиректом.
Можно ли склеить зеркала без доступа к серверу, например на конструкторе?
Да, в большинстве случаев. Конструкторы и CMS обычно позволяют выбрать основной адрес в настройках домена, а у многих хостингов есть переключатель редиректа на www или без www в панели. После включения проверьте, что редирект постоянный и сохраняет путь страницы.
Нужна ли сейчас директива Host в robots.txt?
Нет, Яндекс её больше не учитывает, и главный сигнал для склейки — 301-редирект. Если строка Host осталась в robots.txt, она ничего не ломает, но её можно удалить. Google эту директиву не поддерживал никогда.
Сколько времени занимает склейка зеркал в Яндексе?
Обычно от нескольких дней до нескольких недель. Срок зависит от того, как часто робот обходит сайт и насколько согласованы сигналы: редиректы, canonical, sitemap. Ускоряет процесс одно: настроить всё правильно с первого раза и не менять главное зеркало во время переклейки.
Можно ли вместо 301-редиректа использовать rel=canonical?
Нет, для зеркал нужен именно 301. Canonical — подсказка, которую поисковик может не учесть, к тому же посетители так и останутся на неглавном адресе. Canonical полезен как дополнение: после склейки он должен указывать на главный адрес.