Загрузка...
Загрузка...
Диагностика и устранение бесконечного цикла редиректов (redirect loop). Причины, типичные сценарии и пошаговые решения для Apache, Nginx и WordPress.
SEOПошаговая настройка редиректа HTTP на HTTPS для Apache, Nginx и WordPress. Готовые примеры конфигурации и проверка корректности.
SEOПодробное руководство по работе с редиректами: типы, настройка, влияние на SEO. Практические примеры для веб-разработчиков и SEO-специалистов. Лучшие практики и типичные ошибки.
SEOРуководство по FAQ Schema разметке: формат JSON-LD, требования Google, генерация FAQPage, проверка и типичные ошибки.
Поделитесь с коллегами или изучите другие материалы блога
Домены example.com и www.example.com — разные URL с точки зрения поисковых систем. Без редиректа они индексируются как дубли, что размывает ссылочный вес и ухудшает SEO. В этой статье — настройка редиректа www на без www (и обратно) для всех популярных платформ.
| Проблема без редиректа | Решение |
|---|---|
| Дублирование контента | Один канонический URL |
| Размывание ссылочного веса | Все ссылки ведут на один домен |
| Путаница в аналитике | Единый источник трафика |
| Дубли в sitemap | Один набор URL |
Выберите один канонический домен (с www или без) и настройте 301-редирект с альтернативной версии.
| Вариант | Плюсы | Минусы |
|---|---|---|
Без www (example.com) | Короче, современный стандарт | Некоторые ожидают www |
С www (www.example.com) | Традиционный формат | Длиннее |
Рекомендация: без www — короче, проще для пользователя, соответствует текущей практике. Но если сайт давно индексируется с www и имеет много обратных ссылок на www — можно оставить www каноническим.
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
%1 — захваченная группа из RewriteCond (домен без www).
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} (.+)$ [NC]
RewriteRule ^(.*)$ https://www.%1/$1 [L,R=301]
RewriteEngine On
RewriteBase /
# HTTP → HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# www → без www
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
Порядок важен: сначала HTTPS, затем www. Иначе при запросе http://www.example.com может возникнуть лишний переход.
Готовые правила можно сгенерировать в Генераторе .htaccess reChecker.
server {
listen 80;
listen 443 ssl http2;
server_name www.example.com;
return 301 https://example.com$request_uri;
}
server {
listen 80;
listen 443 ssl http2;
server_name example.com;
# ... основной конфиг
}
server {
listen 80;
listen 443 ssl http2;
server_name example.com;
return 301 https://www.example.com$request_uri;
}
server {
listen 80;
listen 443 ssl http2;
server_name www.example.com;
# ... основной конфиг
}
# HTTP (оба варианта)
server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}
# HTTPS с www
server {
listen 443 ssl http2;
server_name www.example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
return 301 https://example.com$request_uri;
}
# HTTPS без www — основной
server {
listen 443 ssl http2;
server_name example.com;
# ... основной конфиг
}
Настройки → Общие:
https://example.com (или https://www.example.com)Добавьте в начало .htaccess (перед # BEGIN WordPress):
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
Really Simple SSL или Redirection — поддерживают редирект www. Настройте в опциях плагина.
В панели Cloudflare:
(http.host eq "www.example.com") or (http.host eq "example.com" and scheme eq "http")concat("https://example.com", http.request.uri.path), Status code: 301Или используйте Page Rules (устаревают в пользу Redirect Rules):
www.example.com/* → Setting: Forwarding URL, 301, https://example.com/$1После настройки проверьте:
http://www.example.com → https://example.com (301)http://example.com → https://example.com (301)https://www.example.com → https://example.com (301)https://example.com → без редиректа (200)Используйте инструмент проверки редиректов reChecker для проверки цепочки. Для генерации правил Apache — Генератор .htaccess.
Выберите канонический домен (рекомендуется без www), настройте 301-редирект с альтернативной версии на уровне веб-сервера. Для Apache — mod_rewrite в .htaccess, для Nginx — отдельные server-блоки. После настройки проверьте все комбинации HTTP/HTTPS и www/без www.