Как сделать 301 редирект – Уроки SEO

Вот и добрались до третьего урока, на удивление стал писать на блоге чаще. В предыдущих уроках мы рассмотрели такие теги, как TITLE и DESCRIPTION, а сегодня поговорим от том, как сделать 301 редирект.

Для тех, кто еще не в курсе  редирект – это процесс перенаправления с одного URL на другой. Существуют три основных вида переадресации – 301, 302 и Meta Refresh.[space]

Виды Редиректа:

  • 301 (“Moved Permanently”) – рекомендуется для SEO;
  • 302 (“Found” or “Moved Temporarily”);
  • Meta Refresh.

Что такое редирект?

Редирект представляет собой способ отправки как пользователя, так и поисковые системы на другой URL , который отличается от первоначально запрошенного. Ниже приведены описания некоторых из наиболее часто используемых типов переадресации.

301 Moved Permanently

301 редирект – это постоянное перенаправление, которое передает около 90-99% ссылочного веса на страницу переадресации. В большинстве случаев, 301 редирект – это лучший способ для осуществления перенаправления на сайте.

302 Found (HTTP 1.1)/Moved Temporarily (HTTP 1.0)

302 редирект – это временное перенаправление, передающее 0% ссылочного веса и в большинстве случаев такое перенаправление не должно использоваться. Как известно, Интернет работает по протоколу HyperText Transfer Protocol (HTTP), который определяет работу ссылок. В первой версии 302 ссылался на код статуса “Moved Temporarily”, в версии 1.1. изменили на “Found”.

Meta Refresh

Meta Refresh это один из типов перенаправления, который выполняется на уровне страницы, а не на уровне сервера (Как правило такой перенаправление медленнее, передает лишь часть ссылочного веса и не рекомендуется в SEO). Обычно такой редирект связан с 5-секундный отсчетом и текстом: “Если вы не перенаправлены в течение 5 секунд, нажмите здесь”.

Теперь рассмотрим различные варианты того, как сделать 301 редирект.

Редирект одной страницы с помощью PHP:

<?
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.flabme.ru/index.php");
exit();
?>

Канонический редирект с помощью PHP:

Канонические 301 редирект добавляет (или удаляет) префиксы www для всех страниц внутри домена. Приведенный ниже код перенаправляет посетителей c  http://flabme.ru на http://www.flambe.ru

<?php
if(substr($_SERVER['HTTP_HOST'],0,3)!='www'){
     header('HTTP/1.1 301 Moved Permanently');
     header('Location: http://www.'.$_SERVER['HTTP_HOST'] .$_SERVER['REQUEST_URI']);
 }
?>

Редирект одной страницы с помощью .htaccess:

Redirect 301 /old/oldpage.htm
/new/http://www.flabme.ru/index.php

Канонический редирект с помощью .htaccess:

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^flabme.ru [nc]
rewriterule ^(.*)$ http://www.flabme.ru/$1 [r=301,nc]

Редирект одной страницы на ASP платформах:

<%
Response.Status="301 Moved Permanently"
Response.AddHeader='Location','http://www.new-url.com/'
%>

Канонический редирект на ASP платформах:

<%
 If InStr(Request.ServerVariables("SERVER_NAME"),"www") = 0 Then
 Response.Status="301 Moved Permanently"
 Response.AddHeader "Location","http://www." & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("SCRIPT_NAME")
 End if
 %>