Склейка зеркал сайта Сайты http://названиесайта и http://www.названиесайта поисковики считают разными, хотя это адреса одного и того же ресурса.
Поисковики один сайт проиндексируют, а другой будет расцениваться как дубль, что может повлиять на его продвижение. Чтобы этого не случилось, нужно «склеить» сайты — прописать 301 редирект в .htaccess.
Если поисковые системы сначала проиндексировали версию с «с www», то главным зеркалом будет адрес вида www.site.ru , соответственно, в файл .htaccess нужно добавить редирект с адреса «без www» на адрес «с www».
Выглядит это так:
RewriteCond %{HTTP_HOST} !^www.name.site.ru$
RewriteRule ^(.*)$ http://www.name.site.ru/$1 [L,R=301]
Напротив, если поисковики проиндексировали первой версию «без www», нужна переадресация с адреса вида www.site.ru на site.ru и главным зеркалом будет адрес вида site.ru. В файл нужно прописать:
RewriteCond %{HTTP_HOST} ^www.(.+) [NC]
RewriteRule .* http://%1/$0 [L,R=301]
Редирект постранично Иногда редирект на https нужен на всех страницах, кроме одной. В такой ситуации логично использовать постраничный редирект:
RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} !^/page.php
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
Если нужно сделать редирект с http на https только одной страницы, например, page.php, вставьте в файл следующую конструкцию:
RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} =/page.php
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
Изменение домена Если вам нужно перейти на другой домен и сохранить все позиции SEO, внесите в файл .htaccess:
RewriteCond %{HTTP_HOST} ^www.old_name.ru$ [NC]
RewriteRule ^(.*)$ http://new_name.ru/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^old_name.ru$ [NC]
RewriteRule ^(.*)$ http://new_name.ru/$1 [L,R=301]
Переадресация для URL с параметрами и без них
Как сделать редирект для URL без параметров? Если нужно поменять URL страницы, т.е. перетащить информацию с одной страницы на другую без потери значений SEO, пропишите в файл .htaccess следующее:
RewriteRule ^(.*)old_page.html$ http://vash-sait.ru/new_page.html [R=301,L]
Рассмотрим, как выполнить редирект с параметрами. Для примера возьмем URL http://name.site/articles.php?section=1 , где параметр — это «section=1». Чтобы сделать редирект, пропишите такую конструкцию:
RewriteCond %{QUERY_STRING} section=1
RewriteRule ^index.php http://name.site/articles.php ? [R=301,L]
Переадресация с index.php на главную
В случае, если главная страница недоступна по нескольким адресам одновременно, используйте следующую конструкцию:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php HTTP/
RewriteRule ^index.php$ http://name.site/ [R=301,L]
Редирект со страниц со слешем на без слеша (для всего сайта)
Чтобы в файле .htaccess не было дублей, используйте конструкцию:
RewriteCond %{REQUEST_URI} !?
RewriteCond %{REQUEST_URI} !&
RewriteCond %{REQUEST_URI} !=
RewriteCond %{REQUEST_URI} !.
RewriteCond %{REQUEST_URI} ![^/]$
RewriteRule ^(.*)/$ /$1 [R=301,L]
Можно также применить более короткий вариант:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
Редирект со страниц без слеша на слеш (для всего сайта) Если нужны адреса со слешем, используйте такой вариант:
RewriteCond %{REQUEST_URI} !?
RewriteCond %{REQUEST_URI} !&
RewriteCond %{REQUEST_URI} !=
RewriteCond %{REQUEST_URI} !.
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*[^/])$ /$1/ [R=301,L]
Постоянный редирект для Nginx Обычно этот сервер используется на VPS-хостинге совместно с сервером Apache. В нем для настройки 301 редиректа добавляют строки в конфигурационный файл nginx.config в секции server.
• C www на без www:
server {#...
if($host~ * www.(.*)) {
set $host_without_www $1;
rewrite ^ (.*) $ http: //$host_without_www$1 permanent;
}#...
}
• Без www на с www:
server {#...
if($host~ * ^ [ ^ .] + .[ ^ .] + $) {
rewrite ^ (.*) $ $scheme: //www.$host$1 permanent;
}#...
}
Сохраните внесенные в файл изменения и перезапустите сервер.
301 редирект для разных панелей управления хостингом Cpanel
Перейдите в блок «Домены», найдите «Перенаправления»:
В появившемся окне выполните следующее:
в строке «Тип» выберите «Постоянный 301»; в строке «https://www » из списка выберите домен сайта (в качестве примера возьмем primer.ru); в строке «Перенаправляет на» укажите для домена адрес http://primer.ru ; в блоке «Перенаправление www» выберите «Перенаправлять только с www»; сохраните изменения, нажав на «Добавить».
ISPmanager В этой панели можно вносить изменения в файлы nginx.config или .htaccess. При этом панель имеет встроенный механизм редиректа. Так, чтобы настроить переадресацию на https/http, снимите галочку с соответствующего пункта в разделе «WWW-домены».
Beget
Настроить 301 редирект инструментами панели управления нельзя. Хостинг управляется с сервера Apache, поэтому редирект можно настроить с помощью файла .htaccess.
Особенности редиректа для популярных CMSWordPress WordPress — одна из самых популярных CMS. Она имеет десятки плагинов для настройки постоянного редиректа, например:
Redirection; Simple 301 Redirects; Quick Page; SEO Redirection; Safe Redirect Manager. В качестве примера разберем редирект через плагин Redirection. Он настраивается через консоль сайта во вкладке «Инструменты» или через раздел плагинов. Для переадресации нужно заполнить 2 поля: Source URL и Target URL. В первой графе внесите старый адрес, а во второй — новый с www или без него.
Редирект можно выполнить посредством внесения правок в файл .htaccess в разделе управления хостингом. Чтобы подключиться к нему, используйте FTP-клиента. Процесс совпадает с общей инструкцией для .htaccess.
Битрикс
Чтобы «перебросить» пользователя на новую страницу, отредактируйте файл .htaccess и внесите такой редирект:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.sng-it.ru$ [NC]
RewriteRule ^(.*)$ http://sng-it.ru/$1 [R=301,L]
Автоматическое создание кода Если вы по какой-то причине не можете самостоятельно создать код, воспользуйтесь помощью специалистов техподдержки или автоматическими онлайн-генераторами.
Чтобы поисковик считал 2 разных адреса одним сайтом, переадресация должна работать постоянно. 301 редирект — надежный и удобный инструмент, с помощью которого можно оптимизировать сайт и исправлять ошибки в его работе.Помните, что с великой силой приходит великая ответственность
Однако использовать 301 редирект нужно осторожно: неправильная настройка может стать причиной сбоя в работе сайта или потери позиций ресурса в поисковике.