Как проверить настроен ли редирект 301. Редирект при изменении расширения файлов

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

301 Moved Permanently

301 – постоянный редирект, который указывает на то, что запрашиваемая страница находится по новому адресу, а старый нужно считать устаревшим. Такой вид редиректа передает 90-99% ссылочной массы на новый URL.

Канонизация или склейка домена

Для склейки домена с www на без www:

RewriteCond %{HTTP_HOST} ^www.site\.com$ RewriteRule ^(.*)$ http://site.com/$1

Для склейки домена с без www на с www:

RewriteCond %{HTTP_HOST} ^site\.com$ RewriteRule ^(.*)$ http://www.site.com/$1

Для правильного выбора метода склейки нужно рассмотреть такие факторы:

  • У какого варианта выше индексация;
  • У какого варианта выше позиции в выдаче;
  • Канонизация слэша в конце адреса.

При создании проекта сайта нужно решить, использовать ли слэш в конце адреса. Для поисковых систем адреса вида:

  • http://www.site.com/category1
  • http://www.site.com/category1/

Являются разными URL. Поэтому когда решите, какого вида будут адреса у вас на сайте, нужно прописать такой код для того, чтобы убрать слэш в конце:

RewriteCond %{HTTP_HOST} (.*) RewriteCond %{REQUEST_URI} /$ RewriteRule ^(.*)(/)$ $1

или такой, чтобы добавить его:

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*[^/])$ $1/

Для редиректа 301 одной страницы на другую :

Redirect 301 /oldpage.html http://www.site.com/newpage.html

Чтобы убедиться, что при запросе любой версии главной страницы, к примеру: default.htm или index.html , будет произведен редирект на каноничную страницу http://www.site.com , нужно прописывать следующий код редиректа:

RewriteCond %{THE_REQUEST} ^{3,9}\ /([^/]+/)*(default|index|main)\.(html|php|htm)\ HTTP/ RewriteRule ^(([^/]+/)*)(default|main|index)\.(html|php|htm)$ http://www.site.com/$1

Редирект каталога

Если в адресе у вас отображается структура каталога, то при изменениях у вас будет менять и адрес. Поэтому нужно прописывать такой редирект:

RewriteRule ^(.*)/old-catalog/(.*)$ $1/new-catalog/$2

Но бывает так, что адрес старого каталога отображается сразу после доменного имени, например www.site.com/old-catalog/ . В этом случае используется такой код:

RewriteRule old-catalog /(.*) / old-catalog /$1

Редирект при изменении расширения файлов

При смене CMS обычно меняется только расширении файлов. Для канонизации страниц в этом случае нужно использовать код вида:

RedirectMatch 301 (.*)\.php$ http://www.site.com$1.html

Редирект при появлении нескольких слэшей или тире

По разным причинам бывает, что в адресе появляются лишние слэши или тире, например www.site.com/catalog////page-1.html . Такие страницы нужно переадресовывать на адреса с одним слэшем .

RewriteCond %{REQUEST_URI} ^(.*)//(.*)$ RewriteRule . %1/%2

Таким же образом убираются и лишние тире в адресе, например изменение www.site.com/catalog/page-1.html на www.site.com/catalog/page-1.html .

RewriteCond %{REQUEST_URI} ^(.*)-(.*)$ RewriteRule . %1-%2

.htaccess - лишние слэши после имени домена

  • http://site.com//////catalog

Чтобы убрать все эти слэши так, чтобы было перенаправление на страницу без слэшей, т.е.

  • http://site.com/catalog

Нужно прописать:

RewriteCond %{REQUEST_URI} ^(.*)//(.*)$ RewriteRule . %1/%2

Генерация 301 редиректов

Если технических знаний для написания собственного кода не хватает, то есть специальные сервисы генерации всех основных редиректов:

Здесь вы можете, вставив свои данные, мгновенно получить нужный код. Поддерживаются редиректы для доменов, url адресов, каталогов.

Как проверить 301 редирект?

После внесения любых изменений в логическую часть редиректа, нужно проверять его работоспособность. Для мануальной проверки нужно:

  • Проверить работает ли вообще сайт – зайти на его главную страницу;
  • Побродить по сайту, его разделам и отдельным страницам.

Но есть и сервисы для автоматической проверки редиректа:

  • http://bertal.ru – очень подробные данные обо всех откликах сервера

Правила использования 301 редиректа vs Canonical

Поисковая система Google устанавливает четкие правила, только при соблюдении которых, она будет верно трактовать ваши действия. Вот как буквально понимают поисковики 301 и Canonical:

  • данная страница является устаревшей, новая страница находится по адресу такому-то. Прошу удалить старую страницу из индекса, а новую проиндексировать и полностью передать на нее весь вес старой.
  • Canonical – кроме этой версии страницы у меня есть еще и другие. Но ты, пожалуйста, индексируй только ту, на которой стоит Canonical. Другие версии будут лежать для того, чтобы их могли просматривать люди, но тебе включать их в индекс не нужно. Весь вес стоит передавать именно на страницу с Canonical.

Предпочтения по использованию редиректа 301

Обычно, это наиболее предпочтительный метод:

  • Для отдельных страниц – если навсегда изменился ее адрес;
  • Для доменов – если сайт будет находиться постоянно на новом домене;
  • Для страниц 404 и страниц с контентом, который более не актуален. К примеру, при удалении товара из каталога можно сделать редирект на похожий по функциям товар или на страницу каталога с этим типом товаров.

Когда лучше не использовать редирект 301

  • Если их реализация невозможна или она займет неоправданно много времени.
  • Если контент дублируется на двух страницах, но обе они должны быть доступны пользователю ввиду некоторых отличий (к примеру, размера одежды).
  • Если одна страницы имеет несколько URL (сортировка каталога по разным критериям).
  • Для кросс-доменов, когда контент на двух адресах может дублироваться, но он должен быть на каждом из доменов.

Понравился пост? Нажми на кнопочки →

Решил тут на одном WordPress сайте сменить ЧПУ (постоянные ссылки) для блога. Но как сделать так, чтобы позиции проекта в поисковиках, а также трафик не пострадали? Теоретически это не так уж и сложно, но вопрос оказался немного неоднозначным. Поэтому решил написать пост по теме. Фактически вам нужно сделать две вещи:

  1. Изменить постоянные ссылки в админке вордпресс.
  2. Сделать дабы не потерять позиции сайта.

Первым делом заходим в админку в раздел «Параметры» — «Постоянные ссылки», где выбираем нужный вам формат ссылок.

Чтобы проверить работает ли редирект вам просто нужно зайти по старой ссылке на сайт и посмотреть куда браузер будет вас переадресовывать. Если попадаете по нужному адресу, то полдела сделано. Теперь требуется убедиться, что установлен 301, а не 302 редирект. Для сохранения всех «SEO эффектов» нужен именно 301.

Сервисы проверки 301 редиректа

Вот парочка сервисов для проверки (на момент написания поста все работали нормально):

В результате проверки видим на какую страницу установлен редирект и какого типа.

Этот сервис 1-2 раза заглючил, возможно, в самом блоге новая структура ссылок еще не обновилась.

Под формой проверки есть кратка инфа про то, что это за сервис, зачем отслеживать редирект и какие типы их бывают. Вводите нужный вам URL и кликаете «Track URL».

Также все вроде бы окей, как пишет сервис в результате проверки.

Самое интересное , что при совпадении названия поста в WordPress какую бы структуру ссылок вы не указывали в браузере, также будете попадать на правильную страницу с 301 редиректом. То есть, если например в блоге с работающей ссылкой:

http://www.use4blog.com/prodvizhenie/nuzhny-podpischiki/

Я буду пытаться перейти по линку (без указания в настройках системы нужных постоянных ссылок):

http://www.use4blog.com/nuzhny-podpischiki/

То все равно WordPress перебросит на нужный пост еще и с 301 редиректом. Хотя, если изменить УРЛ:

http://www.use4blog.com/prodvizhenie/nuzhny-podpischiki-new/

Тогда, конечно, получим страницу 404 ошибки. Для этого случая вам нужно будет установить модуль редиректа для WordPress, например плагин Redirection или его аналоги.

В блоге WordPress inside я рассматривал замечательный современный плагин WordPress SEO by Yoast . Так вот его разработчик в далеком 2011 писал пост о редиректах после смены постоянных ссылок. В статье упоминался специальный инструмент создания правильных редиректов.

Здесь вводите ссылку на сайт и выбираете нужную структуру ссылок. В итоге получите код, который потребуется дописать в начало.htaccess файла. Но, как видим из первой части статьи, возможно, в 2011 году это было актуально, а теперь в новых версиях WordPress (тестировал в 3.3.х) система автоматически создает редирект. В любом случае я потестирую как оно работает на самом деле, а потом отпишусь вам упал ли позиции сайта. Надеюсь, этого не случится:)

P.S. Кстати, если уж заговорил о SEO, то возможно будет актуально предложение от siteclinic.ru. Они лечат сайты от фильтров Google и Яндекса которые иногда случаются. Из некоторых выйти можно самостоятельно, если разбираться в данном вопросе, но эффективнее обратиться к специалистам.

В наше время глобальная сеть набрала очень большую популярность, поэтому новичков с каждым днем становится все больше и больше. Естественно у них появляются новые проблемы, при использовании сети. Поэтому сейчас мы поговорим о том, что такое 301 редирект.

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

301 редирект или 301 Permanent Redirect – это постоянная переадресация одного URL-адреса на другой. Само слово «редирект » дословно переводится с английского как «перенаправление ».

Фактически это ответ сервера на запрос к нему, и ответ этот имеет код 301, говорящий о том, что адрес запроса был изменен навсегда. Результатом всех этих странных для новичка манипуляций становится то, что мы должны увидеть в браузере какой-то другой конечный адрес.

Находится и прописывается он в файле .htaccess , который расположен в корневой папке сайта.

Если приложить максимум усилий — 301 редиректом возможно решить широкий круг проблем с оптимизацией, и глобально улучшить конверсию сайта. Соответственно, как сделать редирект на другой сайт нужно знать любому SEO специалисту и веб-мастеру.

Главное в этом деле — не забыться и не натворить лишнего, а также помнить о том, что перед каждым добавлением новых редиректов необходимо делать бекап файла .htaccess .

Зачем нужен 301 редирект и в каких случаях его используют?

301 редирект — весьма универсальный инструмент для любого оптимизатора. Он позволяет совершить перенос ссылочного наполнения одной страницы на другую. Чаще всего делают редирект на другой сайт при переезде на другой домен, соединении дублей интернет страниц или перенаправлении с «www » на «без www » и наоборот.


Хочется заметить, что использование приставки «www » в названии сайта уже давно устарело, но иногда все же встречается. При создании сайта, разумеется, можно указать название «без www », но бывают случаи, когда сайт достается «по наследству ». Вот именно для таких случаев и существует редирект, способный изменить URL-адрес.

301 редирект способен передать:

  • индекс цитирования;
  • все ссылочное наполнение.

301 редирект не способен передать:

  • возраст сайта;
  • какие либо фильтры или санкции;
  • присутствие в каталогах.

Ко всему прочему, возможен вариант, когда редирект выступает способом добавления в конце ссылки косой черты — слеша. То есть «http://site.com/news » при помощи редиректа изменяют на «http://site.com/news/ ».

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

Кроме всего прочего 301 редирект достаточно часто используется в SEO, так как позволяет показать поисковым роботом, что страница переадресуется навсегда. Ну и, конечно, 301 редирект позволяет без труда перенести позиции старых страниц на новые.

Как настроить 301 редирект?

Решений этой задачи на самом деле множество, все зависит от того какими техническими характеристиками обладает хостинг вашего сайта. Сейчас мы приведем несколько наиболее простых вариантов, как сделать 301 редирект .

Запомните, что все операции производится в файле .htaccess или httpd.conf (для сервера Apache).

Вариант 301 редиректа для переадресации на другой домен:


Redirect 301 / http://www.site.com/index.htm

В данном примере все страницы сайта будут перенаправлены на другой.

301 редирект для одной страницы выглядит так:

Redirect 301 /site1/page1.htm http://www.site2.com/page2.htm

В качестве последнего примера приведем следующее:

Redirect permanent /test http://www.test.com/ Redirect permanent / http://enter.test.com/

Видно, что при попадании пользователя или поискового робота в директорию test он автоматически перенаправляется на «www.test.com », все остальные перейдут на «enter.test.com ».

Можно, конечно, использовать готовый скрипт редиректа, которых полно в сети. Однако для успешности данной операции необходимо чтобы на хостинге были включены модули «mod_alias ».


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

Как проверить работает ли 301 редирект?

Самые распространенные ошибки, при которых 301 редирект отказывается работать правильно – это наличие прочих редиректов, мешающих работе.

После того как вы настроили 301 редирект необходимо проверить его на работоспособность. Для этого нужно зайти не только на главную, но и прочие страницы сайта.

Переходя к практике, давайте рассмотрим как проверить 301 редирект.

Допустим, посетитель вводит в адресной строке браузера ссылку «http://primer.com/index.php » и нажимает «ввод ». Браузер совершает HTTP-запрос и посылает его серверу, который возвращает HTTP-ответ.

При установленном редиректе, в поле «Location » будет прописан другой адрес страницы, например: «http://primer.com/surprize.php », куда и произойдет переадресация.

Существует много сервисов и плагинов позволяющих проверить работоспособность редиректа.


Например, HttpFox – отличный плагин для слежки за http-заголовками.

Плагин HttpFox для браузера Mozilla Firefox построчно фиксирует загрузку страницы, что позволяет отслеживать связки редиректов, а так же порядок и быстроту загрузки интернет страницы.

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

Удачи Вам!

Хорошо Плохо

Для сайта или интернет-магазина, часто возникают ситуации, когда требуется изменение адреса страницы или группы страниц. Если мы меняем адрес страницы или всего домена, которые находятся в выдаче поисковых систем по некоторым ключевым словам, важно не потерять трафик, которые генерируют эти страницы и настроить так называемый 301 редирект.

Что такое 301 редирект и с какой целью он применяется?

301 редирект - это специальная инструкция для сервера и для поисковых роботов, которая указывает на то, что старый URL-адрес изменился (и что это изменение является постоянным). Что существенно, с точки зрения позиционирования ключевых слов для данной страницы, 301 перенаправление позволяет перенести траст (авторитет) конкретной страницы или домена на новый адрес. Благодаря этому при изменении адресов сохраняются позиции ключевых слов в выдаче поисковых систем. С точки зрения пользователя, благодаря переадресации, клиенты, использующие старый URL-адрес автоматически попадут на новый.

Когда следует использовать 301 редирект?

Одно из основных применений 301 редиректа, сделать так, чтобы весь сайт был доступен только по одному адресу. Часто по умолчанию, сайт доступен сразу по двум адресам, например: и и хотя это один и тот же сайт, однако поисковые системы могут считать это двумя разными сайтами, что пораждает дубли контента.

Какую версию сайта выбрать с www или без www ? Выбирать стоит ту, по которой ваш сайт в данный момент ранжируется лучше и получает большее количество трафика.

Какие способы 301 редиректа существуют на Apache?

На сайтах под управлением веб-сервера Apache реализовать 301 редирект можно тремя способами:

  1. С использованием файла.htaccess, который должен находиться в корневой папке домена.
  2. Модифицируя файла httpd.conf (в корне установленного Apache).
  3. Испольхуя php-скрипт (об этом ниже).

Обычно используется первый способ, так что мы остановимся на нем.

Первое, что вам нужно сделать, это открыть текстовой файл.htaccess, который находиться в корневом каталоге вашего веб-сайта. Если такого файла нет, его нужно создать.

Внимание! Проводник Windows"а не даст создать файл с точкой вначале, поэтому рекомендую использовать FTP-клиент, например, FileZilla или Total Commander.

После открытия файла, прежде чем добавить любой сценарий, вам нужно сделать две вещи:

  1. Включить модуль Apache mod_rewrite
  2. Включить ReWriteEngine в модуле mod_rewrite

Делается это следующим образом:

Options +FollowSymLinks
RewriteEngine on

Обратите внимание, что эту пару строк нужно вписать только единожды в файл.htaccess. Как только эти строки будут добавлены, можно настраивать 301-редиректы.

Не забываем комментировать код

# Редирект с этого домена на Яндекс
RedirectMatch 301 ^(.*)$ http://www.yandex.ru

Примеры

Чтобы выполнить перенаправление с адреса с www на адрес без www, следует добавить следующее правило в файле.htaccess на сервере, на котором находиться сайт:

RewriteCond %{HTTP_HOST} ^www.mysite.ru
RewriteRule ^(.*)$ http://mysite.ru/$1

Аналогично, если мы хотим, чтобы наш сайт был доступен по адресу с www, тогда следует прописать следующие правила:

RewriteCond %{HTTP_HOST} ^mysite.ru
RewriteRule ^(.*)$ http://www.mysite.ru/$1

Кроме того, мы также можем выполнить 301 редирект с помощью php скрипта. Редирект с версии „с www” на „без www” будет иметь в этом случае следующий вид:

if(substr($_SERVER["HTTP_HOST"], 0, 3)!="www")
{
header("Location: http://www.mysite.ru".$_SERVER["REQUEST_URI"]);
exit;
}
?>

И наоборот

if(substr($_SERVER["HTTP_HOST"], 0, 3)=="www")
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://mysite.ru".$_SERVER["REQUEST_URI"]);
header("Connection: close");
exit;
}
?>

301 редирект со старого домена на новый, при переезде

Также 301 редирект часто используется при переезде со старого домена на новый. Чтобы правильно сделать перенапровление используйте следующий код в.htaccess (в том случае, если структура URL не меняется).

RewriteEngine on
RewriteRule ^(.*)$ http://www.mynewsite.ru/$1

301 редирект для одной страницы

В случае, если мы хотим перенаправить конкретную страницу на новый адрес, мы можем использовать следующее правило:

Redirect 301 /old-page.php /new-page.php

Как проверить правильность настройки 301 редиректа?

Чтобы проверить тип переадресации, просто используйте любой инструмент, способный анализировать заголовки отправляемые браузером. Примером такого инструмента является testuri.org .

В поле Page URI/URL, просто введите адрес страницы, которую хотим проверить, а затем нажать на кнопку Check page.

Через некоторое время мы увидим результаты теста вместе с кодом ответа сервера.

Резюме

301 редирект является чрезвычайно важной инструкцией, которая используется в случае изменения адреса сайта или какой-то странцы или группы страниц. Благодаря переадресации можно не только изменить адрес страницы, чтобы старые пользователи попадали на ее новый вариант, но и передать вес со старого адреса на новый.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: