301 Redirect – це помилка запиту на адресу сайту, що означає, що сайт або сторінка були переміщені. Вирішує цю помилку сервер самостійно шляхом надсилання запиту на нову адресу, якщо функція редагування налаштована. Важливо, що зміна адреси враховується як для користувачів, а й у пошукових систем. Надсилання запиту на іншу адресу у разі припинення дії старого і є 301 Redirect.
Для чого потрібний 301 Redirect
Вкрай важливо в роботі цієї функції наступне: показники однієї адреси сайту передаються іншій адресі. Всі PageRank, ТІЦ і навіть посилальна вага адреси буде закріплено за новим посиланням. Тобто. якщо змінюється адреса сайту або сторінки, то функція 301 Redirect налаштовується для збереження рейтингу пошукових систем. Показники сайтів “склеюються”. Це головне завдання редиректу 301.
Отже, підбиваючи короткі підсумки, маємо:
- 301 Redirect – функція сервера, яку потрібно налаштувати;
- стара адреса “склеюється” з новою, зберігаючи свої властивості.
Як настроїти редирект 301 самостійно
Налаштування через .htaccess
Під час роботи з Apache налаштування виконується у файлі .htaccess. Пам’ятайте, що необхідно активувати mod_alias (відповідає виконання завдання Redirect) mod_rewrite (для змін URL) у файлі php.ini. Для редагування вказаних файлів можна використовувати будь-який текстовий редактор аж до звичайного блокнота.
При зміні адреси з WWW на адресу без WWW:
RewriteEngine On
RewriteCond %{HTTP_HOST} www.oldpage.ua$ [NC]
RewriteCond %{REQUEST_URI} ! /robots.*
RewriteRule (.*)$ http://newpage.ua/$1 [R=301,L]
При зміні адреси без WWW на адресу WWW:
RewriteEngine On
RewriteCond %{HTTP_HOST} oldpage.ua$ [NC]
RewriteCond %{REQUEST_URI} ! /robots.*
RewriteRule (.*)$ http://www.newpage.ua/$1 [R=301,L]
Прописувати всі перенаправлення сторінок вручну – величезна за тимчасовими рамками робота. Мінімізувати та прискорити її можна, якщо всі сторінки старої адреси перекладатимуть будь-який запит на головну сторінку нової:
RewriteCond %{REQUEST_URI} (.*)
RewriteRule (.*)$ http://newsite.ua/ [L,R=301]
Головні проблеми виникають при редиректі з одного домену до іншого. Простий приклад перенаправлення на новий домен:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC]
RewriteRule ([ /]+) $1 [L]
RewriteCond %{HTTP_HOST} oldsite.ua
RewriteRule (.*)$ http://newsite.ua/$1 [R=301,L]
RewriteCond %{HTTP_HOST} www.oldsite.ua
RewriteRule (.*)$ http://newsite.ua/$1 [R=301,L]
Користувачів можна повідомляти про те, що сайт переїхав за допомогою мови програмування PHP так званого скрипту
HTTP/1.1 301 Moved Permanently
Location: http://www.newsite.ua/
У цьому випадку користувач побачить повідомлення про те, що трапилося з сайтом, в даному прикладі “Moved Permanently” і побачить нову адресу сайту нижче.
Перенаправлення можна здійснити за допомогою мови PHP, не влазячи у файл .htaccess
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://www.newsite.ua/”);
exit();
?>
Поради щодо налаштування 301 Redirect
А саме:
- поспілкуйтеся з представниками хостингу: яке програмне забезпечення у них стоїть і які права у вас є;
- переадресація має бути від дрібних до великих (спочатку сторінки, потім домен);
- перевірте редирект після його налаштування.