Сайт открывается с www и без www: как склеить зеркала
Что это значит
Сайт одинаково открывается по адресу с www и без него, и ни один из них не перенаправляет на другой. Для поисковика это два сайта-близнеца («зеркала»).
Чем мешает
Поисковик сам выбирает, какой адрес показывать, а вес ссылок и история делятся между двумя копиями. Позиции из-за этого ниже, чем могли бы быть.
Почему сайт открывается с www, а без www нет
- Адрес с www и без www для интернета — два разных имени. Каждое должно быть прописано у регистратора домена (DNS) и подключено на хостинге.
- Чаще всего у домена есть запись для www, но нет A-записи для основного имени (@) — или наоборот. Откройте управление DNS у регистратора и проверьте, что обе записи есть и ведут на ваш хостинг.
- Если записи есть, проверьте хостинг: второй вариант адреса должен быть добавлен к сайту (алиас), а на нём должен работать сертификат HTTPS. Иначе браузер покажет ошибку сертификата.
- Когда оба адреса открываются, настройте 301-редирект со второстепенного на главный — как описано выше. На Тильде для этого нужны две A-записи и настройка «Редиректы для WWW, HTTPS».
- Проверьте результат: оба адреса должны открывать сайт, а второстепенный — переадресовывать на главный за один шаг.
Какой адрес писать в буклете и на визитке: с www или без
- Пишите главное зеркало — тот адрес, который вы выбрали главным и на который ведёт редирект. Короткий вариант без www обычно удобнее читать и набирать.
- Главное — чтобы человек попал на сайт при любом наборе: настройте редирект со второго варианта, и тогда неважно, введёт он www или нет.
- Протокол (https://) в печати можно не писать: браузер добавит его сам, а редирект с http на https переведёт на защищённую версию.
- На сайте, в соцсетях, в Яндекс Бизнесе и Google указывайте тот же главный адрес, что и в печати.
Как исправить
WordPress
- Проверьте «Настройки → Общие»: в обоих адресах должен стоять один вариант (обычно без www). WordPress сам перенаправляет второй вариант. Если этого не происходит, добавьте правило в
.htaccess(пример ниже) или настройте перенаправление в панели хостинга.
Tilda
- «Настройки сайта → SEO → Редиректы для WWW, HTTPS» → выберите один вариант (с www или без). Опубликуйте все страницы.
1С-Битрикс
- Добавьте правило в
.htaccess(пример ниже). В настройках сайта в админке Битрикса («Настройки → Настройки продукта → Сайты») укажите главный адрес сайта.
OpenCart
- Добавьте правило в
.htaccess(пример ниже). Проверьте, что вconfig.phpуказан тот же главный адрес.
Другой движок или свой сервер
- Сделайте отдельный server-блок для www с
return 301на основной адрес (пример ниже).
Пример кода
Замените example.by на адрес своего сайта.
# nginx: все http и www ведут одним 301 на https://example.by
server {
listen 80;
server_name example.by www.example.by;
return 301 https://example.by$request_uri;
}
server {
listen 443 ssl;
server_name www.example.by;
ssl_certificate /etc/letsencrypt/live/example.by/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.by/privkey.pem;
return 301 https://example.by$request_uri;
}
# .htaccess в корне сайта (Apache). Замените example.by на свой домен.
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^ https://example.by%{REQUEST_URI} [L,R=301]
Директиву Host в robots.txt Яндекс не учитывает с 2018 года. Склеивает зеркала только перенаправление 301.
Если сайт делал подрядчик
Перешлите ему ссылку на отчёт и эту просьбу:
Сайт открывается и с www, и без www. Выберите, пожалуйста, один главный адрес и настройте постоянное перенаправление 301 со второго на него.
Как проверить, что всё исправлено
Проверьте сайт снова на yasnoseo.by. В Яндекс Вебмастере главное зеркало видно в разделе «Индексирование → Переезд сайта».