Как сделать редирект
Редирект (англ. redirect) – перенаправление. Весь смысл редиректа скрывается именно в этом переводе. Используя его на сайте, мы перенаправляем пользователя с одной страницы или с одного ресурса на другой. Далее мы подробно рассмотрим варианты и цели использования редиректов, а также типы редиректов.
301 редирект – случаи использования
301 редирект используется в следующих случаях:
Для SEO 301 редирект важен, поскольку он позволяет исключить из поисковой выдачи старый URL и заменить его новым без потери страницей веса и, соответственно, ухудшения ее позиций.
Настроить 301-й редирект можно разными способами:
- с помощью HTML и PHP;
- средствами специальных плагинов для СMS;
- при помощи скриптов;
- с помощью файлов .htaccess для сервера Apache или web.config — для IIS.
Максимально простой и наглядный способ – настроить редирект при помощи плагинов для CMS, но самый надёжный – с помощью файла .htaccess.
Настройка 301 редиректа в .htaccess
.htaccess — это файл дополнительной конфигурации веб-сервера Apache, с помощью которого можно задавать настройки на уровне отдельных каталогов. .htaccess распространяются только на тот каталог, где он размещен, и на дочерние каталоги.
Если в корневой папке вашего сайта нет файла .htaccess, его нужно создать и загрузить с помощью FTP-клиента. Теперь можно приступать к настройке редиректов.
Редирект – это функция, которая так или иначе используется на большинстве сайтов. Его грамотная настройка позволяет избежать массы проблем в продвижении ресурса в поисковых системах.
Несмотря на кажущуюся простоту редирект таит в себе массу нюансов, о которых важно знать прежде, чем приступить к настройке. Какой вид выбрать, как выполнить его без ошибок, за что его любят и не любят поисковики — обо всём этом расскажем в статье.
Что такое редирект
Редиректом в терминах IT называют автоматическую переадресацию пользователя с одного адреса страницы на другой. В большинстве случаев процесс перенаправления абсолютно незаметен для посетителя сайта.
Зачем нужен редирект
На сайтах он решает несколько задач. Чаще всего он перенаправляет посетителя со страниц с неактуальным адресом или информацией, однако этим его функционал не ограничивается.
Редирект для целей SEO
В поисковой оптимизации сайтов используется для:
Как работает редирект
Редирект — это четкая схема ответа на поисковый запрос пользователя, которая выглядит следующим образом:
- посетитель переходит по ссылке;
- сервер обрабатывает полученный запрос;
- столкнувшись с настройкой редирект, он перенаправляет пользователя согласно полученным данным;
- посетитель попадает на страницу, которая была указана в настройках.
Маркетинг
Как сделать макет сайта самостоятельно
Как сделать макет сайта самостоятельно
Когда нельзя использовать редирект
Редирект — настройка полезная и должна быть в арсенале каждого владельца сайта. Однако и вреда его неправильное использование может нанести немало.
Использование опции не запрещено, но опасно с точки зрения SEO, если он создаётся для:
- страниц с отдельными ссылками, которые принадлежат разным каталогам;
- дорвеев и страниц несуществующих сайтов;
- Robots.txt. Если сайт переезжает на другой домен, важно сохранить в доступе прежний файл, чтобы ускорить склейку старых и новых версий;
- страниц с несколькими адресами, которые принадлежат к разным каталогам.
Иногда схожую функцию может выполнять тег rel=canonical. Они не индексируются, но позволяют поисковикам быстрее распознать новую ссылку как главную.
Виды редиректов
Исходя из того, что такое редирект, можно выделить несколько его видов. Имеющиеся различаются по двум показателям:
- постоянность или временность перенаправления;
- доступность старой страницы после настройки.
Рассмотрим каждый из видов подробнее.
301-й можно сравнить с постоянным переездом. Когда вы уезжаете из одного дома в другой и точно не вернётесь в старый.
Перенаправление этим способом настраивается навсегда, а старая страница больше не может участвовать в поисковой выдаче ни при каких условиях. При этом её показатели сохраняются и успешно переходят к новому ресурсу.
Этот вариант идеален, например, если с сайта необходимо удалить дубль — страницу, полностью дублирующую по содержанию ту, на которую идёт настройка. Однако во всех вышеперечисленных случаях он также может быть полезен.
Вариант оформления страницы ошибки 404
Поисковые системы реагируют на 301-й хорошо и сложностей обычно не возникает. Однако, если перенаправление настроено неправильно, пользователь при переходе на страницу получает ошибку 404 (не найдена).
Редирект 302 является временным. Возвращаясь к предыдущему примеру с переездом в новый дом, его можно сравнить, например, поездкой на дачу на летние каникулы. Городская квартира при этом остаётся в вашем доступе и вернуться туда можно в любой момент.
Процесс направления со старой страницы на новую настраивается временно, параметры старой страницы остаются привязаны к ней, а не переносятся на новую.
Нередки ситуации, когда при использовании 302- го для перманентного переезда страниц, веб-мастер обнаруживал проиндексированными обе версии. Для поисковых систем это означает полное дублирование страниц, а потому одна из них (чаще всего старая) будет исключена из выдачи.
303 и 307
307-й (Temporary Redirect) для поисковых систем фактически является точной репликой 302-го (Found). Это временное перенаправление трафика на новую страницу с сохранением всех параметров прежней.
Типы редиректов
Рассмотренные выше виды различаются по своему функционалу. Однако, существует и второй фактор, отличающий один от другого. Это техническое исполнение редиректа. По нему можно выделить следующие варианты.
Htaccess-редирект
Htaccess — этот системный файл, который принадлежит к корневой структуре сайта. Чтобы получить к нему доступ необходимо зайти в панель управления хостинга, на котором размещен нужный веб-ресурс. Для настройки любого вида необходимо разместить в нём строку с соответствующим кодом.
PHP-редиректы
О тличается от вышеописанного тем, что находится на уровне сервера. Однако процесс будет схожим. Необходимо найти в корневой папке сайта PHP- файл и вписать в него строку кода для соответствующего редиректа.
Она работает медленнее, чем htacces. Однако, если страниц для которых нужно настроить редирект, много и сделать это нужно выборочно, а не для всех подряд, именно PHP может стать оптимальным вариантом.
Поисковая оптимизация
301 редирект — это постоянное перенаправление пользователя и поискового бота на другой адрес, отличный от изначально запрашиваемого.
Для чего нужен 301 редирект?
301 редирект — эффективный способ сохранить трафик, позиции, ссылочный вес страниц сайта при:
Настройка 301 редиректов в файле .htaccess
Правило: все 301 редиректы в файле .htaccess лучше размещать после этих записей:
Options +FollowSymLinks
RewriteEngine On
301 редирект с одной страницы на другую
Вариант №1
Вариант №2 с помощью регулярного выражения:
Склейка основного зеркала сайта при добавлении www (Вариант 1)
Склейка основного зеркала сайта при добавлении www (Вариант 2)
Склейка основного зеркала сайта при удалении www
Склейка верхнего регистра с нижним
301 редирект со страниц со слешем на страницы без слеша (весь сайт)
301 редирект со страниц без слеша на страницы со слешем (весь сайт)
Вариант №1
Вариант №2
Вариант №3
Вариант №4
Вариант №1
Вариант №2
Массовая склейка. 301 редирект для index.php, index.html или index.htm
301 редирект с домена на домен
301 редирект для конкретного файла, а не всей папки
Редирект со всех файлов домена, кроме папки администратора bitrix
301 редирект с поддомена на основной домен
Вариант №1
Вариант №2
301 редирект каждой страницы одного домена на такой же адрес другого URL
301 редирект всех страниц одного домена на главную страницу другого домена
301 редирект со страниц с пробелами в URL на главную страницу домена, пример /images/fckedit/ABEL%20TASMAN%20National%20Park.jpg
301 редиректы в зависимости от GET-параметра: примеры
Пример №1
Пример №2
Пример №3
RewriteCond % ^information=file $ [NC]
RewriteRule ^component/content/$ /? [R=301,L]
Пример №4
Пример №5
Пример №6
RewriteCond % information_id=64$
RewriteRule ^information/information$ /? [L,R=301]
Пример №7
Регулярка со всех GET параметров главной страницы, на главную без параметров
Пример №8
Пример №9
Регулярка с GET-параметром на главную:
RewriteCond % ^_utl_t= [NC]
RewriteRule (.) $1? [R=301,L]
RewriteRule ^en(/.)?$ / [L,R=301,NC]
RewriteRule ^ru(/.*)?$ / [L,R=301,NC]
Пример №10
Регулярка с GET-параметром на главную
301 редиректы кириллическими URL-адресами
2. Если не работает через Punycode, то можно сделать регулярным выражением, например:
Надо добавлять в начало .htaccess и сохранять файл в кодировке UTF-8 без BOM.
3. Еще один вариант — поместить кириллические URL-адреса в кавычки:
Сервисы для проверки редиректов
Одна из главных ошибок —проверка настроенных редиректов в браузере, когда может подтягиваться кэш, из-за которого изменения не вступают в силу. Лучше использовать специальные сервисы, их довольно много. Введите в поисковик запрос “проверка редиректов онлайн” и перейдите на первые сайты, например:
Важно: если что-то не сработало, лучше проверить с помощью нескольких сервисов. Бывают случаи, когда какой-то из сервисов сразу не отдает правильный результат.
Если у вас возникли проблемы с редиректами, внимательно прочитайте статью еще раз 🙂 Или оставляйте комментарий, а мы постараемся помочь вам в этом.
Редирект (англ. "Redirect") — это автоматическое перенаправление пользователей с одной страницы сайта на другую, причём как в пределах одного проекта, так и на внешние. Для поисковых систем редирект применяется для склейки адресов страниц.
У каждого редиректа есть свой номер, который отвечает за его функцию. Выделяют следующие виды:
- 300 редирект - множественный выбор;
- 301 редирект - перемещен навсегда;
- 302 редирект - документ найден;
- 303 редирект - смотри другое;
- 304 редирект - документ не изменился;
- 305 редирект - используй прокси;
- 306 редирект - не используется;
- 307 редирект - временный редирект;
Лидером использования является 301 редирект. Он используется, когда адрес страницы сайта изменился навсегда. Как показывает практика - это наиболее часто встречающаяся ситуация. Во всех примерах ниже, как раз будет именно он.
Существует несколько способов сделать редирект. У каждого есть свои плюсы и минусы. Ниже мы рассмотрим каждый из них в отдельности с примерами.
1. Как сделать редирект через JavaScript
JavaScript имеет широкий набор функций для осуществления редиректа. Ниже в примере представлены различные редиректы выполненные с помощью различных функций JavaScript.
Минус использования JavaScript:
2. Редирект через .htaccess
Напомню, что .htaccess — это специальный файл, который лежит в корневой папке вашего сайта. В нём есть возможность прописать все необходимые редиректы. Таким образом, уже на уровне веб-сервера происходит переход на нужную страницу без загрузки промежуточных.
В общем виде редирект через файл .htaccess выглядит так:
- КОД_РЕДИРЕКТА — номер редиректа (можно не указывать, по умолчанию стоит 301);
- /АДРЕС_ОТКУДА — страница, с которой будет осуществлен переход. Обязательно должна начинаться со слэша "/";
- АДРЕС_КУДА — полный адрес (URL) куда будет осуществлена переадресация;
Ниже мы рассмотрим несколько примеров. Советую также ознакомиться с полным руководством редиректа с помощью .htaccess.
Примеры редиректа через .htaccess
1) Редирект с www и без www
2) Переадресация пользователя на другой домен
3) Переадресация пользователя со страницы на другой адрес
4) Редирект при смене домена сайта (URL)
Иногда нужно сделать полную переадресацию с одного сайта на другой. Например, сменился домен. В этом случае необходимо написать следующие четыре строчки:
3. Редирект html через мета тег
Редирект html делается через мета тег с помощью атрибут refresh :
В данном случае будет выполнен редирект (автоматический переход) на http://site.ru/ через 1 секунду. В "content" первым параметром является секунды, а вторым URL. Если секунды не указаны, то это означает 0 (мгновенный переход).
4. Редирект через php
В PHP есть функция header отвечающая за различные варианты переадресации.
Какой способ редиректа выбрать?
На мой взгляд самым лучшим является редирект через файл .htaccess, поскольку все описывается в одном файле и происходит уже не уровне обработки веб-сервера, то есть не требуется загрузки страницы. Это в свою очередь может довольно сильно ускорить процесс загрузки. Во всех других случаях необходимо наличие лишней страницы и небольшой временной задержки из-за того, что страница должна загрузиться хотя бы частично.
Редирект (англ. "Redirect") — это автоматическое перенаправление пользователей с одной страницы сайта на другую, причём как в пределах одного проекта, так и на внешние. Для поисковых систем редирект применяется для склейки адресов страниц.
У каждого редиректа есть свой номер, который отвечает за его функцию. Выделяют следующие виды:
- 300 редирект - множественный выбор;
- 301 редирект - перемещен навсегда;
- 302 редирект - документ найден;
- 303 редирект - смотри другое;
- 304 редирект - документ не изменился;
- 305 редирект - используй прокси;
- 306 редирект - не используется;
- 307 редирект - временный редирект;
Лидером использования является 301 редирект. Он используется, когда адрес страницы сайта изменился навсегда. Как показывает практика - это наиболее часто встречающаяся ситуация. Во всех примерах ниже, как раз будет именно он.
Существует несколько способов сделать редирект. У каждого есть свои плюсы и минусы. Ниже мы рассмотрим каждый из них в отдельности с примерами.
1. Как сделать редирект через JavaScript
JavaScript имеет широкий набор функций для осуществления редиректа. Ниже в примере представлены различные редиректы выполненные с помощью различных функций JavaScript.
Минус использования JavaScript:
2. Редирект через .htaccess
Напомню, что .htaccess — это специальный файл, который лежит в корневой папке вашего сайта. В нём есть возможность прописать все необходимые редиректы. Таким образом, уже на уровне веб-сервера происходит переход на нужную страницу без загрузки промежуточных.
В общем виде редирект через файл .htaccess выглядит так:
- КОД_РЕДИРЕКТА — номер редиректа (можно не указывать, по умолчанию стоит 301);
- /АДРЕС_ОТКУДА — страница, с которой будет осуществлен переход. Обязательно должна начинаться со слэша "/";
- АДРЕС_КУДА — полный адрес (URL) куда будет осуществлена переадресация;
Ниже мы рассмотрим несколько примеров. Советую также ознакомиться с полным руководством редиректа с помощью .htaccess.
Примеры редиректа через .htaccess
1) Редирект с www и без www
2) Переадресация пользователя на другой домен
3) Переадресация пользователя со страницы на другой адрес
4) Редирект при смене домена сайта (URL)
Иногда нужно сделать полную переадресацию с одного сайта на другой. Например, сменился домен. В этом случае необходимо написать следующие четыре строчки:
3. Редирект html через мета тег
Редирект html делается через мета тег с помощью атрибут refresh :
В данном случае будет выполнен редирект (автоматический переход) на http://site.ru/ через 1 секунду. В "content" первым параметром является секунды, а вторым URL. Если секунды не указаны, то это означает 0 (мгновенный переход).
4. Редирект через php
В PHP есть функция header отвечающая за различные варианты переадресации.
Какой способ редиректа выбрать?
На мой взгляд самым лучшим является редирект через файл .htaccess, поскольку все описывается в одном файле и происходит уже не уровне обработки веб-сервера, то есть не требуется загрузки страницы. Это в свою очередь может довольно сильно ускорить процесс загрузки. Во всех других случаях необходимо наличие лишней страницы и небольшой временной задержки из-за того, что страница должна загрузиться хотя бы частично.
Читайте также: