Главная · WiFi · Работает 301 редирект

Работает 301 редирект

Привет! В Питере случаются теплые солнечные деньки, и мы их не упускаем, проводим время активно, занимаемся акройогой и акробатикой. Фото в конце статьи. А как вы проводите лето?

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

301-й редирект

301 Permanent Redirect (постоянный) позволяет перенаправить пользователей и поисковых роботов с одного урла вашего сайта на другой. В каких случаях он применяется чаще всего?

  • Настроить зеркала: редирект с www на без www;
  • Если ваш сайт переезжает с одного домена на другой;
  • При смене CMS (системы управления контентом);
  • Если контент страницы устарел, но вам нужно сохранить ее вес;
  • При смене урлов на ;
  • Как один из вариантов (отличается от rel=canonical тем, что последний оставляет дополнительные урлы рабочими, но основной вес передает одной канонической странице);
  • При любой необходимости перенаправить посетителя с одной страницы на другую.

При этом 301-й редирект на 90-99% переносит все свойства старой страницы на новый адрес. Т.е. фактически он склеивает два урла. Для новой страницы сохраняется ТИЦ, PR, ссылочный вес старой.

Разберем, как установить 301 редирект для сайтов на WordPress.

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

Для CMS WordPress существует несколько вариантов настройки 301 редиректа. В сегодняшней статье рассмотрим два из них:

  • С помощью файла.htaccess;
  • С помощью плагина.

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

Настройка редиректа с помощью.htaccess

Для внесения изменений в код для данных целей существует ряд директив:

  • Redirect 301 или RedirectPermanent – перенаправляет конкретные страницы, т.е. в данном случае нужно прописывать правило для каждой страницы отдельно. Например, команда

Redirect 301 /oldpage.html https://site.ru/newpage.html перенаправляет со старой страницы на новую

  • RedirectMatch – задает редирект с возможностью использовать регулярные выражения. Например, можно задать новые расширения урлов:

RedirectMatch /(. *)\.php$ https://site.ru$1.html

  • RewriteRule – используют чаще других, задает правила перенаправления.

Разберем смысл некоторых спецсимволов:

  • . – любой символ;
  • * — 0 и больше символов;
  • $ — конец строки;
  • ^ — начало строки;
  • () – переменная.

И теперь перейдем к рассмотрению примеров 301 редиректов через htaccess.

301 редирект с одного домена на другой

Итак, если нам нужно поставить 301 редирект со старого домена на новый домен, прописываем следующее в.htaccess старого сайта:

1 2 3 4 5 RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.old-site\.ru$ RewriteRule ^(.*)$ https://new-site.ru/$1 RewriteCond %{HTTP_HOST} ^old-site\.ru$ RewriteRule ^(.*)$ https://new-site.ru/$1

RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.old-site\.ru$ RewriteRule ^(.*)$ https://new-site.ru/$1 RewriteCond %{HTTP_HOST} ^old-site\.ru$ RewriteRule ^(.*)$ https://new-site.ru/$1

При этом в robots.txt старого ресурса нужно прописать:

RewriteEngine On RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ https://www.site.ru/

Редирект 301 со страниц с www на страницы без www

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

Если вы не знаете, как прописать код для вашего конкретного случая, можно воспользоваться генераторами 301 редиректов. Например, webconfs.com/htaccess-redirect-generator.php .

Создание перенаправлений с помощью плагина

Разберем, как прописать 301 редиректы в WordPress с помощью плагина Redirection.

  • Для начала находим и .
  • После активации плагина Redirection, переходим в панель управления «Настройки» — «Redirection».
  • В Source URL прописываем старый адрес страницы, в Target URL – новый, на который будет происходить перенаправление.
  • В Regular expression нужно поставить галочку и нажимаем Add Redirection.
  • Редирект 301 для данной страницы настроен.

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

    Выбирайте наиболее удобный для вас способ создания и настройки 301 редиректов в Вордпресс и делитесь своим опытом.

    P.S. Смотрим новые акрофотки с Марсового поля:


    До тех пор, пока у вас есть доступ к директории своего сайта на сервере, такие действия не составят особого труда. Будем считать, что ваш сайт работает на веб-сервере Apache (как и большинство сайтов), потому давайте немного поговорим о технической части вопроса внедрения переадресации 301 в Apache.

    Сначала немного теории

    В терминах сайтов, редирект – это способ автоматической переадресации конечного пользователя с одного адреса URL на другой. В то время как с технической стороны существует несколько способов осуществления переадресации, для задач, связанных с поисковой оптимизацией (SEO), мы рекомендуем использование постоянным редиректом 301 HTTP.

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

    Разница между 301 и 302 особенно важна при сканировании сайта поисковыми системами. Когда сканер поисковика обнаруживает ссылку на ваш сайт, адрес которого постоянно настроен на переадресацию, то веб-сервер взаимодействует со статусом кода 301, а затем переадресовывает пользователя на новый URL. Поисковые системы не только принимают перенаправление на новый URL, но и переносят значение показателей страницы со старого URL на новую страницу редиректа (это вторая особенность такого процесса, которая очень важна для SEO оптимизации, которую нельзя выполнить, используя 302).

    Во всех примерах указан домен данного сайта, не забудьте заменить его на адрес вашего сайта.

    Сравнение редирект 301 и канонический rel=”canonical”

    Например:

    Смысл тега rel=canonical в том, чтобы сообщить поисковой машине единый целый адрес контента страницы. Это очень полезно, когда сайт использует динамические переменные атрибутов для URL-ов. Динамические URL могут способствовать индексации нескольких версий URL для каждой отдельной страницы, что выражается в (а это поисковики просто ненавидят!)

    Хотя использование тега с атрибутом rel=canonical и полезно для страницы сайта, но это не является надежной заменой переадресации 301. Здесь есть несколько причин:

    Тег rel=canonical до сих пор рассматривается поисковыми машинами как полунамеки, а не как конкретные директивы к исполнению. Тогда как редирект 301 воспринимается как конкретная инструкция. И напоследок, в отличие от редиректа 301, которая может быть сконфигурирована в одном файле для всего сайта, код тега rel=canonical нужно будет вставить на каждой страничке.

    Все это говорит нам, что использование тэгов rel=canonical может оказаться полезным при переадресации страниц блога (конечно, если у вас есть доступ к его коду и, чтобы вставить в страницы необходимые модульные теги). В конце концов, использование 301 может означать потерю изначальных страничек и связанных с ними комментариями, социальных связей, у которых есть свои собственные значения в SEO.

    Мы рекомендуем рассмотреть использование тега rel=canonical, чтобы минимизировать дублирование индексированного контента. Независимо от стандартных причин переназначения функций и значений поискового индекса старого URL на новый, мы рекомендуем придерживаться использования проверенного способа – переадресации 301.

    Как сделать редирект 301 в.htaccess?

    На веб-сервере Apache редирект 301 можно выполнить через коды скрипта в одном из двух файлов с текстовой конфигурацией: или.htaccess (для директорий, представляющих отдельные сайты на сервере), или httpd.conf (в корневом каталоге инсталлятора Apache). Обычно используется способ с изменением конфигурации., потому рассмотрим его более подробно.

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

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

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

    Чтобы сделать это, добавьте эти две строки кода:

    Options +FollowSymLinks RewriteEngine on

    Заметим, что такие строки нужно добавить лишь один раз в файле.. Когда они будут добавлены, можно приступать к добавлению в сценарии кода переадресации 301.

    Следующий сценарий переадресации используется при перемещении файлов данных, директории и доменного имени в выбранный код. И, конечно, не забудьте проставить данные именно вашего сайта! На этой страницы только примеры такого кода!

    Редирект 301 одной страницы на другой URL

    Для того чтобы выполнить переадресацию 301 с одного URL на другой URL, вставьте следующую строку кода:

    Redirect 301 /staraja.html http://www..html

    В файле. htaccess можно вставить любое количество строк переадресации.

    Редирект 301 всей директории и всех файлов на другой URL

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

    RedirectMatch 301 ^/oldname/ http://www.сайт/newname/

    Переадресация 301 доменного имени на другой URL

    Если вы купили доменное имя с хорошей историей, то наверняка захотите увеличить посещаемость вашего сайта. Здесь можно использовать переадресацию 301 всего трафика такого доменного имени на ваш теперешний сайт. Используйте, как пример, следующий код:

    RedirectMatch 301 ^(.*)$ http://www.сайт

    Убедитесь, что вы создали такое перенаправление в файле. htaccess исходного сайта, с которого будете перенаправлять трафик, а не в целевом сайте!

    Переадресация 301 для канонизации на другой URL

    Так как поисковые машины индексируют URL-лы, то имея разные URL-лы, которые перенаправляют для индексации на страницы с одинаковым контентом, это может повлиять на значение PageRank. Безусловно, для оптимизации такое положение не самое лучшее! Суть в том, что если вы хотите присоединить PageRank к одному (каноническому) URL, то для оптимизации поиска нужно обратить внимание на контент страниц сайта.
    Когда вы изучите лучшие примеры канонизации, вы захотите применить ее на своем сайте. Это означает, что вы должны учитывать все возможные альтернативы переадресации URL на канонический URL. Используйте следующий пример кода для главной страницы сайта:

    RewriteCond %{HTTP_HOST} ^web-profy\.com RewriteRule ^(.*)$ http://www..(html|php|htm)\ HTTP/ RewriteRule ^(([^/]+/)*)(default|main|index)\.(html|php|htm)$ http://www.сайт/$1

    Первый блок из двух строк перенаправляет URL-лы, у которых опущены префиксы «www.», на адрес домашней страницы, например, “www.xyz.com”..сайт/.

    Второй блок кода перенаправляет URL-лы указанных страниц на те адреса, которые указаны по умолчанию. Такой код гарантирует, что любой URL домашней страницы, имеющий несколько вариантов своего написания и прямых ссылок, как default.htm или index.html, будут перенаправлены на каноническую страницу URL, такую как, http://сайт

    Документирование и тестирование работы

    # Redirect this entire domain, abc..*)$ http://www.сайт

    Хорошее документирование и комментирование процессов всегда поможет вам (и тем, кто в дальнейшем будет заниматься сайтом) понять, какой код за что отвечает. Такая информация будет полезна при поиске проблем, когда что-то не работает, выяснить какую часть кода нужно исправить для слаженной работы сайта.

    Безусловно, необходимо протестировать работу внесенных изменений. Если вы используете FTP для загрузки исправленного файла. htaccess в корневом каталоге вашего сайта, самое время выполнить его проверку. Введите в браузере адрес URL страницы, которую вы перенаправили. Она должна моментально перенаправить на прописанный URL.

    Поиск и устранение неисправностей

    Если переадресация не работает так, как вы того ожидали, то наступает время поиска и устранения неисправностей.

    Прежде всего, если переадресация закодирована в вашем файле.htaccess и оно записано корректно, но не работает, то проверьте состояние установки расширения mod_rewrite в Apache. Этот модуль обычно устанавливается по умолчанию, но если его там нет, то кодировка.htaccess, приведенная выше, работать не будет. Также убедитесь, что вы добавили две строки кода, которые разрешают работу модуля mod_rewrite и ReWriteEngine.

    Кроме того, заметим, что использование в строках RewriteCond показывает о несоответствии входных данных с установленными характеристиками. Если вы упустите этот момент, адреса URL-ов с заглавными и строчными буквами могут не так работать, как ожидалось. Заметим, что использование L в коде говорит о том, что файл движка воспринимается как последняя строчка кода всего процесса подтверждения ввода данных. Если у вас противоречивая конфигурация кода в.htaccess, используйте код L в строке, обозначенной как приоритетной.

    И напоследок отметим, что частое использование переадресации 301 не хорошо сказывается на здоровье всего сайта. Хоть она и очень полезна, но вы должны обновлять входящие ссылки сайта на правильные URL-лы. Игнорируя ваши старые входящие ссылки и используя для перехода через них многократно переадресацию 301 (301, затем 301, затем еще раз 301), вы увеличиваете время для загрузки сайта, что плохо сказывается на продвижении сайта. И если переадресаций будет очень много, то сканеры могут просто не дойти до целевого сайта. Если такое случается, то это вредит вашему сайту продвигаться в поисковой системе. Также, если вы обновляете ссылки вашего сайта, убедитесь, что обновляются и файлы sitemap.xml новыми обновленными URL-ми.

    Контролируйте работу вашего сайта при помощи переадресации 301 – это стандартная эффективная практика при белой SEO оптимизации. Убедитесь, что вы помогаете сканерам поисковых машин добраться до страниц вашего сайта и, при этом, заработанный PageRank активно вкладывается в продвижение вашего сайта.

    Редирект – это способ переадресации пользователей и поисковых роботов на 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 (сортировка каталога по разным критериям).
    • Для кросс-доменов, когда контент на двух адресах может дублироваться, но он должен быть на каждом из доменов.

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

    - 2.2 out of 5 based on 9 votes

    301 редирект (Permament Redirect) или 301 ошибка возвращается при обращении пользователя или поискового робота по определенному URL и указывает на то, что сайт или страница, к которому обращался пользователь, был перенесен на новый адрес и больше не располагается по данному адресу. При этом, поисковой бот или пользователь будут перенаправлены на новый URL-адрес.

    В случае настройки 301 редиректа старый и новый адрес склеиваются между собой, такие показатели как ТИЦ и PageRank, страницы и сайта, а также ссылочный вес будут переданы новому URL.

    В каких случаях может пригодится 301 редирект (PermamentRedirect)

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

    1. При переносе сайта на другую CMS;

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

    3. Если склеиваются домены без www с www. При этом также все показатели этих этих копий сайтов будут совмещаться.

    4. В случае переноса страницы внутри сайта на новый URL

    В Яндекс и Google редирект 301, как правило, передает:

    • Ссылочный вес
    • ТИЦ сайта и PR страниц

    Однако есть вещи, которые редиректом не передаются на новый URL-адрес, к ним относятся:

    • Санкции, которые были наложены на домен сайта
    • Возраст(если был изменен домен). Тем не менее, если редирект был настроен в пределах одного доменного имени, с одной страницы на другую, то данный показатель передается.

    Когда редирект будет установлен, пользователи будут перенаправляться со старого URL-адреса на новый. При последующем посещении об этом узнают поисковые роботы. Они получают сигнал, в котором указывается новый адрес страницы, теперь является основным. На него «перетекают» все основные показатели.

    Темы касающиеся редиректа, являются очень актуальными и часто подымаются на тематических форумах иногда там создаются целые разделы, посвященные им.

    Настройка 301 редиректа в файле.htaccess при помощи директив

    Возможность настройки 301 перенаправления именно через файл htaccess будет зависеть от того какой веб сервер используется на вашем виртуальном хостинге или виртуальном сервере. В большинстве случаев это веб сервер Apache и вот именно он и позволяет производить настройку редиректа через htaccess.

    Единственным условием является наличие включенных модулей mod_alias и/или mod_rewrite в файле php.ini. Они включены на большинстве хостингов поэтому можете смело приступать к настройкам.

    При использовании, примеров кода "vash-sait.ru" замените на доменное имя вашего сайта.

    Редирект при помощи mod_rewrite и директивы RewriteRule

    Чтобы использовать директиву RewriteRule на хостинге должен быть подключен модуль mod_rewrite и включена опция FollowSymLinks включена, а в файле httpd.conf. Многие не подозревают, но с данным модулем приходится сталкиваться чаще, чем можно себе представить, например при использовании ЧПУ ссылок в CMS Joomla или WordPress.

    Для настройки перенаправлений в файле htaccess, вам могут пригодится следующие операторы регулярных выражений:

    • . - любой символ
    • $ - ограничение справа
    • ^ - ограничение слева
    • - 0 и более символов
    • + - 1 и более символов
    • - диапазон значений
    • \ - экранирование
    • () - переменная

    1. Перенаправление домена с www на без-www

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

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

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

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

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

    RewriteEngine On RewriteCond %{HTTP_HOST} ^www.vash-sait\.ru$ RewriteRule ^(.*)$ http://vash-sait.ru/$1

    2. Редирект домена без www на домен с www.

    RewriteEngine On RewriteCond %{HTTP_HOST} ^vash-sait\.ru$ RewriteRule ^(.*)$ http://www.vash-sait.ru/$1

    Или, по типу первого, альтернативный вариант

    RewriteEngine On RewriteCond %{HTTP_HOST} !^www\.(.*) RewriteRule ^(.*)$ http://www.%1/$1

    3. Перенаправление страницы с ЧПУ URL -ом на другую страницу с ЧПУ URL -ом

    Сегодня многие CMS позволяют использовать ЧПУ ссылки и часто в виду определенных обстоятельств приходится менять один адрес страницы на другой. Ниже приведен вариант редиректа страницы http://vash-sait.ru/optimizatsiya-stranitsy.html на страницу http://vash-sait.ru/seo-optimizatsiya-stranitsy.html.

    RewriteEngine On RewriteRule ^(.*)optimizatsiya-stranitsy.html$ http://vash-sait.ru/seo-optimizatsiya-stranitsy.html

    4. Перенаправление старого домена на новый.

    В некоторых случаях требуется сменить один домен сайта на другой. В таком случае нужно установить 301 перенаправление со старого домена на новый. Прописать представленный ниже код нужно в файле.htaccess старого сайта.

    RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.staryy-sait\.ru$ RewriteRule ^(.*)$ http://novyy-sait.ru/$1 RewriteCond %{HTTP_HOST} ^staryy-sait\.ru$ RewriteRule ^(.*)$ http://novyy-sait.ru/$1

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

    5. Редирект домена алиаса на основной домен

    Иногда для сайта используется не один, а несколько доменов т. е. используются так называемые алиасы или синонимы домена. Для этого домены могут регистрироваться в нескольких зонах vash-sait.ru, vash-sait.com и прилинковываться к одной директории сайта на хостинге. В этом случае будут 2 или более точных копии сайта с одним и тем же фалом.htaccess.

    И так как это очень плохо с позиции SEO оптимизации, то необходимо выбрать какой то основной домен и сделать на его редирект. Например если основной домен vash-sait.ru, то сделать, на него редирект с vash-sait.com и www.vash-sait.com можно следующим образом:

    RewriteEngine On RewriteCond %{HTTP_HOST} ^vash-sait.com$ RewriteCond %{HTTP_HOST} ^www.vash-sait.com$ RewriteCond %{REQUEST_URI} !^/robots.* RewriteRule ^(.*)$ http://vash-sait.ru/$1

    6. Редирект страниц с расширением.htm на страницы с раcширением.html

    В некоторых случаях это может служить предотвращением появления в индексе дублей страниц с расширением.htm.

    RewriteEngine on RewriteBase / RewriteRule ^(.*)\.htm$ $1.html

    7. Редирект страницы vash-sait.ru/index.php на vash-sait.ru

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

    RewriteEngine On RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://vash-sait.ru/

    Если нужно склеить дубли вида vash-sait.ru/home.html на vash-sait.ru

    RewriteEngine On RewriteCond %{THE_REQUEST} ^{3,9}\ /home\.html\ HTTP/ RewriteRule ^home\.html$ http://vash-sait.ru/

    8. Редирект URL -ла с параметром на любую другую страницу сайта.

    Если URL -лы страниц вашего сайта содержат параметры, то при необходимости можно произвести редирект страницы с определенным параметром на любую другую страницу. Например страницы http://vash-sait.ru/index.php?section=1 на с страницу http://vash-sait.ru/index.php?section=2 Параметр в URL идет, как правило, после "?" в данном случае это section=1, сам код будет таким:

    RewriteEngine On RewriteCond %{QUERY_STRING} section=1 RewriteRule ^index.php http://vash-sait.ru/index.php?section=2

    Кроме этого URL с параметром можно перенаправить на главную страницу сайта следующим образом:

    RewriteEngine On RewriteCond %{QUERY_STRING} section=1 RewriteRule ^index.php http://vash-sait.ru/?

    Редирект при помощи директив Redirect или RedirectPermanent модуля mod_alias

    Директива Redirect осуществляет простой редирект посетителя и поискового робота на новый URL.

    Синтаксис данной директивы следующий: Redirect URL-path URL.

    Условные обозначения:

    • URL – новый адрес веб-документа или страницы
    • URL-path – старый адрес запрашиваемого документа
    • Status – код возврата, однако является необязательным полем и может отсутствовать. Допустимыми значениями являются: 301 – постоянный перенос, 302 – временный перенос, 410 или gone – удален, 303 или seeother – смотрите другой.

    Прописывается директива все в том же файле.htaccess.

    1. Редирект с одной страницы на другую

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

    Redirect 301 /category/staraya-stranitsa.html http://vash-sait.ru/category/novaya-stranitsa.html

    2. Редирект старого домена на новый

    Для этого в файле.htaccess старого домена пропишите следующее:

    Redirect 301 / http://vash-sait.ru

    3. Переадресация каталога

    Redirect 301 /category http://vash-sait.ru/novaya-category/

    Redirect permanent - это деректива оворящая, что страница перемещена.

    Синтаксис:

    Redirect permanent URL-path URL

    URL-path: локальная часть URL документа с которого должен быть произведен редирект.

    URL: URL куда должен быть выполнен редирект.

    Записывается все по аналогии с директивой Redirect, но код возврата указывать уже не нужно. Для редиректа одной страницы на другую записывается так:

    Redirect permanent /staraya-stranitsa.html http://vash-sait.ru/novaya-stranitsa.html

    301 редирект через скрипт путем передачи заголовков

    Вся работа 301 перенаправления через скрипты PHP, ASP, JavaScript заключается в передаче клиенту, т. е. браузеру или поисковому роботу определенных заголовков:

    HTTP/1.1 301 Moved Permanently Location: http://vash-sait.ru/category/novaya-stranitsa.html

    Приведем примеры редиректа для разных скриптов

    1. 301 редирект на PHP.

    Этот код лучше всего помещать в самое начало скрипта PHP файла. Вместо http://vash-sait.ru/novaya-stranitsa.html нужно указать адрес страницы куда должен быть перенаправлен пользователь или поисковый бот.

    6. Для CGI PERL

    $q = new CGI; print $q->redirect(“http://vash-sait.ru/novaya-stranitsa.html”);

    7. ColdFusion редирект

    1. Использовать описанные выше методы можно лишь в том случае, если ресурс расположен на Linux-сервере и использует Apache. При этом обязательно должны быть подключены модули mod_rewrite и mod_alias.

    2. Вместо файла.htaccess есть еще один способ настройки 301 перенаправления - внесение изменений в файл hpptd.conf, это немного более эффективно так как использование файла.htaccess создает небольшую дополнительную нагрузку на сервер.

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

    Рейтинг 2.28 (9 Голосов)

    301 Редирект - это способ постоянного перенаправления поисковых систем и посетителей сайта на адрес, который отличается от изначально запрашиваемого. Такой ответ сервера указывает на то, что старый url утратил актуальность, страницу переместили. После переиндексации Яндекс и Google поймут куда вы теперь хотите вести посетителей и станут предлагать пользователям новый адрес.

    Удивительно, но факт: с помощью редиректа можно превратить потерю в победу и привлечь на свой ресурс еще больше трафика. Но об этом чуть позже.

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

    Для чего используется 301 редирект?

    Код 301 - эффективный, простой в реализации вариант переадресации web-страницы. Это удобный способ сохранения рейтинга конкретной страницы сайта.

    Основные причины, чтобы добавлять 301 редирект:

    • сохранение «накопленных пользовательских сигналов» контента
    • с передачей ссылочного веса новой странице;
    • перенаправление трафика из других адресов на нужный;
    • в случае ребрендинга и смены домена, чтобы не потерять клиентов;
    • перемещение страниц;
    • склейка (с www и без, http и https);
    • удаление дублей страниц.

    Внимание! Остановите выбор на адресе, который имеет стратегически большее значение, является предпочтительным для посетителей и поисковых систем.

    Редирект можно назвать своеобразной палочкой-выручалочкой. В случае переезда всего сайта или отдельных страниц он сохранит все плоды проделанной работы: авторитет доменного имени и ранжирование в поиске. Главное - использовать перенаправление по назначению.

    Сегодня вы получите 22 конкретных примера установки кода 301 и пять важных рекомендаций. С последних и начнем!

    Важно! Ошибки в настройках редиректов уменьшают эффект их использования.

    1. Избегайте редиректов, идущих друг за другом. Каждая последующая переадресация увеличивает нагрузку на сервер, уменьшает эффективность редиректов.


    Правильным в данном примере должен быть редирект с 1 шага на 3й.

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

    3. Из-за того что браузеры обычно запоминают перенаправления, лучше проверять код состояния HTTP через специальный сервис .

    4. Переадресация не должна быть циклической, то есть странице нельзя ссылаться на саму себя.

    Пример циклического редиректа: со страницы без слеша в конце URL стоит 301 редирект на страницу со слешем, на которой стоит 302 редирект обратно:


    5. Полезный редирект - тот, что ведет на страницу, которая во всех нюансах повторяет запрашиваемую.

    Популярные виды редиректов

    Желаете узнать, как сделать переадресацию? Сначала надо ознакомиться с названиями и особенностями самых используемых статусов.

    301

    Это постоянный редирект, обозначающий, что старый адрес страницы стоит считать устаревшим, контент находится на новом месте. Передает на новый документ почти весь (нет точных данных) ссылочный вес и склеивает накопленные внутренние метрики.

    302

    Представляет собой временный редирект. Не склеивает накопленные внутренние метрики страницы.

    Статус ответа сервера зависит от версии протокола HTTP:

    • HTTP 1.0 - текущая публикация временно перемещена на другой url (Moved Temporarily);
    • HTTP 1.1 - документ не найден (изменения ответа на Found).
    307

    307 Moved Temporarily подходит лишь для исключительных случаев - действительно кратковременного переезда контента, например, при техническом обслуживании.

    Meta Refresh

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

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

    В чем разница между постоянной и другими переадресациями?

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

    Эти коды ответа HTTP не одинаково воспринимаются роботами и, соответственно, по-разному влияют на поисковую выдачу. Редирект 301 - знак того, что поисковику стоит забыть о старом адресе и больше никогда на него не заходить. А 302 дает сигнал о продолжении индексирования контента, размещенного на изначально запрашиваемой странице.
    В случае 301 перенаправления утратившая актуальность публикация перестанет отображаться в поисковой выдаче. При 302 редиректе в индексе будут присутствовать обе страницы.

    По сути, лучше всегда ставить код 301.

    • на запрашиваемой странице есть ссылки, которые обязаны и дальше индексироваться;
    • индексация новой страницы не является критичной.
    Опыт из практики: 301 редирект против 302

    Статус 302 - временная мера, сообщающая поисковикам о том, что на старой странице проходят технические работы и ее надо сохранить в выдаче.

    Рассмотрим на примере. Сайт изменил доменную зону, а затем еще и обзавелся защищенным протоколом https. Однако разработчики настроили не постоянное, а временное перенаправление.

    Во время работы 302 редиректа в индексе Яндекса и Google находилось 3 копии одной и той же интернет-площадки. Из-за этого произошло существенное проседание позиций.

    Когда ошибка была исправлена, роботы склеили дубли, исключив лишние страницы из своей выдачи. Сайт снова вернулся в ТОП.

    301 редирект vs Canonical

    Несмотря на определенные нюансы, поисковые системы установили четкие правила использования команд. Вот как их понимают Гугл и Яндекс:

    • 301 - «Моя страница навсегда переехала в другое место, она не вернется. Удалите, пожалуйста, ее из своего индекса и передайте вес новому документу».
    • Canonical - «У меня имеется несколько версий содержания страницы. Просканируйте, пожалуйста, приоритетную для меня копию, которую я пометил canonical. Остальные материалы тоже будут доступны пользователям, но индексировать их не нужно».
    Когда лучше применить 301 редирект:
    • это лучший метод по умолчанию;
    • для ошибки 404 и контента, утратившего актуальность, но имеющего
    • внешние ссылки и много трафика;
    • при смене домена в результате ребрендинга или продажи ресурса;
    • для страницы, которая переехала навсегда.
    Случаи использования rel=«canonical»:
    • если статья имеет нужные посетителям дубли, например, описания
    • одной и той же продукции, но разного цвета;
    • когда постоянное перенаправление реализовать трудно;
    • для кросс-доменов с похожими статьями;
    • при разных адресах одного контента (сортировка каталога).
    Где настраивается 301 редирект?

    В зависимости от движка, переадресацию можно выполнить разными способами.

    .htaccess, или httpd.conf для Apache

    Это популярный благодаря своей простоте метод, для осуществления которого надо создать файл под названием.htaccess в папке сайта. Или отредактировать, если он уже предусмотрен движком.

    Важно! Перед любыми изменениями сделайте Backup редактируемого файла (или всего сайта)

    Для постоянного перенаправления пропишите в начало файла, подставив свои данные:

    • Редирект всего сайта на другой адрес:

    Redirect / http://new-site.ru/

    • Редирект с одной страницы на другую:

    Redirect 301 /page-1 .html /page-2 .html

    • Редирект с www на без www:

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www.example\.ru
    RewriteRule ^(.*)$ http://example.ru/$1

    • Переадресация с HTTP на HTTPS

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

    Учтите, что при работе с файлом команда происходит на уровне сервера с ОС Linux или Apache с активированным модулем Mod_rewrite.

    Вы можете изменить.htaccess редирект конфигурационным файлом hpptd.conf. В таком случае удастся создать меньшую нагрузку на сервер, однако у веб-мастеров обычно нет к нему доступа.

    Через плагины в CMS

    Редирект на другой сайт легко настроить при помощи специального плагина. Так, для WordPress подойдет расширение Simple 301 Redirects . Единственный недостаток дополнительного модуля - ручное формирование списка адресов для переадресации.


    Через PHP-условие

    Такое решение подойдет тем, кто отлично знает структуру web-проекта и разбирается в PHP. Если сайт сделан на CMS, попробуйте открыть файл index.php в корне движка и прописать там:

    if ($_SERVER [ "REQUEST_URI" ] == "/index.php" ) {
    header ("Location: /" , TRUE , 301 ) ;
    exit () ;
    }

    (в первой строке укажите старый url, а во второй - новый)

    Кроме того, перенаправление PHP можно сделать при помощи отправки заголовков (скрипта):

    ASP редирект


    ASP.NET редирект

    Найдите в корне своего сайта файл web.config и вставьте в секцию синтаксис:

    < script runat= “server ”>
    private void Page_Load(object sender, System.EventArgs e)
    {
    Response .Status = “301 Moved Permanently”;
    Response .AddHeader (“Location”,“http: //www.new-url.com”);
    }

    ColdFusion редирект