Главная / Вебмастеру / Вебмастеру Перенаправление URL-адресов

Вебмастеру Перенаправление URL-адресов

Редирект HTML — это технология World Wide Web, позволяющая сделать веб-страницу доступной по нескольким URL-адресам. Например, пользователь открывает в браузере страницу «example.com/page-1» и перенаправляется на страницу «example.com/page-2». Страница, на которую происходит переадресация, находится на том же или на другом сайте. Существует четыре основных вида перенаправлений (редиректов): 301, 302, HTML-редирект и JavaScript-редирект.

301, «Перемещено навсегда»

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

302, «Найдено» или «Перемещено временно»

Код статуса 302 указывает, что запрашиваемый ресурс перенесен на другой адрес. При редиректе 302 «Найдено» или «Перемещено временно» сервер перенаправляет пользователя в новую точку назначения, хотя исходное местоположение по-прежнему используется для запросов.

HTML-редирект

Meta Refresh редирект — это перенаправление на стороне клиента, он не является постоянным редиректом 301. Это самый простой скрипт редиректа HTML. Он размещается внутри раздела веб-страницы, например:

<head>
<meta http-equiv="refresh" content="0;
url=http://example.com/" />
</head>

Атрибут content — это задержка перед перенаправлением пользователя на новую страницу, поэтому его значение устанавливается в 0 секунд. Иначе перед перенаправлением на новую страницу произойдет загрузка содержимого текущей. Страница, содержащая код переадресации, должна содержать только информацию, связанную с редиректом.

Полный исходный код:

<html>
<head>
<title>HTML Page Redirection</title>
<meta http-equiv="refresh" content="0;
URL=’http://www.example.com/’" />
</head>
<body>
Эта страница перенесена на example.com
</body>
</html>

Перенаправление страниц в HTML 5

Приведенный выше код будет работать и в HTML 5.

Javascript-редирект URL-адресов

Можно перенаправить пользователя с помощью JavaScript несколькими способами. Почти все методы переадресации JavaScript связаны с объектом window.location, который является свойством объекта Window. Он контролирует, какая страница загружается в браузере:

window.location = "http://net-informations.com/faq"

Приведенный выше код JavaScript перенаправляет пользователя на страницу http://net-informations.com/faq.

Полный исходный код редиректа HTML:

<!DOCTYPE html>
<html>
<head>
<script>
function newPageLocation()
{
window.location="http://net-informations.com";
}
</script>
</head>
<body>
<input type="button" value="Go to new page"
onclick="newPageLocation()">
</body>
</html>

Перенаправление на текущий URL-адрес с передачей параметров

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

<script type="text/javascript">
function showUser(username)
{
window.location = ‘/user_detail?username=’+username;
}
</script>
<input type="button" name="theButton" value="Detail"
onclick="showUser(‘username’);">

Разница между window.location и location.href

window.location — это объект, содержащий свойство, а location.href — это строка. window.location является объектом, который содержит всю информацию о текущем местоположении документа (хост, href, порт, протокол и т. д.). location.href является сокращением от window.location.href, и это только строка с полным URL-адресом текущей страницы. Значение toString() объекта location совпадает со свойством href, поэтому они идентичны, если используются как строки. Настройка window.location аналогична настройке window.location.href:

<script language="javascript" type="text/javascript">
window.location.href = "http://www.example.com";
</script>

Приведенный выше код Javascript устанавливает новый href (URL-адрес) для текущего окна.

Перенаправление URL-адреса при загрузке страницы

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

<html>
<head>
<script type="text/javascript">
function redirectPage()
{
window.location="http://net-informations.com";
}
</script>
</head>
<body onLoad="setTimeout(‘redirectPage()’, 3000)">
<h1>Пожалуйста, подождите….эта страница будет переадресована на новую страницу….</h1>
</body>
</html>

Возврат на главную страницу

Иногда необходимо осуществить index HTML редирект. Для этого можно использовать следующий скрипт:

<script language="javascript" type="text/javascript">
window.location = window.location.host
</script>

Есть и другие способы перенаправления страниц с помощью JavaScript:

<script language="javascript" type="|ext/javascript">
window.history.back(-1);
</script>

Это то же самое, что нажать в браузере кнопку «Назад»:

<script language="javascript" type="text/javascript">
window.navigate(&#226;€&#157;about.jsp&#226;€&#157;);
</script>

Как перенаправить пользователя на мобильную версию сайта

Иногда нужно перенаправить пользователя на мобильную версию сайта. Следующий код JavaScript поможет сделать это:

<script type="text/javascript">
if (screen.width <= 699) {
document.location = "mobile/mobilepage.html";
}
</script>

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

Для iPhone и iPad

<script language=javascript>
if ((navigator.userAgent.match(/iPhone/i))
(navigator.userAgent.match(/iPod/i))) {
location.replace("http://example.com/iphone.html");
}
</script>

Приведенный выше код перенаправления на страницу редиректа HTML обнаруживает только iPhone и iPad. Недостатком подхода с использованием JavaScript является то, что не все смартфоны поддерживают его. А также то, что пользователи всегда могут отключить поддержку JavaScript в своих браузерах.

Поисковая оптимизация и перенаправление URL-адресов

Обычно поисковые системы используют код статуса 301 для передачи рейтинга страницы со старого URL-адреса на новый. Javascript редирект возвращает код состояния http-ответа 200 OK. Поэтому лучше использовать другие методы переадресации, которые возвращают код состояния: 301 «Перемещено навсегда».

Например, если нужно уведомить поисковые системы о перенаправлении URL-адресов, необходимо добавить метатег rel = «canonical» в раздел head. Это связано с тем, что поисковые системы не анализируют JavaScript с целью проверки перенаправления:

<link rel="canonical"
href="http://net-informations.com/" />

В чем разница между canonical и редиректами 301?

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

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

http://example.com/demo-1.html
http://example.com/category-1/demo-1.html
http://example.com/category-1/subcategory-1/demo-1.html

Приведенные выше URL-адреса содержат один и тот же контент. Обычно поисковым системам не нравится дублированный контент, и за это они штрафуют. Поэтому в данном случае нужно поместить на одну из страниц тег canonical, чтобы сделать ее «основной«. Например, мы сделаем основной страницей «http://example.com/category-1/subcategory-1/demo-1.html».

<link rel="canonical"
href="http://example.com/category-1/subcategory-1/demo-1.html">

Перевод статьи «URL redirection» дружной командой проекта Сайтостроение от А до Я.

О нас seoexpert

продвижение сайта,seo оптимизация,поисковое продвижение,раскрутка сайтов,поисковая оптимизация,продвижение сайта в гугл,seo раскрутка,продвижение сайтов в яндексе,продвижение сайта в google,продвижение сайтов в топ 10,Оптимизация и продвижение сайтов,услуги продвижения сайта,заказать продвижение,продвижение сайтов в топ,сео раскрутка сайта

Смотрите также

Лучшие конструкторы сайтов для создания интернет-магазинов

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