SEO редиректы. HTTP status codes. PHP. Apache
Памятка для SEOшников о редиректах
- Девушка, а как пройти в библиотеку? (с)
В последнее время что-то слишком часто приходится сталкиваться с редиректами. Поэтому сделаю я-ка памятку по ним, чтоб каждый раз не гугл не мучить одними и теми же запросами.
Погнали. Сначало? каратенька минут на 40
определимся, что есть редирект?
Редирект – это процесс перенаправления посетителя на другую страницу. Перенаправление осуществляется вебсервером посредством помещения соответствующего HTTP-кода в заголовок HTTP-запроса. Так вот, оказывается, HTTP-кодов, отвечающих за редирект аж целых 7 штук. Перечислю их:
[Redirection 3xx]
300="Multiple Choices"
301="Moved Permanently"
302="Found" (e.g. )
303="See Other"
304="Not Modified"
305="Use Proxy"
306="(Unused)"
307="Temporary Redirect"
Охренеть. До сего момента понятия не имел что их столько. Ээх, говорила мне мама: «Cынок! Читай RFC’ы внимательно, пригодится же»
Короче, кому интересно, подробней про редиректы со словариком можно почитать в спецификации протокола HTTP/1.1.
Нам же братьям SEOшниками, все знать не обязательно, достаточно двух основных: 301 и 302 редиректы.
Итак, редирект 301-ый, он же «Permanent Redirect«, он же «Moved Permanently«. Используется в случаях когда, необходимо сменить домен или отдельно взятую страницу на другое постоянное место жительство, для склейки имени сайта с www и без него. Данный редирект говорит браузеру (или поисковому боту), что запрашиваемая страница НАВСЕГДА перенесена в другое место назначения, и перенаправляет на это другое место. Причем при таком редиректе происходит, так называемая, склейка, сущность которой состоит в перетекании PR’ов и тИЦ’ей и других различных рейтигов поисковых систем со страниц старого домена, на страницы нового. Про смену доменов со склейкой ещё можно почитать у Dimox’a.
Далее, редирект 302-ый, вот здесь с погонялами 302-го редиректа некоторый кавардак. В основном все SEOшники на своих блогах называют его «Moved Temporarily» или «Temporary Redirect«, хотя по спецификации должен быть «Found«. Дело в том, что первые руководствовались устарелым RFC2068, правильнее было бы полагаться на название описанное в актуальном на текущий момент RFC2616.
С измененными названиями редиректа вроде как разобрались. Тем не менее смысл этого редиректа ничуть не изменился и заключается лишь в том, что запрашиваемая страница перенесена в другое место назначения ВРЕМЕННО. В следствии чего склейка не происходит, слив PR’ов и тИЦ’ей не засчитывается
Однако некоторые продолжают спорить с данным утверждением и говорят об обратном, так как раньше поисковые системы хреново обрабатывали данный редирект и смышленные SEO-hijacker’ы умудрялись поиметь гугл и развести его на халявный PR. У Kass’a можно почитать про хитрожопые клоакинг-склейки (но походу нынче уже не действенные).
В общем с редиректами определились.Теперь непосредственно памятка по редиректам.
Редирект через meta-тэг «Refresh»:
<meta http-equiv='Refresh' content='0; url=http://homelessinbelarus.com'>
Редирект через Javasript:
<script type="text/javascript"> <!-- window.location = http://homelessinbelarus.com"; //--> </script>
Редирект с помощью PHP:
для 301-го редиректа
<?php
// 301 Moved Permanently
header("Location: http://homelessinbelarus.com", true, 301);?>
для 302-го
<?php
// 302 Found
header("Location: http://homelessinbelarus.com", true, 302); ?>
Редирект через .htaccess (Apache HTTP Server)
для 301-го редиректа
# 301 Moved Permanently Redirect 301 / http://homelessinbelarus.com
для 302-го
# 302 Found Redirect 302 / http://homelessinbelarus.com
Внимание: при использовании клиентских редиректов (я их называют так потому что, они указываются в теле html документа, а не непосредственно в заголовке запроса). Так вот при их использовании по умолчанию ре
директ является 302ым. Будьте внимательны.
Update: доступно и с приколом о редиректах.
Переезд на собственый домен на блогспоте
Для тех кто ещё не заметил, совсем недавно сменил блогспотовский домен на собственный. Собственно решил особо не заморачиваться с выбором имени домена и не мудрствуя лукаво просто отбросив .blogspot и получив в итоге homelessinbelarus.com. Полученный домен, к счастью, оказался не занятым. Вот его радимого я себе и взял.
Так что, расскажу как я его прописывал на данный блогспотовский бомжеблог. Возможно кому-нить и пригодиться. Признаюсь, что в премудростях записей DNS протоколов, никогда не разбирался, максимум, так это прописывал NS-сервера домена. Остальные записи типа A, МХ, CNAME для меня до сих пор темный лес. Так что, действовал по интуиции, так сказать методом проб и ошибок, особо не вдаваясь в подробности DNS записей.
Итак, исследуя англоязычную контекстную справку blogger’a:
A CNAME, or Canonical Name, record is an entry within the Domain Name System (DNS) that specifies where a user can find your web pages, or any other URL. You’ll use this to associate your custom domain with your blog.
After registering your domain, decide if you want to use a particular subdomain for your blog. E.g. instead of www.mydomain.com you could use something like blog.mydomain.com, if you want. Then you’ll create a corresponding CNAME record for that address, associating it with ghs.google.com. Keep in mind that changes to DNS records make take up to 48 hours to take effect.
становиться ясно, что в запись CNAME в админ-панели управления моим бомжедоменом надо прописать значение ghs.google.com.
Без вопросов. Надо – пропишем.
Так и сделал. Подождал два дня, столько говорят нужно ждать чтобы все подсосалось на корневых ДНС-серверах. Так вот через 2 дня, никто и нигде не прописался. Копаю дальше.
Отыскал на одном из форумов что нужно ещё прописать IPшник гугла в запись A, а именно mysite.com IN A 64.233.179.121. Несмотря особо на тот факт, что чувак с данного форума причитал неудачность данного решения, я решил, как уже говорил, методом тыка добавить предложенную запись.
Уже на завтра моему взору предстала страничка со следующим содержанием:
Server Not FoundError 404
Это означало, что мой доменчег привязался алиасом на гугловский ghs.google.com, однако тот понятия не имел с каким же блогспотовским доменом его надо было связать.
Теперь было самое время идти в админку Blogger’a и менять блогспотовский домен на свой собственный.
После замены доменов, как мы уже наблюдаем, Blogger успешно заредиректил мой новый домен на блог.
Итак, в связи с этим резюмирую…
Чтобы успешно переехать на собственный домен на блогспоте мне пришлось добавить следующие DNS-записи:
homelessinbelarus.com. A 64.233.179.121www CNAME ghs.google.comhomelessinbelarus.com. NS ns1.x5x.ru. homelessinbelarus.com. NS ns2.x5x.ru.
Возможно у других регистраторов все по-другому и проще. Но у меня было так.
Чюс.
Я бычок подниму горький дым затяну, люк открою, полезу домой ... (с)
