что такое переадресация сайта
Редирект: что такое и какие виды бывают
Допустим, вы решили изменить имя сайта после ребрендинга или хотите сделать домен более коротким и понятным. Тогда вы спросите — как же минимизировать потерю трафика и не просесть в поисковой выдаче? Мы ответим — правильно настроить редирект!
В нашей статье вы найдёте подробную информацию о том, что это такое, познакомитесь с видами перенаправлений и узнаете, какие задачи решают редиректы.
Что такое редирект?
Редирект (или перенаправление домена) — это автоматическая переадресация посетителя с одного URL-адреса на другой.
При переходе на страницу, для которой настроен редирект, пользователь будет автоматически попадать на другую страницу. Например, при переходе по ссылке http://reg.ru/blog/ браузер автоматически перенаправляет пользователя на URL https://reg.ru/blog/. Как правило, для посетителей сайта этот переход остаётся незаметным.
Зачем нужны редиректы?
Редиректы помогают корректно перенаправлять посетителей на нужные страницы сайта без ущерба для пользовательского опыта и без нарушения требований поисковых систем. Правильно выполненный редирект сохраняет авторитет или ссылочный вес страницы-донора и передаёт его на страницу-акцептор.
Страница-донор — ресурс, с которого перенаправляются пользователи.
Страница-акцептор — веб-страница, на которую направляются пользователи.
Получается, что с помощью редиректов владелец сайта направляет пользователей с неактуальных страниц на актуальные. Вот несколько примеров использования редиректов:
Код ответа 200 — один из типов кодов HTTP, информирует пользователя об успешной обработке запроса.
Виды перенаправлений
Браузеры и роботы поисковых систем определяют вид редиректа по коду состояния HTTP. Перенаправления могут иметь разный HTTP-статус: 301, 302, 303, 307. Давайте рассмотрим каждый вид подробнее.
Редирект 301
Это самый распространённый вид перенаправления. Его можно сравнить с постоянным переездом — когда вы уезжаете из одного дома в другой и точно не вернётесь назад.
Получается, что HTTP-статус 301 (Moved Permanently) означает, что веб-страница навсегда перемещена с запрошенного URL на новый. После получения ответа 301 браузер делает новый запрос и быстро перенаправляет пользователя на актуальную страницу.
Поисковые системы хорошо реагируют на 301-й редирект, да и сложностей обычно не возникает. Но важно всё правильно настроить, чтобы пользователь при переходе не получил ошибку 404.
Редирект 302
Этот редирект 302 (Moved Temporarily) можно назвать «временным». Возвращаясь к предыдущему примеру с переездом в новый дом, этот вид можно сравнить, например, поездкой на дачу на летние каникулы — ваша квартира в городе никуда не денется, и вы сможете вернуться туда в любой момент.
К такому виду часто прибегают владельцы интернет-магазинов, чтобы перенаправить потенциальных покупателей со страницы с товаром, который закончился, на позицию с аналогичными характеристиками.
Важно — редирект 302 не передаёт авторитет и ссылочный вес донора акцептору. Для поисковых систем это означает полное дублирование страниц, а потому одна из них (чаще всего старая) будет исключена из выдачи (кстати, как и в случае с 301).
Редиректы 303 и 307
307-й (Temporary Redirect) для поисковых систем фактически точная реплика (копия) 303-го (Found) редиректа. Это временное перенаправление трафика на новую страницу с сохранением всех параметров прежней.
Эти виды используют, когда появляется необходимость перенаправить пользователя на другую страницу, которая не содержит точного ответа, но является частичной заменой запрошенной.
В большинстве случаев владельцам сайтов подходит редирект 301. Именно этот вид уведомляет поисковых роботов, что документ навсегда перемещён на новый адрес, что передаёт авторитет и ссылочный вес новой странице.
Типы редиректов
Итак, виды редиректов отличаются друг от друга по своему функционалу. Но, существует и второй фактор для их классификации — техническое исполнение редиректа. По нему выделяются такие варианты:
Htaccess-редирект
Htaccess — системный файл, который принадлежит к корневой структуре сайта. Чтобы получить к нему доступ необходимо зайти в панель управления хостинга, на котором размещён нужный веб-ресурс. Для настройки любого вида необходимо разместить в нём строку с соответствующим кодом.
PHP-редиректы
Отличается от вышеописанного тем, что находится на уровне сервера, но со схожим процессом настройки. Вам нужно найти в корневой папке сайта PHP-файл и вписать в него строку кода для соответствующего редиректа.
Этот тип работает медленнее, чем htacces, но, если у вас сотни страниц для которых нужно настроить редиректы и сделать это нужно выборочно, а не для всех подряд, именно PHP может стать оптимальным вариантом.
Подробную инструкцию о том, как сделать PHP-редирект вы можете найти в нашей Базе знаний.
JavaScript-редирект
Отличается от предыдущих тем, что перенаправление происходит на стороне браузера, а не на стороне сервера. Поэтому скорость переадресации резко снижается, так как скрипту необходимо полностью загрузиться для выполнения действий.
Когда же его использовать? Например, при переезде на новый сайт, чтобы вывести на экран сообщение типа «сейчас вы будете автоматически переадресованы на наш новый сайт».
HTML-редирект
Ещё один медленный тип, так как он работает в браузере, а не на сервере. Для его настройки в исходный код страницы, с которой выполняется переадресация, нужно добавить метатег refresh.
В большинстве случаев серверные редиректы предпочтительнее браузерных, так как они обладают более высокой скоростью загрузки и не зависят от настроек на стороне пользователя.
Сервисы для генерации кода редиректа
Если у вас не получается изменить код самостоятельно, не отчаивайтесь: существует множество специальных сервисов для генерации кода, и вот некоторые из них:
А если вам ну совсем не хочется копаться в коде, то закажите услугу «Переадресация домена», в которой сотрудники REG.RU сделают всё за вас! Услуга станет незаменимым инструментом для предпринимателей, которые хотят получить максимум пользы и прибыли со всех своих доменов и всего от 120 рублей в год.
Как проверить редирект страницы?
Самый очевидный способ — самостоятельно проверить перенаправление в браузере. Перед проверкой не забудьте очистить кэш. Также можно зайти в браузер в режиме инкогнито и проверить работу страницы.
Ещё можно использовать и специальные сервисы, которые помогут избежать этих «заморочек», например:
Настройка редиректа — важный навык для веб-мастера. Надеемся, что наша статья окажется полезной всем, кто впервые столкнулся с этой темой. Ну а для тех, кто не хочет погружаться в этот вопрос, есть специальные услуги, такие как «Переадресация домена» от REG.RU. ;).
А если у вас остались вопросы по теме — обязательно оставляйте их в комментариях.
Переадресация веб страниц
Введение
Переадресация – когда веб-страница побывала на определенном URL, а потом меняет его на другой URL. Если пользователь посетил «website.com/page-a» и произошло перенаправлен ие на «website.com/page-b». Переадресация пригодится Вам, если Вы хотите перенаправить страницу на новое место, изменить URL-структуру сайта, удалить «WWW» из URL или даже полностью перенаправить страницу на другой сайт.
К примеру, Вы только что перешли на новый сайт и хотите закрыть старый. Но Вам не нужно, чтобы страницы старого сайта имели статус 404 Not Found. Старые ссылки должны перенаправлять пользователя на Ваш новый сайт.
Пример: мы хотим old-website.com/blog/post перенаправить на new-website.com/blog/post, а также мы хотим перенаправить все другие страницы, использующие данный URL. Также необходимо, чтобы поисковые системы понимали, что эти изменения постоянны и обновлялись соответственно. Как же это сделать? Для начала нужно узнать немного про HTTP.
Коды ответов HTTP
Каждый раз, когда Вы заходите на URL или отправляете запрос из браузера, используется п ротокол передачи гипертекста (HTTP). Это процесс, посредством которого мы запрашиваем данные, как CSS, HTML и изображения, хранящиеся на сервере. После того, как послан запрос, эти данные отвечают кодом HTTP 200 OK, означающий, что они доступны. Есть много различных видов кода ответа, самый известный – 404 Not Found; веб-страницы, а также любой другой запрашиваемый контент, например, изображения могут отвечают статусом 404.
Каждый HTTP ответ имеет определенный трехзначный номер, 404 Not Found – статусный код 4XX, указывающий ошибку клиента; 200 относится к категории 2XX и показывает, что сообщение успешно. Нас интересуют ответы HTTP-категории 3ХХ, как 301 Moved Permanently или 302 Found. Эти коды статуса специально отведены для переадресации.
В нашем случае используется перенаправление 301, потому что определенные веб-браузеры или прокси-серверы кэшируют этот тип перенаправлений и делают старую страницу недоступной.
HTML перенаправления
Один из самых простых способов перенаправления – мета-тег refresh. Можно разместить этот мета-тег внутри тега
в верхней части страницы HTML:
Атрибут content – атрибут задержки перед перенаправлением браузера на новую страницу, он установлен на 0 секунд. Не нужно устанавливать код состояния HTTP, но важно перепроверить написание кавычек выше (есть вложенные кавычки, поэтому лучше использовать разные типы кавычек).
Тема связана со специальностями:
Хотя этот метод самый простой для перенаправления веб-страницы, у него есть недостатки. В соответствии с W3C некоторые браузеры не воспринимают мета-тег refresh. Пользователи могут увидеть страницу А, которая загрузится раньше, чем Вы будете перенаправлены на страницу В. Также она отключает кнопку назад на старых браузерах. Поэтому этот метод не рекомендуется использовать вообще.
Лучший вариант – перенаправление сайта с JavaScript.
Перенаправления JavaScript
Перенаправить на другой URL с JavaScript довольно легко, просто требуется изменить location window- объекта :
window.location = “http: //new-website.com”;
В JavaScript есть много возможностей для этого:
window.location = “http: //new-website.com”;
window.location.href = “http: //new-website.com”;
Также можно просто использовать location с нужным объектом окна. И self или top.
С location объекта можно также перезагрузить страницу или изменить путь и начало URL.
Требуется решение на сервере, чтобы помочь нам, отправив ответ 301 в поисковые системы и браузеры.
Перенаправления Apache
Возможно, самый удобный способ перенаправления – добавление определенных правил в файл `.htaccess` на веб-сервере Apache.
Redirect 301 / http: //www.new-website.com
Любая страница, открытая на старом сайте, перенаправляется на новую. Как Вы видите, мы ставим код ответа прямо перед правилом переадресации.
Этот вид переадресации работает только на серверах Linux с включенным mod_rewrite, модулем Apache, позволяющим нам перенаправить запрашиваемые URL-адреса на сервере, если определенный образец найден, он будет изменять запрос некоторым способом. Большинство хостинг-компаний поддерживают это по умолчанию.
Вернемся к нашему примеру, если использовать код, приведенный выше, то пользователь перейдет к «old-website.com/blog/post» и будет перенаправлен по адресу «new-website.com». Неудобно то, что пользователи не видят реальную запрашиваемую страницу. Поэтому добавим следующее правило для нашего `.htaccess` файла, чтобы перенаправить все сообщения блога на нужную страницу:
Если необходимо перенаправить отдельные страницы по определенному адресу, можно добавить правила, например, так:
Видео курсы по схожей тематике:
UX/UI Design Стартовый
UX/UI Design мобильных приложений
Создаем игру типа “Pokémon Go“
По ошибке пользователи могут быть перенаправлены на страницу 404:
Сначала нужно проверить, доступен ли модуль mod_rewrite и включить его. В случае, когда файл или каталог не найден, пользователь попадет на нашу страницу 404. Он увидит содержимое страницы 404.html файла в то время, как запрашиваемый URL останется тем же.
LightTPD перенаправления
В PHP можно использовать функцию header:
header(‘Location: http: //new-website.com’);
Это должно быть установлено перед любой разметкой и контентом другого рода, однако есть одна небольшая сложность. Функция по умолчанию отправляет ответ 302, сообщая о том, что контент был временно перемещен. В нашем случае нужно постоянно перемещать файлы на новый сайт, так что стоит заменить перенаправление 302 на 301:
header(‘Location: http: //www.new-website.com/’, true, 301);
Параметр true заменит ранее установленный header и 301 изменяет код ответа на правильный.
Ruby on Rails переадресации
Из любого контроллера Rails проекта мы можем быстро перенаправить на новый сайт с redirect_to. Параметру :status нужно установить значение : moved_permanently. Так переопределяется код статуса по умолчанию 302 и изменяется на Moved Permanently:
redirect_to ‘http: //new-website.com’, :status => :moved_permanently
В Rails 4 можно добавить redirect в routes.rb файл, автоматически отправляющий ответ 301:
get “/blog” => redirect(“http: //new-website.com”)
Если нужно перенаправить все статьи на новый сайт, можно сделать так:
get “/blog/:post” => redirect(“http: //new-website.com/blog/%
Node.js перенаправления
var http = require(“http”);
http.createServer( function (req, res) <
Если Вы делаете новый файл и называете его index.js, вставьте код, приведенный выше, и запустите node index.js, в командной строке вы найдете локальную версию сайта, перенаправленную на new-website.com. Но, чтобы перенаправить все сообщения в разделе /blog, нужно разобрать URL из запроса с удобным Node URL модулем:
Бесплатные вебинары по схожей тематике:
Как стать Java разработчиком
Как стать UI/UX дизайнером?
Удаленная разработка программного обеспечения
var http = require(“http”);
var url = require(“url”);
http.createServer( function (req, res) <
var pathname = url.parse(req.url).pathname;
Flask перенаправления
С Flask framework поверх Python мы можем создать маршрут, указывающий на подстраницы с функцией redirect, но в конце должна быть опция 301, так как по умолчанию установлена 302:
Что такое редирект и как его настроить
Владельцы интернет-ресурсов часто сталкиваются с тем, что им нужно изменить доменное имя сайта. Например, из-за ренейминга или чтобы перейти на безопасный протокол соединения. Чтобы предстоящие изменения не повлияли на ваш бизнес и пользовательский опыт клиентов, используйте редирект.
В этой статье разбираемся, в каких случаях он нужен и как его настроить.
Что такое редирект и когда он нужен
Редирект — это перенаправление пользователя с одного URL на другой. Это нужно, чтобы человек не потерял вас, если вы измените адрес сайта или страницы. Кликая на старую ссылку, пользователь незаметно для себя окажется по новому нужному адресу. Например, если вы перейдёте по ссылке http://nic.ru/, автоматически попадёте на сайт с безопасным профилем https://nic.ru/.
Неактуальный сайт или страницу программисты называют донором, а ту, на которую перенаправляют, — акцептором. В нашем случае http://nic.ru/ — сайт-донор, а https://nic.ru/ — сайт-акцептор.
В каких случаях нужен редирект
Это не все возможные поводы для редиректа. Они возникают в зависимости от того, какие проблемы нужно решить перенаправлением.
Какие бывают редиректы
Есть четыре основных вида редиректа — 301, 302, 303, 307. Поисковые системы сами определяют его по коду состояния http.
301 — постоянный редирект
Он означает, что ресурс навсегда перемещён на новый адрес. Сайт-донор пропадает из поиска, авторитет и показатели посещаемости передаются сайту-акцептору, который и будет индексироваться.
302 — временный редирект со статусом «Найдено»
Поисковые системы расценивают страницу как временно несуществующую и перенаправляют пользователя на нужную. Все настройки и показатели останутся по старому адресу, индексироваться новый сайт тоже не будет. Такое перенаправление пригодится, например, когда нужно будет обновить сайт.
303 и 307 — аналоги 302 редиректа
303 редирект обозначает «смотрите другой ресурс», его применяют, когда вы не перенесли контент на другой адрес, но у вас есть подходящий под перенаправление другой сайт или страница. Для этого редиректа браузер использует метод GET.
Статус 307 редиректа — временное перенаправление. То есть запрашиваемая страница в данный момент находится по другому адресу. В отличие от 302 изначальная версия ресурса сохранит свои позиции.
Вам не обязательно запоминать, какой редирект что обозначает. Эти цифры при настройке вам не пригодятся. Достаточно понимать, какое решение подойдёт именно в вашей ситуации — временное или постоянное — и написать код, подходящий под нужный редирект.
Как настроить редирект
Если нужно сделать перенаправление со страницы, подойдёт более простой вариант переноса — через админку сайта.
В этой статье рассмотрим эти способы на примере самых распространённых причин для редиректа.
Перенос сайта с одного домена на другой
Этот тип перенаправления можно сделать с помощью FTP-клиента. Этот вариант подойдёт тем, кто умеет работать с кодом или готов этому научиться.
Если язык программирования не для вас, перенести домен можно без знаний кода. У RU-CENTER есть специальный сервис «Перенаправление домена».
Перенос с помощью FTP-клиента
Чтобы изменить файл, нажмите на него правой кнопкой мыши и кликните «Редактировать» (в используемом вами FTP-клиенте может быть другой способ начала редактирования файла, но обычно названия пунктов меню очень похожи). Он автоматически загрузится к вам на компьютер и откроется в редакторе.
RewriteEngine On
RewriteBase /
Если такой записи нет, вставляем её сами в конец файла. Сразу после неё вставляем код с нужным условием:
RewriteCond %
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
где old-site\.ru — сайт-донор, а http://www.site.ru — сайт-акцептор.
Важно: В имени домена дефисы и точки необходимо экранировать, добавляя перед ними символ «\». Если речь идёт о домене, например, с кириллическими символами, то его нужно указывать в виде Punycode (xn--…), также включая символ «\».
Перенос с помощью сервиса «Перенаправление домена»
Если настройка через FTP-клиента кажется вам сложной, можно выбрать вариант проще — приобрести доступ к сервису «Перенаправление домена» у RU-CENTER. Чтобы в нём работать, не нужно разбираться в коде. Сможете сделать редирект для домена, всех его поддоменов, а также настроить до десяти индивидуальных правил перенаправления для конкретных поддоменов.
Организация перенаправления на безопасный протокол HTTPS
Ещё один популярный вариант редиректа — перенос сайта на безопасный протокол соединения с http на https. Мы расскажем об одном способе настройки этого вида редиректа, он подходит для хостинга RU-CENTER. Но, алгоритм обеспечения работы по HTTPS может отличаться на разных хостингах, поэтому точный способ такого перенаправления стоит уточнить у вашего хостинг-провайдера.
RewriteEngine On
RewriteBase /
Если такой записи нет, вставляем её сами в конец файла. Сразу после неё вставляем код с нужным условием:
RewriteCond %
RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]
где https://domain.ru — ваш сайт.
Перенос сайта с домена без префикса www на домен с www
RewriteEngine On
RewriteBase /
Если такой записи нет, вставляем её сами в конец файла. Сразу после неё вставляем код с нужным условием:
RewriteCond %
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
где site.ru — страница-донор, а http://www.site.ru — страница-акцептор.
Перенос одной страницы на другую временно или постоянно
Перенаправить отдельную страницу можно в админке сайта. Это значительно упрощает задачу тем, кому нужен именно этот тип редиректа, а разбираться в коде не хочется.
Объясняем, как это сделать, на примере сайта на WordPress.
Заходим в админку сайта, находим в списке возможностей вкладку «Инструменты», в ней выбираем «Перенаправления» и кликаем на кнопку «Добавить новое».
Путь получается следующий: админка сайта → Инструменты → Перенаправления → Добавить новое.
Чтобы добавить перенаправление, заполните поля:
Исходный URL — в нём напишите относительный путь, то есть адрес страницы без указания домена, только то, что прописано после слеша.
Параметры запроса — выберите из выпадающего списка нужное условие. В нашем случае — «Точное совпадение всех параметров в любом порядке».
Целевой URL-адрес — полный адрес, куда вы планируете перенести контент.
Когда мы сохранили перенаправление, получился такой редирект:
где /baza-znanij/slovar — страница-донор,
Не откладывайте настройку редиректа. Есть как минимум три причины, чтобы перенаправить нужные страницы сразу же, как возникла потребность: