Зачем настраивать главное зеркало
Один и тот же сайт может быть доступен по нескольким адресам: с www и без, по HTTP и HTTPS. Для пользователя разницы нет, но поисковые системы воспринимают https://site.ru и https://www.site.ru как два разных сайта. Если не настроить главное зеркало, ссылочная масса и поведенческие факторы размажутся между версиями, а в индексе появятся дубли.
Я рекомендую разобраться с зеркалами в самом начале работы над сайтом. Исправлять эту проблему через полгода, когда обе версии уже проиндексированы, значительно сложнее — придется ждать переклейки в Яндексе, которая занимает от двух недель до нескольких месяцев.
Пошаговая инструкция
Шаг 1. Определите текущее состояние
Откройте в браузере четыре варианта адреса вашего сайта:
http://site.ruhttp://www.site.ruhttps://site.ruhttps://www.site.ru
Проследите, куда перенаправляет каждый вариант. В идеале все четыре должны приводить к одному адресу — это и будет главное зеркало. Если какие-то версии открываются самостоятельно, без редиректа — проблема есть.
Для точной проверки используйте инструмент проверки HTTP-заголовков или команду в терминале: curl -I http://www.site.ru. В ответе должен быть код 301 и заголовок Location с адресом главного зеркала.
Шаг 2. Выберите основной адрес
Современный стандарт — HTTPS без www: https://site.ru. Это самый распространенный вариант, и я рекомендую его, если нет веских причин для иного выбора.
Причины выбрать версию с www:
- У сайта давняя история с www и большая ссылочная масса на этот адрес.
- Используется CDN, которому нужен CNAME-запись (технически проще настроить для www).
Если сайт новый или молодой — выбирайте без www. Короче, проще, привычнее для пользователей.
Шаг 3. Настройте 301 редирект на сервере
Для Nginx (наиболее распространенный вариант на VPS):
server {
listen 80;
server_name site.ru www.site.ru;
return 301 https://site.ru$request_uri;
}
server {
listen 443 ssl;
server_name www.site.ru;
return 301 https://site.ru$request_uri;
}
Первый блок перенаправляет все HTTP-запросы на HTTPS без www. Второй блок обрабатывает запросы, которые пришли на HTTPS с www, и тоже редиректит на версию без www.
Для Apache (если используете .htaccess):
RewriteEngine On
# Редирект HTTP на HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]
# Редирект www на без www
RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]
Важно: используйте именно 301 (постоянный) редирект, а не 302 (временный). Только 301 передает ссылочный вес и сигнализирует поисковику, что переезд окончательный.
Шаг 4. Проверьте настройки WordPress
В панели WordPress перейдите в Настройки → Общие. Убедитесь, что оба поля — «Адрес WordPress (URL)» и «Адрес сайта (URL)» — содержат выбранный вариант зеркала. Например: https://site.ru (без www, с HTTPS). Если здесь указан неправильный адрес, WordPress будет генерировать ссылки с ошибочным доменом.
Шаг 5. Укажите главное зеркало в Яндекс Вебмастере
Яндекс позволяет явно указать предпочтительный адрес. Для этого:
- Добавьте в Яндекс Вебмастер обе версии сайта (с www и без www) и подтвердите права на каждую.
- Перейдите в настройки нужной версии: Индексирование → Переезд сайта.
- Укажите, на какой адрес переезжаете (выберите главное зеркало).
После этого Яндекс начнет процесс переклейки — объединит версии и оставит в индексе только главное зеркало. Процесс занимает от одной до нескольких недель.
Шаг 6. Проверьте Google Search Console
Google определяет каноническую версию автоматически на основе редиректов и тега canonical. Но для полноты контроля добавьте в Google Search Console обе версии (с www и без) как отдельные ресурсы. Google объединит данные, но вы будете видеть статистику для каждой.
Если используете ресурс на уровне домена (DNS-подтверждение), оба варианта учитываются автоматически.
Шаг 7. Обновите внешние ссылки (где возможно)
Пройдитесь по основным площадкам, где есть ссылки на ваш сайт:
- Социальные сети (профили, страницы).
- Каталоги и справочники.
- Профили на форумах и отзовиках.
- Партнерские сайты.
Измените ссылки на адрес главного зеркала. Редирект 301 передает ссылочный вес, но прямая ссылка на правильный адрес всегда лучше, чем цепочка через редирект.
Типичные ошибки
- Цепочки редиректов. Запрос проходит два-три редиректа:
http://www→https://www→https://без www. Каждый промежуточный шаг съедает время загрузки и может терять ссылочный вес. Настройте все варианты на прямой редирект к конечному адресу. - 302 вместо 301. Временный редирект не передает ссылочный вес и не сигнализирует о постоянном переезде. Яндекс может годами держать в индексе обе версии.
- Настройка только в WordPress, без сервера. WordPress-редиректы работают через PHP, а значит, нагружают сервер и срабатывают медленнее. Редирект на уровне Nginx или Apache отрабатывает до запуска PHP — это быстрее и надежнее.
- Забыли про поддомены. Если на сайте есть поддомены (например, blog.site.ru), проверьте, что и для них настроен HTTPS и нет конфликтов с основным зеркалом.
- Внутренние ссылки ведут на неосновное зеркало. Если в контенте или шаблонах остались ссылки на http:// или www-версию, это создает ненужные редиректы при каждом переходе.
Что проверить в итоге
- Все четыре варианта адреса (http/https, с www/без www) редиректят на одно главное зеркало кодом 301.
- Редирект прямой, без промежуточных шагов (одна цепочка, один 301).
- В настройках WordPress оба URL-поля содержат адрес главного зеркала.
- В Яндекс Вебмастере указан переезд на главное зеркало, статус переклейки — завершен или в процессе.
- В Google Search Console добавлены обе версии, каноническая определяется корректно.
- Внутренние ссылки на сайте используют адрес главного зеркала без редиректов.
- Директива Sitemap в robots.txt указывает URL с правильным зеркалом.