Verification: a143cc29221c9be0

Php 301 redirect to url

Php 301 redirect to url

Как работает 302-редирект?

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

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

Главная цель 302-редиректа – создать временную переадресацию текущей страницы на новый адрес. Понадобиться подобное может в следующих случаях:

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

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

Некоторые интернет-магазины настраивают 302-редирект с товаров, которых нет в наличии. Не рекомендуется этого делать, лучше предложить потенциальному покупателю аналогичные товары, оставив при этом его на исходном URL-адресе.

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

301 или 302-редиректы, в чем разница?

Главное отличие:

  • 301-редирект – постоянное перенаправление на новую страницу.
  • 302-редирект – временное перенаправление.

Что касается влияния на SEO, то тут тоже имеются существенные различия:

  • В отличии от 301-редиректа, при 302 не передается ссылочный «вес» старой страницы на новый URL-адрес.
  • При 301 перенаправлении, из поискового индекса удаляется адрес старой страницы и добавляется новый. При 302 – оба адреса находятся в индексе (если новая страница успела попасть в индекс, но в любом случае, старый адрес не исключается из него) и сохраняется «авторитет» исходной страницы.
  • Если говорить про возможность склейки доменов, то 301 позволяет это сделать, а 302 – нет.
Советуем не настраивать 302-редирект на более чем 7-10 суток, иначе могут последовать санкции со стороны поисковых систем.

Способы настройки 302-редиректа

Настройка 302-редиректа схожа с настройкой других типов перенаправления – синтаксис и команды те же, отличается лишь код ответа сервера.

Прописываем 302-редирект в htaccess

Данный вид настройки доступен только на серверах Apache. Находим в корне сайта файл .htaccess и вносим в него следующие данные:

RewriteEngine on
Redirect 302 /old-url https://site.ru/new-url

Как видно из синтаксиса, указывается код ответа (302), далее URL-адрес исходной страницы и после – новой с указанием протокола соединения и доменного имени.

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

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site.ru [NC]
RewriteRule ^(.*)$ https://site /$1 [R=302,L]

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

RewriteEngine on
RewriteCond %{REQUEST_URI} !/cat.html$
RewriteCond %{REMOTE_ADDR} !^123.123.123.123
RewriteRule $ /cat.html [R=302, L]

С помощью php

Если по каким-то причинам предыдущий метод не подходит, то настроить 302-редирект можно с помощью php-кода. В этом случае перенаправление происходит на самом сервере, а не в браузере пользователя.

Настройка редиректа производится через установку специального заголовка Location и функции header(), которая позволяет отправлять HTTP-заголовок в браузер. Главное замечание – данная функция на странице должна быть вызвана раньше других, и располагаться вначале документа (даже пробел перед этой конструкцией приведет к ее неработоспособности). Если этим правилом пренебречь, то редирект не сработает.

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

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

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

С помощью JavaScript

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

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

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

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

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

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

Способы исправления 302-редиректа на 301 отличаются в зависимости от того, каким методом реализована переадресация. К примеру, если это было сделано в файле .htaccess, то достаточно просто изменить код ответа сервера с 302 на 301:

RewriteEngine on
Redirect 301 /old-url https://site.ru/new-url

Если говорить про php-способ, то в примере выше был использован заголовок Location, по умолчанию он передает редирект 302. Если требуется прописать 301, то используем следующий код (предварительно удалив от 302-редиректа):

Немного теории о 301 редиректе

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

Для чего настраивать 301 редирект

Код 301 — удобный и простой в реализации метод сохранения рейтинга определенной страницы. Он пригодится вам при:

  • смене домена на новый;
  • изменении написания урла страницы в рамках поисковой раскрутки, смены CMS либо по другим причинам;
  • переносе разделов на субдомены;
  • удалении страниц-дублей из индекса;
  • склейке зеркал веб-ресурса;
  • удалении старой страницы. В такой ситуации, как правило, отображается ошибка 404, но изобилие подобных сообщений плохо воспринимается человеком и поисковиками.

Функцию переадресации можно считать своего рода палочкой-выручалочкой. При переезде целого сайта или отдельных его страниц 301 redirect сохранит все результаты усилий по раскрутке: авторитет доменного имени, ранжирование в поисковике. Главное – пользоваться инструментом уместно и грамотно.

Востребованные виды редиректов

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

301 Moved Permanently

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

302 Moved Temporarily и 302 Found

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

Для 1.0 это 302 Moved Temporarily, то есть, публикация временно переместилась на другой урл.

Если версия протокола 1.1, поступает ответ 302 Found (документ не обнаружен).

307 Temporary Redirect

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

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

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

Нюансы настройки 301 редиректа

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

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

Метод актуальный только для веб-серверов Apache. Сначала вам нужно найти файл .htaccess. Обычно он находится в корневой директории ресурса. Попасть в эту папку можно несколькими способами:

  • через файловый менеджер хостинга;
  • с помощью подключения через FTP клиента;
  • посредством доступа SSH.

Итак, вы нашли файл .htaccess. Теперь кликните по нему правой кнопкой мыши и выберите редактирование.

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

Можно приступать к настройке 301 редиректа в .htaccess. Чтобы было проще сориентироваться, ознакомьтесь с несколькими реальными примерами.

Примеры redirect

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

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

примеры redirect

Или:

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

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

С без www на www / с www на без www

Сначала рассмотрим 3 способа переадресации с www на без www.

Способ 1:

с www на без www - способ 1

Способ 2:

с www на без www - способ 2

Способ 3:

с www на без www - способ 3

Теперь без www на www.

Способ 1:

без www на www - способ 1

Способ 2:

без www на www - способ 2

Как проводится СЕО-аудит

КОМПЛЕКСНЫЙ АУДИТ САЙТА

Аудит сайта — это анализ и изучение сайта с целью выявления всех ошибок и факторов, оказывающих влияние на техническую и коммерческую успешность интернет-проекта.

ЗАКАЗАТЬ АУДИТ САЙТА

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

Актуально для ситуаций, когда нужно изменить домен ресурса и задать 301 редирект ссылки со старого на новый. Используйте такой код:

переадресация с одного домена на другой

Перенаправление на поддомен

Код задается следующий:

перенаправление на поддомен

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

Вставляйте код:

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

Перенаправление на главную

Пригодится в ситуациях, когда нужно разместить переадресацию 301 в .htaccess со всех страниц единого домена на главную другого домена. Код такой:

перенаправление на главную

Перенаправление на страницу ошибки 404

Настройте следующий код:

перенаправление на страницу ошибки 404

Переадресация на мобильную версию

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

переадресация на мобильную версию

Массовый redirect для категорий

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

массовый redirect для категорий

Помните, что все упомянутые операции выполняются в файле .htaccess!

Настройка редиректа в web.config

Если вы используете IIS, придется вносить записи в web.config. В файле хранятся все основные настройки сервера. Это аналог .htaccess для Apache.

Полезные рекомендации по настройке

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

И еще несколько советов по настройке 301 ответа сервера:

  1. Контент страницы, куда выполняется перенаправление, должен отвечать содержимому страницы, с которой настраивается redirect.
  2. Не ставьте 2-3 переадресации подряд, поскольку это сильно нагружает ваш сервер.
  3. Не торопитесь увидеть результаты. Поисковые системы не сразу реагируют на изменения и находят код 301. Им нужно время. Обычно на это уходит максимум 2–3 недели.

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

Как проверить 301 редирект

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

Обязательно перед тестом почистите кэш!

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

Распространенные ошибки при настройке переадресации

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

  • попытка выполнить переадресацию между страницами ресурса без изменения их урлов в ссылках;
  • использование временного редиректа там, где нужен постоянный;
  • неверно выбранный тип переадресации;
  • редирект robots.txt;
  • переадресация на контент, который не соответствует содержанию старой страницы;
  • редирект, который не приводит к 200 странице.

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