Меню

Редирект при 404 ошибке на главную

Посетители сайта видят 404 ошибку, если страница, на которую они пытаются перейти, не существует или по какой-то причине сервер не может её найти. В статье рассмотрим, что это за ошибка и какое влияние она оказывает на поведенческие факторы пользователей и SEO. А также разберем, как настроить редирект 404 ошибки через .htaccess.

Что такое ошибка 404

Ошибка 404 (File not found) возникает, когда сервер не может найти запрашиваемую пользователем страницу. От ее появления не застрахован ни один сайт. Достаточно ввести в адресной строке после домена рандомный набор символов. Например:

http://site.ru/asdfjkl;

Сервер не сможет найти страницу, и отобразится ошибка:



редирект 404 1
Ошибка 404 на сайте reg.ru

Также с ошибкой 404 можно столкнуться в следующих случаях:

  • Администратор сайта удалил или переместил страницу, но не сделал редирект на актуальный материал.
  • Изменилась структура сайта, а у страниц остались старые URL.
  • Посетитель опечатался в адресе, когда вводил его вручную.
  • Посетитель перешел по «битой» ссылке, которая ведет на несуществующую (удаленную или перемещенную) страницу.

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

Код 404 не стоит путать с другими похожими ошибками. Например, 403-й, которая означает, что доступ к ресурсу ограничен или запрещен. Подробнее о том, как ее исправить в статье.

Иногда при загрузке несуществующей страницы браузер получает ответ 200 вместо 404. Такой случай называют Ложной ошибкой (Soft 404). Он означает, что со страницей всё в порядке, хотя пользователь видит ошибку. Также проблема заключается в том, что Яндекс и Google показывают эту страницу в результатах поиска. Чтобы проверить код ошибки, воспользуйтесь проверкой URL от Google.

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

Возможные последствия для сайта

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

Также важно следить за тем, чтобы на сайте было как можно меньше несуществующих страниц, битых ссылок и т. п. Чтобы отыскать их, можно воспользоваться веб-инструментами Яндекс и Google или другими сервисами. Найдите все, что нужно поправить, настройте 301-й редирект на актуальные материалы и замените некорректные ссылки.

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

Рекомендации по созданию страницы 404

Если сайт создавался в CMS WordPress, Joomla, Drupal и т. п., в нем, скорее всего, предусмотрена страница ошибки 404. Но она может быть неинформативной или отличаться от дизайна остальных страниц вашего веб-ресурса.

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

Важно, чтобы страница была информативной и полезной:

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

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

Примеры страниц с ошибкой 404



редирект 404 2
СберМаркет предлагает познать мудрость котов и цены на сайте



редирект 404 3
404 ошибка в разделе «Помощь» на сайте REG.RU

Как создать страницу ошибки 404 и настроить редирект на нее в .htaccess

  1. 1.

    Создайте страницу одним из следующих способов:

    • Если вы знаете HTML и CSS, напишите код страницы самостоятельно и загрузите файл с названием 404.html в корневую папку сайта.

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

    • Если вы используете WordPress, воспользуйтесь плагином 404page — your smart custom 404 error page по инструкции ниже. Обратите внимание! Если вы воспользовались плагином, вам не нужно прописывать путь к файлу в .htaccess.


    Как настроить страницу в плагине WordPress

    1) Откройте админку вашего сайта в WordPress.

    2) Перейдите в раздел «Плагины» и нажмите Добавить новый.

    3) В строке поиска введите название 404page — your smart custom 404 error page.

    4) Нажмите УстановитьАктивировать:



    редирект 404 4

    5) Перейдите в раздел Внешний вид404 Error Page.

    6) Выберите в списке Sample Page, чтобы сменить стандартную страницу ошибки, и нажмите Edit Page:



    редирект 404 5

    7) Создайте страницу в открывшемся визуальном редакторе и нажмите Обновить:



    редирект 404 6

    Готово! После обновления страница будет использоваться автоматически.

  2. 2.

    Откройте конфигурационный файл .htaccess в корневой папке вашего сайта и добавьте в него строку:

    ErrorDocument 404 https://site.ru/404.html

    Где вместо site.ru — домен вашего сайта.

  3. 3.

    Сохраните изменения.

Готово! Теперь при возникновении 404 ошибки, в браузере пользователей будет открываться созданная вами кастомная страница.

Также рекомендуется закрыть служебную страницу 404 от индексации, чтобы она не возникала в поисковой выдаче вместе с остальными страницами сайта. Для этого откройте файл robots.txt в корневой папке сайта, добавьте соответствующую команду и сохраните изменения:

Редирект с 404 на главную (не рекомендуется)

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

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

Рекомендуется использовать специальные страницы для ошибки 404.

Проверка редиректа 404

Проверить, корректно ли все настроено можно в Яндекс.Вебмастер и Google Search Console.

Яндекс.Вебмастер

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

  1. 1.

  2. 2.

    Перейдите в раздел ИнструментыПроверка ответа сервера.

  3. 3.

    Введите название страницы ошибки и нажмите Проверить.

  4. 4.

    В коде статуса HTTP должно отображаться 404 Not Found:



    редирект 404 7

Google Search Console

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

  1. 1.

  2. 2.

    Перейдите в раздел «Покрытие» в меню справа. Здесь будет отображаться информация о страницах ошибок.

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

Если сайт многораздельный и многостраничный, вручную мониторить его будет сложно. Рекомендуется использовать для поиска страниц ошибки 404 онлайн-сервисы (Serpstat, BadLincs.ru и другие). Также можно воспользоваться плагинами в CMS. Замените ссылки и настройте редиректы. А также создайте понятную красочную страницу ошибки с объяснением причины, ссылками на основные разделы и строкой поиска.

Hello how do I redirect an error 404 to a home page with .htaccess?

Example:
site.com if write site.com/some_site_notforund instead of 404 redirects us to the main page

Example 2:
sadistic.pl if write sadistic.pl/some_site_notfound instead of 404 redirects us to current page

asked Feb 20, 2014 at 4:13

sssss's user avatar

ssssssssss

991 gold badge1 silver badge10 bronze badges

5

Try:

FallbackResource /index.html

or whatever the homepage is


try:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ /index.html [L]

answered Feb 20, 2014 at 4:33

Jon Lin's user avatar

Jon LinJon Lin

141k29 gold badges216 silver badges219 bronze badges

4

You can do this like

this will be .htaccess file:

ErrorDocument 404 /404.php

All the page not found pages will display 404.php file.

In 404.php file you can write:

<?php
    header('location:index.php');
?>

So all page not found pages will go to 404.php page and it will redirect them to index.php

answered Mar 27, 2016 at 6:57

purush's user avatar

purushpurush

5593 silver badges12 bronze badges

Or save a reroute step and just put the following into your .htaccess file:

ErrorDocument 404 /index.php

answered Oct 13, 2016 at 10:56

user7013200's user avatar

1

  1. Make a .htaccess file in your root directory.
  2. Put this code into it and customize the RewriteRule.

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^ http://127.0.0.1/dir/index.php [L]

Works perfectly on my localhost.

answered Jan 29, 2016 at 8:51

xereon's user avatar

It works fine for my site. I tried this code, it doesn’t show 404 pages, but it shows the same URL but content of the homepage

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ /index.html [L]

Rory McCrossan's user avatar

answered Sep 24, 2015 at 6:28

Jack's user avatar

JackJack

292 bronze badges

  • Почему возникает ошибка 404 
  • Как ошибка влияет на SEO-показатели сайта и что делать
  • Настройка редиректа .htaccess на страницу с ошибкой 404 
  • Проверка редиректа 404

Читайте нашу статью, если хотите узнать, как настроить редирект 404-й ошибки через .htaccess.

Если сервер не может найти страницу, на которую хочет перейти посетитель, то в окне браузера у пользователя отобразится ошибка 404. Давайте разберемся, как ошибка влияет на поведение пользователей и SEО-показатели сайта, а также как и зачем делать редирект этой ошибки.

Redirect error 404 SMF

Почему возникает ошибка 404 

Ошибка 404 (File not found) возникает в тех случаях, когда сервер не может найти запрашиваемую пользователем страницу. От этого не застрахован ни один сайт. Чаще всего ошибка возникает по следующим причинам:

  • сайта или страницы больше не существует, 
  • сайт перенесли на новый адрес, но не настроили на него переадресацию со старой страницы,
  • структура сайта изменилась и URL-адреса страниц стали неактуальными,
  • пользователь ввел некорректный адрес страницы, например, 2domains.ru/asdfjkl:

Вне зависимости от причины ошибки срабатывает такой механизм: браузер пользователя запрашивает информацию у сервера, сервер не находит нужной страницы и возвращает ответ о том, что она не найдена. В результате у пользователя в браузере отображается “Not Found (404)”. 

Как ошибка влияет на SEO-показатели сайта и что делать

В большинстве случаев наличие ошибок напрямую или косвенно может повлиять на SEO-показатели сайта. Рассмотрим эти показатели и как их можно улучшить. 

Посещаемость

В том, что на сайте время от времени встречаются 404-е ошибки, нет ничего криминального. Описку в адресе хоть раз, но делал каждый пользователь интернета. Принимать меры стоит в том случае, если “error 404” встречается на сайте слишком часто. Если пользователи будут регулярно замечать проблемы, они почувствуют дискомфорт и могут перейти к конкуренту. 

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

Лояльность 

Вид и дизайн страницы с ошибкой также сильно влияют на репутацию сайта. Здорово, если страница будет красивой или шуточной — это вызовет позитивный отклик и повысит лояльность пользователей. Вот несколько примеров таких страниц:

Страница с ошибкой на сайте pikabu.ru

Страница с ошибкой на сайте www.idesign.com.mt

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

   
Страница с ошибкой на сайте helpscout.com


Страница с ошибкой на сайте flippingbook.com


Страница с ошибкой на сайте kayako.com

В популярных CMS (например WordPress, Joomla и Drupal) есть готовые страницы 404. Однако они могут контрастировать с общим дизайном сайта или быть не слишком информативными, что в очередной раз оттолкнет пользователя. Идеальный вариант — создать страничку с ошибкой конкретно под ваш сайт. Вы можете заказать её у разработчика или сделать самостоятельно, если имеете опыт в вёрстке и веб-дизайне. 

Продвижение

Иногда при загрузке несуществующей страницы вместо реального кода 404 браузер получает в ответ от сервера код 200 (success). Такие случаи называют ложной ошибкой 404. Проблема в том, что из-за кода 200 Яндекс и Google считают, что страница есть и её нужно проиндексировать. Подробнее читайте в справке Google. 

Индексация удаленных страниц негативно сказывается на SEO-продвижении и затрудняет видимость основного контента сайта. Если на вашем ресурсе есть несуществующие страницы, проверьте их реальный код с помощью онлайн-сервиса от Google. Если сервис покажет код 200, настройте редирект на страницы с ошибкой 404 для всех таких страниц. 

Настройка редиректа .htaccess на страницу с ошибкой 404 

Если у вас ещё нет готовой свёрстанной страницы 404, создайте её удобным вам способом: 

  • найдите бесплатные шаблоны страниц, выберите один из них и скачайте. Затем добавьте файл шаблона в корневой каталог сайта;
  • создайте страницу самостоятельно с помощью HTML и CSS. Назовите файл страницы “404.html” и добавьте его в корневой каталог сайта;
  • настройте один из плагинов (All 404 Redirect to Homepage & Broken images Redirection, 404 Page by SeedProd или 404 to 301), если у вас WordPress. Обратите внимание: в этом случае настраивать редирект .htaccess не нужно.   

Как настраивается редирект:

1. В корневом каталоге сайта откройте конфигурационный файл .htaccess и добавьте в него следующую строку:

ErrorDocument 404 https://site.ru/404.html

Вместо site.ru укажите домен вашего сайта. Затем сохраните изменения. 

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

2. Закройте служебную страницу 404 от индексации для лучшей SEО-оптимизации ресурса. Для этого в корневом каталоге откройте файл robots.txt, добавьте команду ниже и сохраните изменения:

Disallow: /404.html

Готово, вы настроили редирект с помощью .htaccess. 

Проверка редиректа 404

Проверить, всё ли верно настроено в .htaccess, вы можете с помощью Яндекс.Вебмастер или Google Search Console.

1. Перейдите в Яндекс.Вебмастер. Если вы ещё не зарегистрированы, укажите домен вашего сайта и добавьте файл в корневую папку сайта, чтобы пройти проверку валидации.
2. Откройте раздел ИнструментыПроверка ответа сервера:

3. Укажите адрес страницы ошибки и кликните Проверить. Если в коде статуса HTTP отображается 404 Not Found, значит всё настроено верно:

1. Перейдите в Google Search Console. Если вы ещё не зарегистрированы, введите ваш домен и добавьте TXT-запись (загрузите файл в корневую папку сайта), чтобы пройти валидацию. 
2. В меню справа откройте раздел Покрытие. В информации о страницах ошибок вы должны увидеть аналогичный результат:

Htaccess переадресация 404 ошибка примеры

ErrorDocument 404 Редирект 404 htaccess или редирект на страницу 404, errordocument в файле htaccess сегодня полностью разберемся во всех возможных ситуациях, которые возникают с с использованием htaccess редирект 404

Всё о htaccess редирект 404 errordocument

  1. Что такое редирект htaccess 404
  2. Как настроить 404 ошибку в htaccess
  3. Как настроить 404 ошибку в htaccess -> единая точка входа

Еще смотри: tema=404

  1. Что такое редирект htaccess 404

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

    Обычно делают переадресацию на собственный файл -> 404.html

    Зачем нужен редирект на файл 404.html

    Нам нужно, чтобы наш посетитель не ушел с нашего сайта! Поэтому после того, как он увидит страницу 404.html, ему можно сделать редирект на главную!

    Конечно же… никаких таких правил в web-e не существует, что именно по такому алгоритму должна обрабатываться ошибка 404.

    У вас есть выбор… оставить пользователя смотреть на не найденную страницу и предоставить выбор ему…

    Либо переадресовать на существующую страницу!

  2. Как настроить 404 ошибку в htaccess

    Настраивать ничего не нужно! Просто нужно прописать правило редиректа и всё! Для того, чтобы прописать редирект при появлении ошибки 404Ю в файле htaccess прописываем редирект страницы на 404:

    ErrorDocument 404 /404.html

    Если вам требуется показывать какую-то другую страницу 404, которая находится в другом месте, то конструкцию нужно изменить таким образом:

    ErrorDocument 404 /путь_до_файла/название_файла_.html

    Как настроить 404 ошибку в htaccess

    Как сделать редирект с 404 на главную htaccess

    В файле htaccess, внутри правила ErrorDocument прописываем файл не 404.html? а адрес главной! И когда произойдет 404 ошибка то редирект произойдет на главную, если по домену открывается файл index.html:

    ErrorDocument 404 /index.html

    Как сделать редирект уже в файле 404.html
    После того, как ваш редирект вна 404 сработает, то пользователя переместят на страницу 404.html. далее вы можете сделать простую переадресацию html уже на любую страницу!

  3. Как настроить 404 ошибку в htaccess -> единая точка входа

    Когда у вас единая точка входа, то те выше приведенные правила редиректов работать просто не будут, потому, что при любом случае, все запросы будут отправляться на какую-то страницу!

    Как настроить 404 ошибку в htaccess если у вас единая точка входа!?

    Когда я делал свой редирект на 404 единой точки входа, ничего внятного в интернетах по этому вопросу не было написано! Поэтому, я сам до этого дошел!

    Если url из адресной строки пролетел мимо всех проверок, то создается переменная $no_page. В этом подпункте мы как раз касались немного, темы структуры единой точки входа — тема проверок, и в том числе там фигурирует эта переменная:

    $no_page = 1;

    В самом низу перед html тегами, делаем условие, существует ли переменная $no_page, если да то:

    Отправляем заголовок 404 — поскольку поисковая система никак не сможет узнать, что данная страница не существует!

    Далее просто инклудим 404.html страницу

    Останавливаем скрипт!

    if($no_page)

    {

    header(«HTTP/1.0 404 Not Found»);

    include(‘404.html’);

    exit;

    }

    Как настроить 404 ошибку в htaccess если у вас единая точка входа!?

Можете не благодарить, лучше помогите!

COMMENTS+

 
BBcode


Прикупил тут с оказией дроп с 6к бэков, причем не только разных спамных, но и gov & edu, так что захотелось мне посмотреть, что будет если приклеить все внутряки, которых видимо было огромное количество и на которые как раз и ссылались, к морде. Для чего возникла задача редиректить все 404 ошибки на морду сайта.

Так что озадачился вопросом как это можно безболезненно сделать.
Вариант первый, классический- засунуть редирект в файл .htaccess в виде следующей строки:

RewriteEngine on
ErrorDocument 404 /index.php

У меня он по какой то не понятной причине не заработал, ибо все равно вылетала страницы ошибки, как раз спеицально созданная в теме, под именем 404.php, так что мне пришлось её немного подправить, добавив в начало файла следующую строку:

<?php
header(“Status: 301 Moved Permanently”);
header(“Location:http://URL_SITE/”);
?>

После чего все зашуршало. Так что можно просто создать такой файлец 404.php и поместить его в корень темы /wp-content/themes/your-theme/ после чего все должно зашуршать.

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

Автор: anchous |
Категория: сайты |
02 7th, 2012 |

14 Комментариев

  1. RoooM сказал:

    Добрый день!
    Говорят, что поисковики затирают несуществующие страницы 404 из своей базы.
    А если сделать со всех 404 редирект на домен – то битая ссылка остается в базе поисковиков + к ней добавляется инфо с главной, создавая дубли. Кто сталкивался на своем опыте? Подскажите, не хочется нормальный сайт топить, а потом опять выплывать…
    Спасибо.

    [Reply]

  2. stanles сказал:

    Добрый день.
    А как к этому относятся ПС? Не посчитали типа поисковым спамом, вроде как перенаправление пользователя без его ведома?

    [Reply]

  3. Оптимист сказал:

    Не рекомендую редиректить 404 на главную. С точки зрения SEO это – серьезная ошибка. Гораздо лучше сделать нормальную 404 страницу.

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

    [Reply]

  4. Оптимист сказал:

    Большинство точек зрения по такому раскладу среди сеошников за то, что так делать нельзя. Ковырял раньше эту тему.

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

    [Reply]

  5. Irina сказал:

    Еще плагин WP Redirect отлично работает

    [Reply]

  6. Optaser сказал:

    Для сео это называется ошибка 404-soft, что не очень хорошо, не рекомендую этого делать.

    [Reply]

  7. Optaser сказал:

    301 как раз таки непосредственно про 404-soft ошибку, почитайте про это

    [Reply]

  8. Инна сказал:

    А как сделать что бы сначала сервер отдал 404, а затем редирект на главную?

    [Reply]

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

  • Что такое 301 редирект?
  • Для чего нужен 301 редирект?
  • Как сделать 301 редирект?
    • 301 редирект в .htaccess
    • 301 редирект при помощи php
    • 301 редирект в Nginx
    • 301 редирект при помощи плагинов
  • Редирект 301 в SEO
  • 301 редирект или rel=»canonical»?
  • Склейка зеркал при помощи 301 редиректа
  • Разница между 301-м и 302-м редиректом
    • Когда оправдано использование 302 редиректа?
  • 301 редирект в популярных CMS
    • Битрикс
    • WordPress
    • Joomla!
    • Opencart
    • Modx
    • Wix
  • Распространенные редиректы
    • Redirect 301 с http на https
    • Redirect 301 с www на без www
    • Redirect 301 с без www на www
    • Redirect 301 с одной страницы на другую
    • Redirect 301 с домена на домен
    • Redirect 301 для слеша  (Удаляем слэш на конце)
    • Redirect 301 для слеша  (Добавляем слэш на конце)
    • Redirect 301 с index.php (.html)
    • Массовый redirect 301
    • Редирект со страницы 404 Not Found
  • Проверяем 301 редирект
  • Что делать, если 301 редирект не работает?
  • Какой он — правильный 301 редирект?
  • Как удалить 301 редирект?

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

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

Что происходит в данный момент?

Происходит переадресация при помощи 301 редиректа. Действует это следующим образом.

  1. Человек вводит в адресной строке URL адрес (или нажимает на гиперссылку);

  2. Сервер получает запрос с URL адресом и начинает его обрабатывать;

  3. В процессе обработки запроса «сталкивается» с инструкцией redirect и следует ее указаниям;

  4. Отправляет пользователю новый URL адрес, который указан в инструкции и ответ 301.

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

Для чего нужен 301 редирект?

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

  • Адрес страницы навсегда изменился, поэтому нужно перенаправить пользователей на актуальный URL;

  • Поменялся домен сайта, поэтому нужно переадресовать людей на новый домен;

  • Один и тот же материал имеет несколько URL адресов, то есть, дублей;

  • При работе online сервисов, форм, модулей и прочих интерактивных элементов сайта необходимо перенаправление.

Конечно, это неполный список того, как можно использовать 301 redirect, однако это основное.

Нужно понимать, что сделать 301 redirect со страницы возможно только при наличии доступа к этой самой странице. То есть, взять и прописать переадресацию для любого ресурса не получится. Именно поэтому, 301 редирект считается «официальным» перенаправлением, которое сделал владелец сайта.

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

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

Ниже мы опишем ряд основных способов создания 301 redirect, которые отличаются по своему исполнению, но имеют один и тот же результат.

301 редирект в .htaccess (Apache)

Создание 301 редиректа в файле .htaccess является самым популярным способом сделать переадресацию. Он  достаточно прост и доступен всем пользователям, которые используют в качестве сервера Apache.

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

Расположение файла .htaccess

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

Мы не будем подробно разбирать все инструкции файла .htaccess, рассмотрим только те, что касаются redirect 301.

Для начала необходимо убедиться, что у Вас установлен модуль mod_rewrite, так как именно он отвечает за переадресацию URL адресов. По этому поводу Вы можете обратиться к своему хост провайдеру или самостоятельно найти и проверить файл конфигурации Apache (httpd.conf)

Подготавливаем .htaccess к работе

Создаем или открываем уже существующий файл .htaccess. Прописываем в нем следующие строки:

<IfModule mod_rewrite.c>

</IfModule>

Это запись-условие. Она проверяет установлен ли на Apache необходимый нам модуль mod_rewrite. Если таковой имеется, то выполняется все, что указано между тегами <IfModule mod_rewrite.c> и </IfModule>. Если отказаться от этой инструкции, то при отсутствии модуля будет выводится ошибка.

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

RewriteEngine on

Данная запись позволит активировать модуль mod_rewrite.

Следующей строкой прописываем:

RewriteBase /

Подобная команда устанавливает базовый URL. Обычно это сам домен, примеру http://example.ru. Именно от установленного адреса мы и будем отталкиваться при дальнейшей работе.

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

Подготовленный .htaccess

Вот и все, наш .htaccess подготовлен для добавления перенаправлений.

Добавляем в .htaccess редирект

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

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

  2. RewriteCond / RewriteRule — более гибкие и сложные правила переадресации. Обычно используются для массовых редиректов.

Теперь о каждом подробнее.

Redirect 301

Самая простая во всех смыслах инструкция. Ее синтаксис умещается в одну строку:

Redirect 301 <старая страница> <новая страница>

Между адресами всего один пробел. Никаких точек, дефисов и других сторонних символов.

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

Redirect 301 /old-page.html http://example.ru/new-page.html

В файле это выглядит следующим образом:

Использование инструкции redirect 301 со страницы на страницу

Это все, что нужно знать о данной инструкции.

 RewriteRule (RewriteCond )

Это составная инструкция, которая делится на 2 основные команды.

RewriteCond — Задает условие для следующей за ней директивы RewriteRule. Отдельно не применяется.

RewriteRule — Описывает правило изменения URL адреса.

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

Будем разбирать по строчкам.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301]
</IfModule>

1 строка. Закомментированный текст. Комментарии в файле .htaccess начинаются с «#». На исполнение файла никак не влияет.

2 строка. Проверка наличия модуля mod_rewrite.

3 строка. Активация модуля mod_rewrite.

4 строка. Директива RewriteCond. Проверяет, есть ли «www» в начале адреса. Если нет, то срабатывает ниже расположенная RewriteRule.

5 строка. Директива RewriteRule. Переадресовывает на «www».

6 строка. Окончание контейнера проверки наличия модуля mod_rewrite.

Мы не будем подробно расписывать синтаксис и все возможные команды, которые применяются при работе с файлом .htaccess в данной статье, так как это очень глобальная и сторонняя от SEO тема. Примеры редиректов Вы сможете найти ниже.

301 редирект при помощи PHP

Помимо файла .htaccess, 301 redirect возможно сделать посредством php. Суть метода очень проста и задействует заголовки отправляемые сервером на запрос клиента.

Чтобы сделать редирект, в документе необходимо прописать php код следующего содержания:

<?php
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://www.new-domain.ru/page.php”);
exit();
?>

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

Обратите внимание, что до вызова header, выводится ничего не должно, в противном случае Вы получите ошибку. Речь идет об «echo» или «print». Лучше всего размещать этот код в самом начале скрипта.

А вот вариант с сохранением всех параметров запроса и адреса страницы (то есть, домен будет изменен, а оставшаяся часть URL останется прежней):

<?
$ref=$_SERVER['QUERY_STRING'];
if ($ref!='') $ref='?'.$ref;
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://new-domain.ru/'.$ref);
exit();
?>

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

301 редирект в Nginx

Мы не будем подробно рассматривать все нюансы настройки 301 редиректа в nginx, так как это очень глобальная и отдаленная от SEO продвижения тема. Рассмотрим лишь несколько самых популярных перенаправлений.

301 редирект с http на https для Nginx

Перевод сайта с http на https набирает все большую популярность. Сегодня защищенный протокол это не просто приятное дополнение, а банальная необходимость. Google уже не раз заявлял, что наличие SSL сертификата дает сайту преимущество в поисковой выдаче. После создания защищенного протокола Вам будет необходим редирект с http на новый https. Вот его пример для Nginx:

server {
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
}

Альтернативный вариант:

server {
listen server_ip:80;
server_name www.dh-agency.ru;
rewrite ^ https://www.dh-agency.ru$request_uri? permanent;
}

301 редирект с www на без www для Nginx

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

server {
if ($host ~* www.(.*)) {
set $host_without_www $1;
rewrite ^(.*)$ http://$host_without_www$1 permanent;
}
}

Альтернативный вариант:

server {
server_name dh-agency.ru;
rewrite ^/(.*)$ http://dh-agency.ru/$1 permanent;
}

301 редирект с без www на www для Nginx

Обратный от вышеуказанного редиректа. Будет полезен, если основное зеркало сайта содержит www.

server {
server_name dh-agency.ru;
rewrite ^/(.*)$ http://www.dh-agency.ru/$1 permanent;
}

Альтернативный вариант:

server {
listen 80;
server_name www.dh-agency.ru;
}

Редирект для одной страницы (Nginx)

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

server {
if ( $request_filename ~ oldpage/ ) {
rewrite ^ http://www.dh-agency.ru/newpage/? permanent;
}
}

Вариант для папки:

server {
if ( $request_filename ~ oldfolder/.+ ) {
rewrite ^(.*) http://www.dh-agency.ru/newfolder/$1 permanent;
}
}

Редирект с одного домена на другой (Nginx)

301 редирект с одного домена на другой позволяет склеить сайты, а также передать «вес» (с точки зрения поисковой системы).

В server_name возможно указание алиасов и зеркал домена.

server {
server_name dh-agency.ru www.dh-agency.ru;
rewrite ^ $scheme://www.new-dh-agency.ru;
}

Редирект со страницы имеющей слэш в конце URL, на страницу без него (Nginx)

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

server {
rewrite ^/(.*)/$ /$1 permanent;
}

Редирект со страницы НЕ имеющей слэш в конце URL, на страницу со слэшем (Nginx)

Обратный от вышеуказанного редиректа.

server {
rewrite ^(.*[^/])$ $1/ permanent;
}

Плагин для создания 301 редиректа

Если Вы используете популярную CMS, к примеру WordPress или Joomla!, то можете сильно упростить процесс создания 301 редиректа при помощи плагина.

Для решения простых задач по переадресации использование плагина имеет неоспоримые преимущества. Во-первых, Вы экономите до 90% своего времени. Во-вторых, получаете наглядный и удобный интерфейс, в котором разберется даже новичок. Тем более, что практически все продукты такого рода бесплатны и доступны в избытке.

Ниже мы подробно описали популярные плагины для основных систем управления контентом.

301 редирект в SEO продвижении

Именно благодаря SEO, 301 редирект приобрел свою относительную популярность (в сравнении, к примеру с 302). Он является одним из основных инструментов при работе с индексацией сайта, а также сильно помогает при изменении структуры ресурса. Ниже мы опишем четыре основные функции 301-го редиректа в поисковой оптимизации сайта.

Функция 1. Оставляем в поиске один URL адрес

301 редирект позволяет соблюсти один из основных постулатов SEO — «каждая страница должна быть доступна только по одному URL адресу».

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

Функция 2. Меняем структуру сайта без потери позиций

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

Только таким образом мы сможем «сказать» краулеру, что страницы навсегда переехали на новые адреса, которые нужно разместить в поиске. Старые URL при этом должны быть удалены из выдачи.

Функция 3. Склеиваем зеркала

С помощью постоянной переадресации возможно склеить зеркала сайта. Это могут быть как разные домены, так и «разновидности написания» одного и того же. К примеру, при создании защищенного протокола, необходимо выставить в Яндекс Вебмастере новое зеркало (рисунок ниже), которое будет отображаться в выдаче, а так же сделать 301 редирект с http на https.

Склейка зеркал при помощи 301 редиректа

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

Только 301 редирект способен склеивать доменные имена.

Функция 4. Приводим URL адреса к единому виду

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

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

Redirect в Яндекс Директ

301 редирект или rel=»canonical»

Как минимум в ряде случаев, атрибут rel=»canonical» считают альтернативной 301-у редиректу. Давайте разберемся, так ли это.

Напомним, что rel=»canonical» позволяет указать поисковой системе основной URL адрес страницы. Подробнее о данном атрибуте мы писали ранее.

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

 301 redirect rel=»canonical»
Передает «вес» страницы (с точки зрения SEO)? Да Нет
Пользователь (робот) видит старую страницу при обращении? Нет, происходит переадресация Да, видит
Обязательна ли инструкция к исполнению? Да Нет, на усмотрение робота
Виден ли пользователю? Да Нет, предназначен только для робота

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

Склейка зеркал при помощи 301 редиректа

Одна из основных функций 301 редиректа, без которой нельзя обойтись в SEO, это склейка зеркал.

Зеркалами для поисковой системы являются сайты с одинаковым контентом (или частичной копией контента) доступные по разным URL адресам. Как ни странно, практически у каждого сайта в Интернете есть зеркала. Все дело в том, что для поисковой системы домен с www и без www это разные адреса.

То есть, www.dh-agency.ru и dh-agency.ru  для поисковика это различные URL, по которым доступен один и тот же контент. Этот случай настолько популярен, что в Яндекс Вебмастере есть раздел «Переезд сайта», где предоставляется возможность выбора основного зеркала, которое будет в поиске. Переадресация при этом, конечно, не появляется. Эта инструкция предназначена только для робота поисковой системы.

Склейка www и без www при помощи 301 редиректа

В случае с www, 301 редирект часто не ставится, так как домены признаются зеркалами автоматически. Хотя такая возможность есть, а иногда даже необходима. Про переадресацию с www на БЕЗ www мы рассказываем ниже.

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

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

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

Стоит сказать, что после данной процедуры ТИЦ , «ссылочный вес» и другие «пузомерки» будут перенесены на новый домен.

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

Разница между 301 и 302 редиректом

С точки зрения SEO 301 редирект кардинально отличается от 302. Даже несмотря на то, что их синтаксис очень схож, для поисковой системы они несут совершенно разный смысл. Вот их основное отличие:

301 редирект (Permanent Redirect)постоянное перемещение страницы;

302 редирект (Temporary redirect)временное перемещение страницы;

Из это вытекают все их различия и принципы использования.

 301 redirect 302 redirect
Передает ссылочный вес да нет
Индексация старой страницы нет да
Наличие старой страницы в поиске нет да
Риск попасть под фильтры* минимален достаточно высок

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

В случае же с 302 редиректом мы сообщаем, что переадресация выполнена временно и вскоре старый адрес будет снова доступен. То есть, нужно ненадолго передать трафик с одной страницы на другую, после чего все вернется на круги своя.

*Стоит сказать, что 301 и 302 редирект имеют различные степени риска попадания под фильтры поисковых систем за мошенничество. Безусловно, не нарушая никаких правил  к Вам вряд ли будут применены санкции, однако мы все равно оценим риски. Так как 302 редирект часто используется в черном SEO, то риск при его использовании на порядок выше, нежели у 301 редиректа. 

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

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

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

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

Нежелательно ставить 302 редирект на слишком длительный срок. Это может привести к тому, что поисковая система  исключит из поиска старую страницу, по сути, превратив 302 редирект в 301.

301 редирект в популярных CMS

Вне зависимости от CMS сайта, Вы всегда можете создать 301 редирект при помощи файла .htaccess или php кода. Однако, для распространенных систем управления существуют плагины и модули, которые упрощают процесс создания перенаправления до нескольких кликов. Ниже мы описываем самые популярные плагины и модули для Битрикса, WordPress, Joomla!, Opencart и других распространенных систем управления.

301 редирект в Битрикс (Bitrix)

Для Битрикса существует множество дополнений в виде модулей. Для решения задачи по созданию 301-го редиректа был реализован модуль «Редирект мастер«. Как и множество других дополнений для Битрикса, он платный. Его стоимость на момент написания статьи — 5 000 рублей. Что довольно дорого, по нашему мнению.

Есть и более дешевый вариант — модуль с простым названием «Перенаправление ссылок«. Его стоимость в 5 раз меньше предыдущего, а функционал очень схож.

Модуль «Редиректор«, стоимостью 3 900 рублей на момент написания статьи, также очень схож с описанными выше.

Все эти модули позволяют настроить 301-й редирект для динамических URL, ЧПУ, адресов с параметрами, а также практически все, что можно сделать руками в .htaccess.

301 редирект в WordPress

Одно из преимуществ WordPress — наличие огромного количества готовых решений на все случаи жизни. Не стал исключением и 301 редирект. Для упрощения процесса создания переадресации существует множество различных плагинов. Мы рассмотрим два самых популярных.

Скачать данные плагины Вы можете совершенно бесплатно прямо из панели управления. Для этого переходим в «Плагины» -> «Добавить новый«. В строке поиска вводим название плагина и выбираем необходимый.

Плагин Redirection

В разделе «Добавить плагины«, после ввода названия в строку поиска, Вы увидите результаты, среди которых будет:

Плагин для WordPress Redirection

Далее нажимаем кнопку «Установить» -> «Активировать«.

После того, как Redirection будет активен, переходим в список всех плагинов, выбираем «Перенаправления/Redirection» и нажимаем «Настройки«. Сразу под названием плагина Вы увидите 7 вкладок:

  • Redirects. В данной вкладке представлены все имеющиеся редиректы. Ниже располагается блок «Add new redirection» (Добавить новый редирект).
    Первое поле (Source URL) — то, откуда нужно сделать редирект.
    Второе поле (Target URL) — то, куда нужно сделать редирект.
    Group — группа, к которой будет относится переадресация.

  • Groups. Группы, на которые делятся редиректы. Не имеет отношения к массовым редиректам. Это просто сортировка.

  • Log. Логи или проще говоря, журнал в который записываются все события связанные с редиректами данного плагина.

  • 404s. Те же логи, только для события 404.

  • Import/Export. Возможность импорта и экспорта редиректов.

  • Options. Основные настройки плагина.

  • Support. Раздел поддержки.

Использование плагина redirections для WordPress

Для того, чтобы добавить редирект, переходим во вкладку «Redirections«, спускаемся к блоку «Add new redirection» и заполняем все необходимые поля (Source URL, Target URL, Group), нажимаем «Add Redirect» — готово. Теперь необходимо только проверить результат.

Плагин Simple 301 Redirects

Принцип установки точно такой же, как и у Redirection. В поиске плагинов необходимо найти:

Плагин 301 редиректа для WordPress Simple 301 redirects

После активации плагина, в левом меню WordPress в пункте «Настройки» появится ссылка «301 redirects«. Переходим по ней и попадаем на страницу с двумя полями.

Плагин для WordPress Simple 301 Redirects

Первое поле — откуда ставим редирект, второе — куда. Тут нет сложных настроек, все максимально просто.

301 редирект в Joomla!

Для создания 301 редиректа, в Joomla! 3 уже имеется стандартный компонент. Найти его можно развернув меню «Компоненты» — > «Перенаправление«.

301 редирект при помощи компонента в Joomla!

После перехода Вы увидите все имеющиеся редиректы, если они есть.

Для создания нового, необходимо нажать на кнопку «Создать» и заполнить все обязательные поля (отмечены звездочкой).

Создание нового 301 редиректа в Joomla! при помощи стандартного компонента

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

Что делать, если 301 редирект в Joomla! не работает?

Если при использовании стандартного компонента перенаправлений в Joomla! 3, редирект так и не заработал, необходимо:

  1. Открыть файл configuration.php находящийся в корневой папке Вашего сайта;

  2. Найти переменную public $live_site;

  3. Присвоить ей в качестве значения домен своего сайта.

Сохраняем изменения и проверяем редирект.

301 редирект в Opencart 2

Для Opencart 2 существует готовый модуль, позволяющий создавать постоянную переадресацию. Его название «Менеджер 301 редиректов«.

Он поддерживает всевозможные варианты 301-го редиректа и совместим со всеми версиями Opencart 2.x.

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

Не забывайте, что любая CMS система, в том числе и Opencart, поддерживает редиректы созданные вручную в файле .htaccess или посредством php вставки.

301 редирект в Modx

Для Modx Revo существует множество готовых решений реализации 301-го редиректа. Одно из них Redirector. Установка и использование данного расширения не составляет никаких сложностей. Если, все же, у Вас возникли трудности, Вы можете подробно изучить любой вопрос на официальной странице https://docs.modx.com/extras/revo/redirector.

301 редирект для Wix

В Wix существует стандартная функция, позволяющая сделать 301 редирект. Ничего придумывать не придется, просто следуйте нижеуказанной инструкции.

  1. Переходим в режим управления сайта;

  2. Находим раздел SEO и переходим в него;

  3. Пролистываем страницу вниз до блока «Переадресация: 301 редирект»;

  4. Нажимаем «Настроить переадресацию»;

  5. В соответствующие поля вводим старый и новый URL;

  6. Нажимаем «Сохранить» и «Опубликовать».

Проверяем работоспособность переадресации.

Распространенные редиректы

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

301 редирект с http на https

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

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Итогом данного редиректа будет являться добавление ко всем URL сайта протокола https.

301 редирект с www на БЕЗ www

Если в качестве основного зеркала сайта Вы выбрали домен без WWW, то Вам необходим соответствующий редирект. Его пример ниже.

RewriteCond %{HTTP_HOST} ^www.(.*)$
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]

Итогом данного редиректа будет являться «удаление» из всех URL адресов префикса «WWW».

301 редирект с БЕЗ www на www

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

RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301]

Итогом данного редиректа будет являться добавление ко всем URL адресам префикса «WWW».

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

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

Redirect 301 /page-1/ http://mysite.com/new-page-1/

Итогом исполнения вышеуказанной инструкции будет являться постоянная переадресация со страницы /page-1/ на страницу /new-page-1/. При этом раздел  /page-1/ будет исключен из поиска, а /new-page-1/ получит весь имеющийся «вес».

Обратите внимание, подобным образом возможно сделать переадресацию только для URL адресов без параметров. То есть, для страницы /page-1/?productID=7389 эта команда работать не будет.

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

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

RewriteEngine On
RewriteCond %{HTTP_HOST} domain1.ru
RewriteRule (.*) http://domain2.ru/$1 [R=301,L]

Итогом вышеуказанного редиректа станет перенаправление всех обращений к domain1.ru на domain2.ru.

301 редирект для слеша (Удаляем слеш на конце)

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

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]

Итогом будет являться «удаление» слэша в конце URL адреса.

301 редирект для слеша (Добавляем слеш на конце)

Обратный от ранее упомянутого редирект. Добавляет слэш в конце строки URL адреса.

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]

Итогом будет являться «добавление» слэша в конце URL адреса.

301 редирект с index.php (html)

Во многих CMS системах, в том числе и популярных, при некорректной настройке URL, главная страница становится доступна как по доменному имени, так и по доменному имени + index.php (html). То есть, dh-agency.ru и dh-agency.ru/index.php ведут на одну и ту же страницу — главную. Для поисковой системы это дубли, поэтому от них нужно избавляться.

Пример 1, для index.php

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php HTTP/
RewriteRule ^index.php$ http://dh-agency.ru/ [R=301,L]

Пример 2, для index.html

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.html HTTP/
RewriteRule ^index.html$ http://dh-agency.ru/ [R=301,L]

Итогом обоих примеров будет редирект с /index.php (html) на «корень сайта», то есть, просто на домен.

Массовый 301 редирект

Массовый 301 редирект используется, в основном, при смене структуры сайта, раздела или вида URL адреса. В отличие от единичных редиректов со страницы на страницу, он делается по определенному правилу, под которое подпадают все URL адреса, для которых необходимо перенаправление.

В некоторых CMS системах по умолчанию используется генерация 301-х редиректов для создания единого адреса с ЧПУ.

К массовым редиректам можно отнести большинство вышеуказанных примеров, так как их правила распространяются не на один URL адрес, а на все существующие или отобранную группу.

Редирект со страницы 404 Not Found

Создание редиректа с несуществующей страницы на главную (или любую другую) технически возможно. В этом нет никакой проблемы. Однако с точки зрения SEO это будет некорректно. При обращении к несуществующему разделу индексирующий робот должен получать соответствующий заголовок — 404. Только так он сможет корректно индексировать сайт. Кроме этого, поисковые системы не любят большое количество редиректов, поэтому их использование нужно сократить до минимума.

Пример 1. Редирект с 404 страницы на главную

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

ErrorDocument 404 http://www.site.com/301.html

Итогом данного редиректа будет являться перенаправление всех обращений к страницам 404 на главную страницу сайта.

Пример 2. Редирект с 404 страницы на главную через 301 редирект

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

ErrorDocument 404 http://www.site.com/301.html

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule 301.html http://www.site.com/ [R=301,L]

Пример 3. редирект с 404 страницы на заранее подготовленную

Перенаправление возможно сделать не только на главную страницу, но и на любой другой раздел. К примеру, на заранее подготовленную страницу 404. Выглядит это следующим образом:

ErrorDocument 404 /404.html

Проверяем 301 редирект

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

Для того, чтобы удостовериться, что сработал именно 301 редирект, необходимо перейти в Яндекс Вебмастер в раздел «Инструменты» — > «Проверка ответа сервера«.

В поле «Опрашиваемый URL» необходимо ввести адрес страницы, с которой Вы делали перенаправление. Итогом проверки должен быть код статуса HTTP «301 Moved Permanently«

Проверка 301 редиректа

В случае, если при обращении к старой странице перенаправление не происходит или код статуса HTTP не «301 Moved Permanently» — проверьте корректность настройки редиректа.

Что делать, если 301 редирект не работает?

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

  1. Синтаксические ошибки

    Проблема банальна и всем понятна, однако до сих пор остается самой распространенной. Пожалуйста, обращайте внимание на синтаксис. Любой лишний пробел, перенос строки или точка способы изменить работу команд. Если Вы копируете инструкции для файла .htaccess из Интернета, убедитесь, что вместе с кодом Вы не вставили лишние пробелы, комментарии или нумерацию строк.

  2. Использование URL адреса с параметром

    Умещающийся в одну строчку «упрощенный» вариант редиректа в файле .htaccess вида:

    Redirect 301 "old_url" "new_url"

    Работает исключительно с URL адресом без каких либо параметров. То есть, такая команда работать не будет:

    Redirect 301 /index.php?productID=1109 http://dh-agency.ru/for-seo/

    А вот такая, будет:

    Redirect 301 /index.php http://dh-agency.ru/category/for-seo-professionals/

    Для переадресаций с префиксами в URL (в нашем случае «?productID=1109») необходимо использовать RewriteCond и RewriteRule.

  3. Некорректное расположение

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

  4. Отключен модуль mod_rewrite

    При создании переадресации в файле .htaccess убедитесь, что у Вас подключен и активирован модуль mod_rewrite. Подробнее об этом мы писали Выше.

  5. Некорректная настройка плагинов

    В случае использования готового решения для CMS систем (плагина, модуля, компонента и т.д.) ознакомьтесь с инструкцией или найдите видео урок. Даже в интуитивно понятном интерфейсе возможно допустить ошибку. Неправильно настроенный модуль может сильно повлиять на корректность индексации. К сожалению, не все ошибки связанные с редиректом возможно выявить сразу. Иногда их находят только после появления исключенных страниц в Яндекс Вебмастере.

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

Правильный 301 редирект отвечает всем нижеперечисленным требованиям:

  1. Ведет на страницу без последующих перенаправлений. То есть, если Вы сделали редирект со страницы А на страницу Б, то с последней (Б) уже не должно быть никаких переадресаций. Она должна быть конечной точкой, куда попадет пользователь;

  2. Переадресовывает на страницу, код ответа которой 200 ОК. То есть, проще говоря, на существующий и доступный раздел. Неприемлемо делать перенаправление на несуществующую или ограниченную в доступе страницу;

  3. Сделан без синтаксических и логических ошибок;

  4. 301 redirect выбран осознанно. Убедитесь, что Вам нужен именно он, а не 302-ой или 307-ой. Выбор типа переадресации очень важен, ведь с точки зрения SEO, разница между ними глобальна;

  5. Был сделан сознательный выбор между атрибутом rel=»canonical» и перманентным редиректом. Не стоит делать переадресации когда попало;

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

Как убрать 301 редирект?

Если Вам необходимо убрать 301 редирект, происхождение которого неизвестно, то придется сделать несколько достаточно простых шагов. Что бы их выполнить потребуется доступ к CMS, корневому каталогу сайта и поверхностные знания php/html.

  • Шаг 1. Определяем откуда и куда сделано перенаправление

    Априори считается, что если человек хочет убрать редирект, то он знает откуда и куда он ведет. Скорее всего так и есть. Просто напомним, что в Яндекс Вебмастере есть раздел «Страницы в поиске» -> «Исключенные страницы«, где возможно увидеть все непопавшие в индекс URL, в том числе и по причине редиректа.
    Ищем 301 редирект в Яндекс Вебмастер среди исключенных страниц

  • Шаг 2. Определяем тип перенаправления

    Чтобы убедиться, что срабатывает именно 301 редирект, необходимо зайти в «Яндекс Вебмастер» — > «Инструменты» — > «Проверка ответа сервера«. В поле «Опрашиваемый URL» вводим адрес страницы, с которой происходит переадресация. Результатом проверки должен стать код «301 Moved Permanently«;

  • Шаг 3. Выясняем, каким образом сделан редирект

    Есть несколько стандартных способов сделать 301 редирект. Нам необходимо проверить их все.

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

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

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

  • Шаг 4. Избавляемся от переадресации

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

  • Шаг 5. Проверяем работу

    После того, как 301 редирект будет убран, необходимо проверить действительно ли переадресация отсутствует. Так как браузеры привыкли кэшировать любые редиректы, лучше всего воспользоваться сервисом. Самый простой и доступный — Яндекс Вебмастер. О нем мы говорили выше, в шаге 2. Но, также есть и множество бесплатных online инструментов, которые широко доступны даже без регистрации. Один из них: redirectdetective.com

    23.09.2018 — 21:10 обсудить 772+

 размер текста 

Если на вашем сайте «пропало» несколько страниц, то позаботьтесь, чтобы посетитель из поиска увидел соответствующее уведомление, вместо ответа сервера «404 — Page Not Found». Даже если у вас простой сайт-визитка или «лендинг пейдж», имеет смысл настроить перенаправление на главную страницу.

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

Apache: перенаправление 404 страниц на главную

Нижеприведённые параметры действительны только для хостинга на сервере Apache. Для применения достаточно иметь FTP доступ к файлу «.htaccess».

RewriteEngine on
ErrorDocument 404 /index.html

Откройте файл на редактирование, и вставьте исходный код вверху. При отсутствии файла «.htaccess», следует создать его вручную.

После внесения изменений, сохраните файл. Теперь при возникновении ошибки «404», сервер автоматически перенаправит посетителя на главную страницу.

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

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

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

Что такое переадресация 301

Permanent Redirect 301 применяется с целью организации постоянной переадресации с неактуального доменного адреса или url отдельной страницы на рабочую версию. Редирект может понадобиться в связи с глобальным переносом сайта на другой домен, техническими изменениями в написании адреса, удалением страниц, необходимостью внутренней и внешней перелинковки. Один из вариантов использования перманентной переадресации – редирект с нескольких доменных имен, созданных в разных зонах, на один актуальный адрес. Грамотное использование редиректа позволяет перемещать контент без потерь в поисковой индексации, сохранить и даже увеличить прежний вес и позицию в выдаче.

Настроить код состояния HTTP 301 можно разными способами:

  • с помощью HTML и PHP;

  • через панель управления или плагины соответствующей CMS;

  • при помощи специальных скриптов (программ);

  • на уровне хостинг-провайдера;

  • внесением соответствующих записей в файлы .htaccess для сервера Apache или web.config для IIS.

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

Редирект

Альтернативные методы переадресации

  • Редирект 302. Применяется в случае временной переадресации с одного url на другой. При его использовании поисковая система индексирует все доступные версии сайта или страницы. Объединения ссылочного веса и внутренних метрик на приоритетном ресурсе не происходит. 
  • 307 Temporary Redirect рекомендуется применять в исключительных случаях. Например, при техническом обслуживании сайта, когда он недоступен некоторое время. 
  • Обновления Meta Refresh выполняют переадресацию не на уровне сервера, а непосредственно на сайте. Пользователь сталкивается с временной задержкой (обычно около пяти секунд), после чего для перехода на нужную страницу должен принудительно запустить определенную команду. Этот метод часто приводит к падению посетительского интереса и проседанию поисковых индексов.
  • Редирект rel=«canonical». Позволяет сохранить доступ посетителям ресурса к контенту дублирующихся страниц. При этом для поисковиков наличие команды canonical на одной из страниц говорит о том, что только она подлежит индексации в поиске.

В большинстве случаев постоянная переадресация является более правильным решением, чем временная. На практике это объясняется просто. Предположим, сайт сменил доменную зону, а затем еще и обзавелся защищенным протоколом https. При настройке временной переадресации в индексе Яндекса и Google по одним и тем же запросам появились три версии сайта с пропорциональным проседанием позиций в выдаче. После настройки редиректа 301 на приоритетный url произошло склеивание дублей, робот вернул сайт в топ выдачи. 

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

Редирект 301

В каких случаях используется постоянный редирект 301

  1. Смена доменного имени, перенос сайта. Необходимо произвести тотальную настройку переадресации со старого адреса на новый, чтобы все без исключения запросы к old_site.ru перенаправлялись на new_site.ru.

  2. Изменение написания url определенных страниц в целях SEO-продвижения, смены CMS или по иным причинам. Требуется настроить редирект с site.ru/1hdkr5 на site.ru/page_adress.

  3. Перенос разделов на субдомены. Необходимо сменить адрес www.site.ru/example на example.site.ru.

  4. Для аккумуляции трафика с адресов, купленных в разных доменных зонах, на один приоритетный ресурс. 

  5. Исключение дублирующихся страниц из индекса. 

  6. Склейка зеркал сайта – вариантов сайта с идентичным контентом, но разным написанием адресов: site.ru, www.site.ru, https://site1.ru и т.д. В этом случае выбирается один приоритетный домен и на него настраивается редирект со всех остальных зеркал.

  7. Удаление ранее существовавшей страницы. В этом случае пользователи обычно видят ошибку 404. Большое количество таких сообщений негативно воспринимается как пользователями, так и поисковиками.

  8. Для быстрого перехода пользователя на мобильную версию ресурса со смартфонов и планшетных устройств.

Создание постоянной переадресации 301 через настройки и плагины CMS

В большинстве популярных конструкторов сайтов и CMS (OpenCart, Joomla!, Битрикс, Wix, Тильда) предусмотрена настройка редиректов с помощью встроенных инструментов. Если сайт создан с помощью WordPress, для настройки переадресации можно воспользоваться следующими плагинами:

  • Redirection — самый популярный плагин для настройки редиректов. Кроме основной функции обладает следующими возможностями: сбором статистики переадресаций, отслеживанием ошибок 404, поддержкой регулярных выражений.

  • Safe Redirect Manager — простой плагин, который также поддерживает регулярные выражения, практически не влияет на производительность сайта.

  • Quick Page/Post Redirect Plugin — еще один удобный инструмент оптимизации. Один из недостатков — отсутствие поддержки регулярных выражений. К ссылкам можно добавлять атрибут «nofollow».

  • Simple 301 Redirects. Данный модуль обладает одним недостатком – url для переадресации необходимо прописывать вручную.

Настроить Permanent Redirect 301 в Вордпресс можно и через редактирование файла .htaccess в разделе управления хостингом. Чтобы подключиться к нему, потребуется использовать FTP-клиент. Сама кодировка производится по общим правилам настройки переадресации в .htaccess.

Чтобы настроить 301 редирект в CMS OpenCart в файле .htaccess необходимо прописать:

RewriteCond %{QUERY_STRING} ^_route_=адрес_старой_страницы.html$

RewriteRule ^(.*)$ http://ваш_домен.ru/новой_страницы/? [R=301,L]

Для Битрикс кодировка будет выглядеть следующим образом:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.sng-it.ru$ [NC]

RewriteRule ^(.*)$ http://sng-it.ru/$1 [R=301,L]

В Joomla настройки переадресации производятся через панель администратора в разделе «Компоненты» => «Перенаправление». Здесь можно не только установить правила редиректа, но и отслеживать страницы с битыми ссылками и перенаправлять их на корректные адреса.

.htaccess

С конструкторами сайтов все не так однозначно. Например, один из наиболее популярных CMS-конструкторов WIX не предоставляет возможности создания файла .htaccess.

Настройка htaccess

Но настроить редирект 301 довольно просто в базовом редакторе.

Настройка 301 редирект в .htaccess

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

Для настройки 301 редиректа в файле .htaccess чаще всего применяют одну из трех директив: Redirect, RedirectMatch или RewriteRule. Директивы относятся только к папке, где размещен .htaccess, а оттуда распространяются на дочерние папки.

Найти файл можно через панель управления хостинга либо использовать FTP-клиент. При любом варианте нужно включить отображение скрытых файлов.

Предварительная подготовка

  • Для создания 301 редиректа перейдите в панель управления вашего сайта.

  • Проверьте наличие .htaccess файла в корневом каталоге сайта (public_html, если используете WordPress). Если файл отсутствует, создайте его.

  • Рекомендуем все условия редирект записывать в блоке IfModule, дабы избежать ошибок при выполнении файла htaccess.

<IfModule mod_rewrite.c>
</IfModule>
  • Перед тем как начать прописывать правила перенаправления, необходимо включить механизм преобразований (RewriteEngine) при помощи команды RewriteEngine On.

  • Хостинги применяют по умолчанию 302 или любой другой 3xx редирект. В связи с этим в правилах используются флаги. Рекомендуем дописывать в своих правилах [R=301,L].

Разберем наиболее распространенные варианты создания 301 редиректа через .htaccess.

Склейка зеркал сайта (www / без www)

Сайты http://name.site и http://www.name.site для поисковых систем являются разными. А по факту это разные адреса одного сайта.

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

Если изначально в индекс поисковой системы попала версия «с www», в файл .htaccess добавляется редирект на «без www»:

RewriteCond %{HTTP_HOST} ^www.name.site$ [NC]

RewriteRule ^(.*)$ http://name.site/$1 [R=301,L]

Если произошла обратная ситуация и необходима переадресация с без «www» на «www», то в файл прописывается:

RewriteCond %{HTTP_HOST} ^v name.site$ [NC]

RewriteRule ^(.*)$ http://www.name.site/$1 [R=301,L]

Редирект с http на https для всего сайта

В случае перехода на защищенный протокол https для всего сайта, необходимо настроить перенаправление с http на https. Для этого в файл .htaccess добавьте:

RewriteCond %{SERVER_PORT} !^443$

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

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

RewriteCond %{HTTPS} =on

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

RewriteCond %{HTTPS} off

RewriteCond %{HTTP:X-Forwarded-Proto} !https

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Если редирект не работает и в этом случае, попробуйте такой вариант:

RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$

RewriteCond %{REQUEST_URI} =/page.php

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

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

Постранично

Бывают случаи, когда необходимо создать редирект на https всех страниц, кроме одной. В этом случае используют постраничный редирект:

RewriteEngine On

RewriteCond %{HTTPS} =off

RewriteCond %{REQUEST_URI} !^/page.php

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Для одной страницы

Для редиректа с http на https одной страницы (например page.php), в файл добавьте следующую конструкцию:

RewriteEngine On

RewriteCond %{HTTPS} =off

RewriteCond %{REQUEST_URI} =/page.php

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Редирект сайта с https на http

Если необходимо сделать 301 редирект всего сайта с https на http, в файл прописывается следующее:

RewriteCond %{SERVER_PORT} ^443$ [OR]

RewriteCond %{HTTP} =on

RewriteRule ^(.*)$ https://name.site/$1 [R=301,L]

Изменение домена

В том случае. если необходимо перейти на другой домен, при этом сохранив SEO-позиции, в файл .htaccess прописывают следующее:

RewriteCond %{HTTP_HOST} ^www.old_name.ru$ [NC]

RewriteRule ^(.*)$ http://new_name.ru/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^old_name.ru$ [NC]

RewriteRule ^(.*)$ http://new_name.ru/$1 [L,R=301]

Редирект на страницу с другим url (без параметров)

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

RewriteRule ^(.*)old_page.html$ http://vash-sait.ru/new_page.html [R=301,L]

Редирект для url (с параметрами)

Если адрес содержит параметр (например, http://name.site/articles.php?section=1, где параметром является «section=1» ), то прописывают следующую конструкцию:

RewriteCond %{QUERY_STRING} section=1

RewriteRule ^index.php http://name.site/articles.php? [R=301,L]

Редирект с index.php на главную страницу

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

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php HTTP/

RewriteRule ^index.php$ http://name.site/ [R=301,L]

Редирект со страниц со слешем на без слеша (для всего сайта)

Для избегания дублей в файле .htaccess используют следующую конструкцию:

RewriteCond %{REQUEST_URI} !?

RewriteCond %{REQUEST_URI} !&

RewriteCond %{REQUEST_URI} !=

RewriteCond %{REQUEST_URI} !.

RewriteCond %{REQUEST_URI} ![^/]$

RewriteRule ^(.*)/$ /$1 [R=301,L]

Или более короткий вариант:

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} ^(.+)/$

RewriteRule ^(.+)/$ /$1 [R=301,L]

Редирект со страниц без слеша на слеш (для всего сайта)

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

RewriteCond %{REQUEST_URI} !?

RewriteCond %{REQUEST_URI} !&

RewriteCond %{REQUEST_URI} !=

RewriteCond %{REQUEST_URI} !.

RewriteCond %{REQUEST_URI} !/$

RewriteRule ^(.*[^/])$ /$1/ [R=301,L]

301 редирект с 404 Not Found

Код 404 Not Found (страница не найдена) присваивается удаленной или несуществующей странице на сайте. Создание постоянного перенаправления с таких страниц актуально для контентных сайтов и крупных интернет-магазинов, где страницы часто удаляются по естественным причинам. Тогда возникает потребность перенаправить посетителей на одну из главных страниц сайта, чтобы они не уходили с ресурса при виде ошибки.

301 редирект для страниц 404 Not Found сделать совсем не сложно. Например, этот код перенаправит со всех 404-страниц на главную:

ErrorDocument 404 http://www.site.com/301.html

Однако делать такие редиректы в массовом порядке не рекомендуется, так как это может испортить SEO-статистику всего ресурса.

Финальный вид файла .htaccess

Пример файла htaccess, после добавления в него редиректов:

Options -Indexes

ErrorDocument 404 /404.php

php_flag register_globals off

php_value pcre.recursion_limit 1000

#Условия 301 редиректа


<IfModule mod_rewrite.c>

RewriteEngine On

# склейка зеркал


RewriteCond %{HTTP_HOST} ^my_site.ru

RewriteRule ^(.*)$ https://my_site.ru/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^my_site.ru

RewriteRule ^(.*)$ https://my_site.ru/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www.my_site.ru

RewriteRule ^(.*)$ https://my_site.ru/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www.my_site.ru$ [NC]

RewriteRule ^(.*)$ https://my_site.ru/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www.my_site.ru

RewriteRule ^(.*)$ https://my_site.ru/$1 [R=301,L]

# без слеша


RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} ^(.+)/$

RewriteRule ^(.+)/$ /$1 [R=301,L]

</IfModule>

php_value default_charset utf-8

AddType 'text/html; charset=utf-8' .html .htm .shtml

Синтаксис для регулярных выражений в .htaccess

.

точка заменяет произвольный символ

[abc]

обозначает перечень знаков, совпадающих с буквами a, b, или с

[^abc]

список символов вне указанного диапазона (кроме a, b, с)

*

указывает на то, что предыдущий знак может повторяться 0 или больше раз

[abc]*

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

[^abc]*

приводит к противоположному эффекту

.*

заменяет любой набор символов

«.*»

ищет все подстроки между кавычками

^

начало строки (когда используется в начале выражения)

$

означает конец строки

w

цифра, буква или подчеркивание _

d

заменяет любую цифру

D

может заменить любой знак, кроме цифры

[0-9]

для замены любой цифры

[a-z]

для всех букв от a до z в нижнем регистре

[A-Z]

для каждой буквы от A до Z в верхнем регистре

[a-zA-Z]

любая буква от a до Z во всех регистрах

[a-Z]

аналогично

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

Другие способы создания переадресации 301

Через PHP

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

if($_SERVER['REQUEST_URI'] == "/index.php") {

 header("Location: /",TRUE,301);

 exit();

}

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

Второй способ — перенаправление при помощи отправки заголовков (скрипта):

<?php

  header("HTTP/1.1 301 Moved Permanently");

  header("Location: http://www.newdomain.ru/newdir/newpage.htm");

  exit();

?>

ASP-редирект

<%@ Language=VBScript %>

<%

Response.Status="301 Moved Permanently"

Response.AddHeader "Location", "http://www.new-url.com"

response.end

%>

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");

  }

</script>

ColdFusion редирект

<.cfheader statuscode="301″ statustext="Moved permanently">

<.cfheader name="Location" value="http://www.new-url.com">

JSP (Java) редирект

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

<script type="text/javascript" src="redirect.js"></script>

<script type="text/javascript">

  location="https://yandex.ru";

</script>

CGI-скрипт на PERL

$q = new CGI;

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

Ruby on Rails

def old_action

headers["Status"] = "301 Moved Permanently"

redirect_to "http://www.new-url.com/"

end

Редирект в Nginx

if ($host = 'www.domain.com' ) {

  rewrite ^(.*)$ http://domain.com$1 permanent;

}

HTML-редирект

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

<meta http-equiv="refresh" content="5;https://livepage.pro">

Если поставить значение 0 вместо 5, то переадресация на https://livepage.pro произойдет моментально.

Однако для больших сайтов HTML-перенаправление делать сложно и затратно по времени, поэтому лучше отдать предпочтение другому варианту.

Редирект 301 в панелях управления сервера

Большинство панелей управления сервера предоставляют возможность настройки переадресации с кодом 301. Рассмотрим варианты решения этой задачи на примере двух популярных ПУ для VDS.

Cpanel

Как сделать 301 редирект - Cpanel

Нужно перейти в блок «Домены» => «Перенаправления». В появившемся окне выполнить следующее:

  • В строке «Тип» выбрать «Постоянный 301».

  • В строке «https://www» из выпадающего списка выбрать домен сайта (например, example.ru).

  • В строке «Перенаправляет на» указать для домена адрес http://example.ru.

  • В блоке «Перенаправление www» поставить галочку напротив «Перенаправлять только с www».

  • Сохранить изменения кликом на «Добавить».

ISPmanager

Как сделать 301 редирект в ISPManager

В этой панели можно вручную править файлы nginx.config или .htaccess, но есть и встроенный механизм переадресации. Например, для настройки редиректа на https/http нужно снять галочку с соответствующего пункта в разделе «WWW-домены».

Автоматическое создание переадресации

При отсутствии знаний и опыта самостоятельной настройки редиректа можно воспользоваться сервисами автоматической генерации:

  • Seomagnifier — 301 для www;

  • 301 Redirect Code Generator Tool — для доменов и страниц;

  • Generate .htaccess— для страниц, разделов сайтов, доменов.

Проверка корректности настроек 301 редиректа

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

Для автоматической проверки можно воспользоваться специальными сервисами:

  • Redirect Checker, bertal.ru или Header Checker Tool для тестирования отдельных страниц;

  • программой Screaming Frog Seo Spider, способной просканировать весь сайт.

Существует ряд ошибок, которые следует избегать при настройке редирект 301:

  • использование перенаправлений между страницами сайта без изменения их url в ссылках;

  • установка временной переадресации вместо постоянной;

  • неправильный выбор типа редиректа;

  • перенаправление файла robots.txt;

  • непонимание разницы между rel=canonical и кодом 301;

  • редирект на нерелевантный контент;

  • переадресация, которая не приводит к 200-й странице.

Стоит отметить проблему создания цепочки ссылок, которая может привести к появлению циклического редиректа — ошибки с кодом «ERR_TOO_MANY_REDIRECTS». Наиболее распространенные причины возникновения такого бага – неправильная настройка в процессе создания переадресации, вирусная атака, слишком длинная цепочка редиректов. Не рекомендуется настраивать редирект, содержащий более пяти адресов. Оптимальной является прямая переадресация со старого на новый url.

Заключение

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

Инструментов для настройки корректной работы Permanent Redirect 301 существует достаточно много. Наиболее удобный и правильный – внесение записей в файл .htaccess. Недостаток этого метода в том, что он доступен только для веб-серверов Apache. При использовании IIS придется настраивать web.config. Для создания сложных правил переадресации более всего подходит PHP, но в этом случае без помощи программиста не обойтись. Еще одним вариантом настройки 301 редиректа может быть обращение к хостинг-провайдеру с целью подключения услуги web-форвардинга.

Как мы уже писали в одном из наших прошлых материалов, ошибка 404 означает, что по тому или иному URL-адресу ничего нет, т.е. запрашиваемая страница сайта не существует. Технически эту ошибку выдает веб-сервер в ответ на ошибочный запрос. В принципе для любого сайта отсутствие какой-либо страницы является штатной ситуацией. Что касается WordPress, то обычно в темах даже присутствует отдельный шаблон с выводом страницы с этой ошибкой.

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

Как в WordPress со страницы 404 перенаправить на главную?

Для WordPress имеется несколько бесплатных плагинов, позволяющих корректно перенаправить поискового бота или пользователя со страницы ошибки 404 на какую-либо другу.

Плагины 404 редиректа

Redirection

Бесплатный плагин Redirection является одним из самых популярных решений для перенаправлений (или редиректов) на сайте WordPress. Он позволит быстро и легко управлять переадресацией, не требуя знаний Apache или Nginx. Если на вашем WordPress-сайте настроены постоянные ссылки, вы можете выполнить редирект любого URL-адреса.

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

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

Страница настроек плагина Redirection

Safe Redirect Manager

Safe Redirect Manager – еще один популярный плагин для создания редиректов на сайте WordPress. Дополнение имеет простой интерфейс, что позволяет легко создавать необходимые редиректы с настраиваемым типом кода состояния HTTP. Плагин отлично работает с мультисайтом.

Страница настроек плагина Safe Redirect Manager

All 404 Redirect to Homepage

Бесплатный плагин All 404 Redirect to Homepage несколько отличается от остальных плагинов подобного рода. Он автоматически устанавливает редирект 404 страницы на главную. Это очень удобно, так с любой несуществующей страницы произойдет перенаправление. В итоге пользователь даже не видит страницу 404 с сообщением об ошибке.

Страница настроек плагина All 404 Redirect to Homepage

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

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

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

Не игнорируйте ошибки 404. Вы можете легко использовать эти страницы для перенаправления посетителей на свою главную страницу. Сделать это можно путем использования плагина. Мы покажем вам далее, как это реализовать на практике.

Содержание

  1. Ошибка 404 – что это?
  2. Что приводит к ошибкам 404?
  3. Лучшие плагины для редиректа
  4. Как перенаправить 404 страницы на главную

Ошибка 404 – что это?

Для начала давайте посмотрим, что собой представляет ошибка 404.

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

404 – общий код состояния HTTP, который отображается, когда страница или URL, который вы пытались посетить, не могут быть найдены на сервере или на сайте.

К примеру, если сайт ведет на один из ваших постов в блоге, однако ссылка является неверной, то в таком случае посетители перейдут по ней на страницу 404 вместо фактического поста.

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

Что приводит к ошибкам 404?

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

Потеря контента из-за сбоев сервера или переноса сайта также могут вести к ошибкам 404.

Однако самая распространенная причина появления этой ошибки – обновление старых записей блога. Если вы обновляете старую запись, то вы обычно меняете как ее заголовок, так и ее URL. В результате этого посетители, которые будут кликать по старым URL в поисковой выдаче или в социальных сетях, будут перенаправляться на страницы 404.

Исправить это можно путем редиректа старых URL на новые URL-адреса.

Примечание: чтобы узнать, имеются ли на вашем сайте ошибки 404, войдите в свой аккаунт Google Webmaster Tools и проверьте наличие ошибок сканирования.

Лучшие плагины для редиректа

В WordPress имеется несколько разных плагинов для 404 редиректа. Вот некоторые лучшие плагины, которые вы можете использовать.

  1. Redirection

Плагин имеет более 1 млн активных установок. Он является одним из самых популярных плагинов для 404 редиректа в WordPress. Плагин бесплатный и простой в использовании. Он позволяет легко перенаправить трафик с битых ссылок к новым URL. Также он предлагает и другие условные редиректы – к примеру, редиректы пользователей, которые заходят с определенных версий браузеров.

  1. 5sec Redirect

5sec Redirect – платный плагин, который больше подходит для продвинутых пользователей. В дополнение к редиректу для неработающих ссылок, плагин также имеет и другой функционал: клоакинг URL, вывод статистики по редиректам, возможность работы с постоянными ссылками или без них.

  1. Safe Redirect Manager

Safe Redirect Manager – еще один популярный бесплатный плагин для задания редиректов в WordPress. Плагин идет с достаточно простым интерфейсом, который позволяет легко создавать нужные редиректы. По этой причине плагин можно рекомендовать новичкам. Он позволяет выбирать тип кода состояния HTTP.

  1. All 404 Redirect to Homepage

Этот плагин редиректа сильно отличается от других плагинов, доступных в WordPress. Вместо того чтобы вручную создавать редиректы для отдельных URL, он позволяет вам перенаправлять все 404 страницы на вашу главную страницу. Соответственно, любой пользователь, который столкнется с нерабочей ссылкой на вашем сайте, будет перенаправлен на вашу главную страницу и в итоге не увидит страницы 404.

Как перенаправить 404 страницы на главную

Наличие страниц 404 – важная часть для SEO и пользовательского опыта взаимодействия.

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

Шаг 1: Устанавливаем плагин All 404 Redirect to Homepage.

Чтобы перенаправить всех посетителей со страниц 404 на главную страницу, мы будем использовать бесплатный плагин All 404 Redirect to Homepage. Давайте посмотрим, как его установить и настроить.

Для начала войдите в консоль WP.

Перейдите в раздел Plugins >> Add New и найдите там плагин All 404 Redirect to Homepage.

Щелкните по Install, после чего Activate.

Если у вас установлен плагин кэширования, очистите кэш.

Шаг 2: Настраиваем плагин.

Чтобы настроить плагин, переходим в раздел Settings >> All 404 Redirect to Homepage.

Ставим 404 Redirection Status в Enabled.

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

Щелкаем по Update Options для сохранения результатов.

Все! Готово!

Шаг 3: Тестируем плагин.

Чтобы узнать, работает ли плагин, вы можете выполнить простой тест. Введите неправильный URL в своем браузере.

К примеру, можно специально опечататься в каком-либо URL.

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

Источник: wpkube.com

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Расшифровка ошибок субару трибека б9
  • Редакция получила около семьсот пятидесяти писем исправьте ошибки