301 редирект (301 Permanent Redirect) – серверне перенаправлення при зміні адреси сайту або сторінки. Ця відповідь сервера дозволяє автоматично перенаправити користувача на нову адресу. Пошукові системи при 301-редиректі розуміють, що відбулася зміна URL і найближчим часом здійснюють склеювання старих і нових адрес.
Налаштування 301 редиректу
1. Через php-умову
У цьому випадку сервером визначається перенаправлення, і браузер отримує команду відкрити нову адресу замість старої. Вказати php-редирект можна в кореневому файлі index.php
Варіант 1:<?php header(“HTTP/1.1 301 Moved Permanently”); header(“Location: http://new-domain.com/index-new.php”); exit(); ?>Варіант 2:
<?php
if($_SERVER['REQUEST_URI'] == "/index-old.php") {
header("Location: /index-new.php",TRUE,301);
exit();
}
?>
2. Через конфігураційний файл .htaccess
.htaccess — це конфігураційний файл веб-сервера Apache, що дозволяє управляти роботою веб-сервера і налаштуваннями окремого сайту без зміни основного конфігураційного файлу веб-сервера.
1. Переадресація старої сторінки на нову:
Redirect 301 /old.php http://www.mediasova.com/new.php
2. Переадресація старого сайту на новий
Варіант 1:Redirect 301 / http://new.mediasova.com/Варіант 2:
RewriteCond %{HTTP_HOST} ^old.mediasova.com [NC]
RewriteRule ^(.*) http://new.mediasova.com/$1 [L,R=301]
3. Переадресація з www на без www і навпаки
Переадресація з www.mediasova.com на mediasova.comRewriteCond %{HTTP_HOST} ^www.mediasova.com$ [NC]
RewriteRule ^(.*)$ http://mediasova.com/$1 [R=301,L]
Переадресація з mediasova.com на www.mediasova.com
RewriteCond %{HTTP_HOST} ^mediasova.com [NC]
RewriteRule ^(.*) http://www.mediasova.com/$1 [L,R=301]
4. Редирект з http на https
Варіант 1:RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Варіант 2:
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
5. Редирект з https на http
RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]
6. Переадресація з усіх неіснуючих піддоменів на Ваш сайт
RewriteCond %{HTTP_HOST} ^(.*).mediasova.com [NC]
RewriteRule ^(.*)$ http://mediasova.com/$1 [L,R=permanent]
Додатково про файл .htaccess:
- Деякі налаштування, наприклад, редирект з http на https або з www на без www, можна робити через налаштування хостингу в панелі клієнта, не вносячи правки в файл .htaccess
- Наведенні вище правила налаштування для 301-редиректу краще розміщувати всі правила після двох рядків, якщо вони є у Вашому файлі .htaccess:
Options +FollowSymLinks RewriteEngine On
- Коментар у файлі позначається символом решітка «#» на початку рядка:
# Текстовий коментар, ця стрічка не буде оброблятися
- Методи редиректу з використанням .htaccess працюють тільки на серверах з операційною системою Linux, з встановленим сервером Apache з увімкненим модулем Mod-Rewrite.
- Використання .htaccess створює додаткове навантаження на сервер Apache. Більш ефективно прописувати ті ж команди в конфігураційному файлі httpd.conf, але зазвичай до нього немає доступу у вебмайстра.
Порада SEO-спеціаліста: 301 редирект – хороший метод збереження позицій і результатів просування сайту в пошукових системах при переїзді сайту на нову адресу. Коректна настройка 301-редиректу в файлі .htaccess також дозволяє уникнути появи дублів сторінок.
