#1 Online pharmacy affiliate program! Инвайты в ICQ 400*276*143

301 редирект

22.07.2007 SEO, Ссылки

301 redirectПять вещей, которые должен знать любой вебмастер:

1. Язык гипертекстовой разметки HTML (XHTML)
2. CSS - язык стилей
3. JavaScript
4. PHP. Можно и другой скриптовый язык, например Perl, но PHP все же будет очень полезно знать.
5. Mod_rewrite.

Конечно, список можно дополнять. Тем более что хороший вебмастер непрерывно учится по ходу работы.

Зачем нужно знать mod_rewrite? Это модуль Apache, который сделает за вас уйму работы. Одно из применений mod_rewrite (и PHP, и…) - 301 редирект. Остановимся на нем подробнее.

Это очень полезная функция, которую можно реализовать разными способами. 301 - это код серверного сообщения “Moved Permanently”, то есть сообщение о том, что данный URL теперь живет по другому адресу. Применений для такого редиректа - масса, начиная от склеивания урлов с www и без, и заканчивая акробатикой с Linkbaiting’ом (об этом подробнее расскажу потом).

Например нужно поклеить урлы вашего сайта с www и без. Если урлы не склеены, то поисковики считают их разными сайтами. Робот читает domain.com и вносит его в индекс, потом приходит по другой ссылке на www.domain.com и вносит в индекс его. Получается у вас есть 2 разных сайта с одинаковым содержимым и разделенными ссылками (часть ссылок - на domain.com, часть - на www.domain.com). Ссылочное падает, контент дублируется - ничего хорошего. Будем исправлять.

Очень хороший способ склеивания - 301 редирект. Есть много путей его реализации. Вот пример реализации 301 редиректа через mod_rewrite:

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

Этот код нужно поместить в файл .htaccess. В результате ваш домен domain.com будет передавать ссылочное на www.domain.com (это и будет ваш основной домен). Аналогично можно сделать основным доменом домен без www:

RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{http_host} ^www.domain.com$
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]

Также 301 редирект можно использовать, когда ваш сайт переезжает. То есть вы переходите с domain.com на newdomain.com. Используя 301 редирект, вы не потеряете работу по продвижению старого домена. В .htaccess старого домена пишем:

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

Mod_rewrite - это модуль сервера Apache, поэтому он применим не для всех случаев. Более гибкий вариант - редирект средствами PHP:

Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.newdomain.com" );
?>

Как всегда, проще всего программить на Perl:

$q = new CGI;
print $q->redirect("http://www.new-url.com/");

Еще есть много вариантов реализации 301 редиректа - для разных серверов и разных конфигураций. Всегда можно воспользоваться Гуглей.

Переезд на новый домен - это конечно хорошо, но можно найти и более интересное применение 301 редиректа. 301 редирект в этом случае является заключительной частью одного из способов linkbaiting’а. Этот способ наращивания количества внешних ссылок был применен на seomoz.org и принес за пару месяцев 100К+ входящих ссылок (и никакого спама). Состоял эксперимент вот в чем: на отдельном домене 2-3 месяца проводился какой-то конкурс, о котором было написано в digg, другие социалки, на форумы и так далее. На конкурсы и голосования линкуются только в путь - количество ссылок растет как снежный ком. Например сейчас будет проводиться новый конкурс от Google - и таких вот ссылок, как в этом посте, через месяц-другой будет 100К+ как минимум. Так вот, через месяц-другой конкурс закончился, но ссылки-то остались! На домене конкурса поставили 301 редирект на seomoz- так seomoz получил еще плюс 100К+ естественных добровольных ссылок. Вот так все радужно получилось.

Может возникнуть вопрос об отношении поисковых систем к 301 редиректу. Так вот, к 301 редиректу ПС относятся хорошо.


Комментариев (18) на «301 редирект»

  1. Мастер пишет:

    Спасибо за советы, как раз начинаю в этой области, буду рад если поделитесь опытом.

  2. egorych пишет:

    Поделюсь по мере возможности :) . Если интересно что-то конкретное - задавайте вопросы.

  3. Артемей Матов пишет:

    Хорошая статья. для начала.
    Спасибо.

  4. LobotrYAS пишет:

    Интересно и полезно! Спасибо :)

  5. egorych пишет:

    На здоровье. Хочешь отблагодарить - поставь на меня ссылку :) Шутка. Хотя в каждой шутке есть доля шутки…

  6. Mad Cat пишет:

    По-моему проще прятать аффилейтные линки php-шным header-ом а не через Mod_rewrite.

  7. egorych пишет:

    Суть от этого не изменится :)

  8. mediaray пишет:

    Блин, полезная статья! Я раньше и не задумывался об этом ! Спасибо большое, буду применять!

  9. мухомор пишет:

    Ну что ж попробую… как раз такая необходимость появилась. Спасибо за инфу!

  10. Vital пишет:

    Полезно! Начало правда не оч. понятно…

  11. Саня пишет:

    Здравствуй автор)) Хотелось бы спросить о назначении оследней буквы “L” в строке RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L] и почему в самом первом примере вместо еёйной стоит nc

  12. egorych пишет:

    Привет. Все просто.
    В скобки [] заключаются флаги к правилам mod_rewrite. Можно например писать RewriteRule … [R=301,NC,L и другие флаги через запятую]. В примерах указаны разные опции. NC - no case (учет регистра при сравнении с шаблоном), L - symbolic link, ну и так далее. Опций много; если нужно составить какое-нибудь сложное правило - смотрите офиц. документацию:
    http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

  13. Эффектив пишет:

    Полезная инфа! А насчет конкурсов так вообще супер, никогда не использовал этот способ повышения поулярности (только как участник), и вот теперь задумался, может быть стоит попробовать? На каждом сайте по конкурсу, придется сервер покупать!

  14. egorych пишет:

    Конкурсы хорошо работают для буржуев - они ссылок на свои мнения не жалеют ;)

  15. Nomad пишет:

    Спасибо за статью

  16. cross пишет:

    Спасибо :) Уже начинаю пробовать!

  17. Алексей пишет:

    Ух ты, интересная инфа, а что там насчет другого применения mod_rewrite?

  18. Urgor пишет:

    > насчет другого применения mod_rewrite?
    Формирование Хуман ридабле урлов. Ходишь по сайту в виде domain.com/123/456/qwerty
    а модрерайт делает
    domain.com/index.cgi?category=123&user=456&search=qwerty
    например. Но такие урлы получает только веб-сервер.

Comments RSS Feed

Оставьте свой комментарий



Click to hear an audio file of the anti-spam word