Перенаправление 302. Оптимизация черная и белая

Google сообщил, что в какой-то момент 302 (временный) редирект может рассматриваться поисковиком как 301(постоянный) редирект. И всё из-за путаницы в использовании редиректов среди вебмастеров.

Установка 302 редиректа выглядит проще, чем работа над 301, поэтому некоторые вебмастера прибегают к 302 и в нужных, и ненужных случаях. Поэтому если Google решит, что вы ошибочно установили 302 редирект, он будет воспринимать его как 301.

Сейчас, по данным Google , оба варианта переадресации передают PageRank и ссылочный вес от старого адреса страницы к новому. Однако при 302 редиректе в выдаче Google будет отображаться старый URL страницы, т.к. на новый адрес она перемещена временно.

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

Как установить 301 или 302 редирект

Установка редиректов может отличаться в зависимости от веб-сервера сайта. Наиболее распространенным является Apache, поэтому предлагаем несколько инструментов для работы со служебным файлом.htaccess:

Информация для справки

301 редирект (постоянное перенаправление) означает, что запрашиваемая страница окончательно перемещена в новое местоположение. Использовать переадресацию 301 рекомендуется следующих случаях:

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

  • Например, попасть на страницу можно несколькими способами: http://example.com/dom, http://dom.example.com или http://www.example.com. Бывает удобно выбрать один из этих URL в качестве основного и использовать переадресацию 301 для решения проблемы с дублированным контентом.

  • При объединении двух сайтов требуется, чтобы все URL устаревших страниц указывали на страницы, действующие в данный момент.

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

1. Осуществление перенаправления на новые страницы сайта

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

Redirect 301 /staraya.html http://vash-sait.ru/novaya.html

2. Приведение фидов к общему формату

Раньше использовались различные форматы фидов, такие как: Atom, RSS, Rdf. Сегодня RSS является основным и самым популярным среди них, поэтому можно позаботиться о том, чтобы другие форматы перенаправлялись в один. Для этого также используется файл htaccess и следующий код:

<IfModule mod_alias.c > RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http://vash-sait.ru/feed<a href ="http://vas-sait.ru/feed/" > /a > IfModule >

Сложное перенаправление - директива RewriteRule

1. Перенаправление домена с www на без www.

Очень часто приходится использовать 301 редирект в htaccess для склеивания доменов с www и без www.

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

Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^www.сайт$ RewriteRule ^(.*)$ /$1

2. Перенаправление посетителей на разные старницы в зависимости от IP-адреса посетителя.

В htaccess имеется возможность указать на какую страницу, будет перенаправлен пользователь с конкретным IP-адресом. Например, перенаправление посетителей с ip адресом 183.11.101.1 на страницу kontakt.html

SetEnvIf REMOTE_ADDR 183.11.101.1 REDIR="redir" RewriteCond %{REDIR} redir RewriteRule ^/$ /kontakt.html

3. Перенаправление в случае обновления веб-ресурса

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

RewriteEngine on RewriteCond %{REQUEST_URI} !/info.html$ RewriteCond %{REMOTE_HOST} !^14.124.354.80 RewriteRule $ http://vash-sait.ru/info.html

Где 14.124.354.80 - заменить на свой IP адресс.

4. Защита от хотлинков

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

RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://([ -a-z0-9] .)?vash-sait.ru RewriteRule .(gif|jpe?g|png)$ -

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

RewriteRule .(jpg|png|gif)$ http://vash-sait.ru/images/imageinfo.jpg

5. Перенаправление на безопасное https-соединение

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

RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST} %{REQUEST_URI}

6. Автоматическая подстановка слеша в конце адреса.

Очень распространены ситуации, когда URL-адрес, заканчивается именем каталога: http://vash-sait.ru/images/raznoe

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

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

7. Блокировка пользователей пришедших с определенного сайта

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

RewriteEngine on RewriteCond RewriteCond %{HTTP_REFERER} zapretnui-sait.com RewriteRule .* - [F]

Редирект в htaccess, отличие 301 редиректа от 302 и 307

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

307, 302 и 301 редирект в htaccess, используется в случае изменения адреса к конкретному материалу на сервере. Благодаря данным редиректам, можно без каких-либо сложностей сменить домен своего сайта, даже не переживая о том, что ваши потребители или новые клиенты, планировавшие обращение к вам — не смогут найти ваш ресурс.

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

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

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

Стандартные случаи применения 301 редиректа:

  • склеивание зеркал сайта;
  • канонизация слеша в конце URL;
  • редирект одной страницы на другую;
  • редирект для дублей главной страницы (например, с index.php);
  • переезд на новый домен;
  • изменение адреса страницы;
  • изменения «хвоста» (суффикса) страниц, например, с «html» на «htm»;
  • перенос группы страниц из одной категории в другую.

В каких ещё случаях целесообразно настроить 301 редирект

– Из товарных карточек

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

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

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

– Дропы

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

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

Options +FollowSymLinks RewriteEngine On

Переадресация домена без www на домен с www:

RewriteCond %{HTTP_HOST} ^site\.ru$ RewriteRule ^(.*)$ http://www.site.ru/$1

Переадресация домена с www на без www:

RewriteCond %{HTTP_HOST} ^www.site\.ru$ RewriteRule ^(.*)$ http://site.ru/$1

Перенаправление с одной статической страницы на другую:

Redirect 301 /was.php http://www.site.ru/new.php

Редирект на папки без слеша:

RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^(.+)/$ RewriteRule ^(.+)/$ http://www.site.ru/$1

Редирект на папки со слешем в конце:

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !\..{1,10}$ RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ http://www.site.ru/$1/

301 редирект с HTTPS-версии на HTTP:

RewriteCond %{HTTPS} "on" RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI}

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

RewriteCond %{HTTP_HOST} ^xn-...\.xn--p1ai$ RewriteRule ^(.*)$ http://www.site.ru/$1

Перенос изображений на поддомен:

RewriteRule ^img/(.+)\.jpg$ http://img.domain.ru/$1.jpg

Редирект с поддомена на основной домен второго уровня:

RewriteCond %{HTTP_HOST} ^test.site.ru$ RewriteRule ^(.*)$ http://site.ru%{REQUEST_URI}

302 Found (HTTP 1.1) / Moved Temporarily (HTTP 1.0)

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

Случаи, в которых целесообразно использовать 302 редирект:

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

Например, 302 редирект можно использовать для страницы с акционными предложениями в интернет-магазине. Чтобы не переделывать постоянно основную страницу, наполненную контентом и продвигаемую в ПС, можно временно перенаправлять её на страницы со списками свежих акций, которые могут обновляться еженедельно.

404 ошибка: страница не найдена

404 ошибка – это код ответа сервера, который означает, что страница, которую вы запрашиваете, не найдена.

Чаще всего причиной этой ошибки становятся:

  • неправильно введённый URL;
  • битые ссылки;
  • изменение адреса страницы;
  • удаление страницы или прекращение существования сайта.

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

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

Что выбрать: 301 или 404?

Каждую ситуацию нужно анализировать индивидуально. Ниже мы собрали несколько популярных вопросов и дали ответы на них.

Вопрос №1

CMS создаёт много несуществующих страниц в пагинации. Например, страниц в разделе?p=20, а в пагинации может доходить и до?p=1000. Что лучше: настроить 301 редирект на существующие страницы или 404?

Вопрос №2

Есть интернет-магазин из 4000 страниц. Сотни товаров уже не нужны для продажи и требуется убрать их с сайта. У каждого товара своя страница. Как лучше сделать: поставить 404 код ответа сервера на эти страницы или сделать 301 редирект на главную?

Для начала нужно удалить страницу из навигации и поиска по сайту (на сайте больше не должно быть внутренних ссылок на эту товарную карточку). Далее проанализировать наличие переходов на товарные карточки. Если переходы есть и пользователей интересует именно эта модель, настраивать 301-й или 404-й будет неправильно. На таких карточках нужно предоставить информацию о том, что товара нет, и не будет в наличии, и предложить аналогичные товары, поместив блок «Вас также может заинтересовать».

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

Вопрос №3

Как поступить с ошибкой 404 для удалённых или несуществующих новостей. Оставить 404 или редиректить 301-м на главную?

Ответ

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

Вопрос №4

Как может сказаться на индексировании большое количество 301 редиректов на внутренние страницы? Есть сайт, каталог постоянно пополняется, но, одновременно, большая часть товара выбывает из оборота и больше поставляться не будет. На такие страницы ставится статус «под заказ», они отдают 200, пока ещё в индексе. Из них больше половины карточек товара, но фактически это мусор. Из-за опасения потерять трафик, есть предложение ставить на них 301 редирект. Как это скажется на индексировании?

Ответ

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

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

Вопрос №5

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

Ответ

Если товар через некоторое время появился, можно убрать 301-й редирект. В таком случае нужно добавить восстановленные страницы на переобход в Яндекс.Вебмастер и Google Search Console.

Вопрос №6

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

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

Вариант 2. Снимаем материалы и делаем 301 редиректы на главные копии на основном сайте.

Вариант 3. На всех дублях указать канонические адреса.

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

Ответ

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

Не нашли ответа на интересующий вопрос? Тогда задайте его в комментариях!

Подписаться на рассылку

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

И так, редиректы были созданы для того, чтобы перенаправлять пользователей с одной страницы на другую без каких-либо дополнительных действий с их стороны. Существуют 2 основных вида редиректа — 301 и 302:

  • 301 (Moved Permanently) — редирект, который сообщает поисковым системам, что страница навсегда переехала на новый URL адрес, при этом идет передача ссылочного веса со старой страницы на новую
  • 302 (Temporary redirect) — этот вид редиректа используется для временного перенаправления пользователей на другой URL адрес, и подразумевает, что вскоре он будет снят, а страница будет снова доступна

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

В каких случаях стоит применять 302 редирект

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

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

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

  • .htaccess

Redirect 302 /page1 http://www.newsite.ua/page2

Для использования данного вида редиректа необходима поддержка сервером Apache, а так же наличие в корне вашего сайта файла.htaccess. Просто скопируйте данный код в этот файл и замените /page1 на внутренний адрес страницы, с которой вы хотите сделать редирект, и http://www.newsite.ua/page2 — на полный адрес страницы, куда будет вести редирект.

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

Для чего вообще нужная переадресация

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

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

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

Если неумело распоряжаться переадресацией, то поисковые роботы могут воспринять перенаправление URL неправильно. К примеру, если вы пропишите в php переадресацию, но не укажите ее причину. Тогда поисковый робот примет ваш ресурс за фишинговый, который лишь нужен для перекачки трафика между сайтами или страницами. Такие проекты используют для штучного увеличения трафика на ресурсах и одновременной раскрутки большого количества страниц. А чтобы указать причину переадресации указывают redirect 301 в файле htaccess или любой другой. Когда поисковик увидит сообщение о редиректе, он не будет относиться к вашему ресурсу с опаской, и сайт не потеряет свои позиции в выдаче. Потому распоряжайтесь редиректом мудро!

Через какой редирект сделать переадресацию — через 301 или 302

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

Разумеется, 301 редирект вебмастера любят больше. Было время, когда сайты и страницы, работающие через 302 редирект, блокировали. Это был единичный случай в истории индексации ресурсов и больше подобных прецедентов не было. Но воспоминания у вебмастеров-старожилов остались, потому к 302 редиректу по-прежнему относятся с опаской. А зря, ведь он часто бывает выгодным для раскрутки сайта.

Сделать перенаправление с одной страницы на другую через 302 редирект выгодно в тех случаях, когда вы хотите временно активировать переадресацию. ведь 302 редирект так и переводится, как Temporary redirect, в то время, как 301 редирект означает Permanent Redirect, то есть постоянное перенаправление. Получается, что используя 302 редирект, вы даете поисковикам команду не удалять старые ссылки с выдачи, а сохранять их вместе с новыми, на которые указано перенаправление.

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

Что касается redirect 301, то данный способ перенаправления хорошо работает только в том случае, если вы хотите активировать переадресацию навсегда. Ведь если сделать 301 редирект для страницы, которая не всегда должна быть перенаправлена, со временем она исчезнет из выдачи и ее заменят на страницу, на которую была активирована переадресация. Так стоит делать, к примеру, если вы хотите убрать попадание пользователей на главную с указанием index формата php, либо чтобы убрать зеркала с и без WWW.

301 редирект хорошо поможет тем, кто решил настроить новый домен для своего сайта. Тогда указать 301 редирект в настройках htaccess или в php будет даже полезно, ведь страницам передается «вес» прошлого домена. То есть ТИЦ и PR, благодаря которым определяется опытность и рейтинг сайтов в поисковых системах Гугл и Яндекс, будут переданы для новой страницы или того же сайта с другим URL. Так что прежде, чем сделать переадресацию, хорошо подумайте о том, какая из них будет выгоднее для страницы: 301 редирект навсегда или временный 302-й?

Как настроить 301 редирект для разных случаев в файле htaccess

Если вам необходимо сделать переадресацию всего сайта со старого домена на новый, то в htaccess нужно указать всего одну строчку: Redirect 301 / http://www.новый_домен.ру/new.html. Таким образом, поисковые роботы получат известие о перманентном переезде со старого адреса на новый, и постепенно вес старого URL будет присужден текущему адресу. Кроме того, вы можете при помощи аналогичной строки сделать перенаправление со старой страницы на новую с сохранением ее PR. Для этого вместо одного слэша «/», который означает корневой каталог сайта, пропишите в htaccess путь к странице, которую вы перенаправляете. В качестве команды вы можете не указывать 301-й редирект, а писать его полное название — RedirectPermanent — эта опция работает одинаково.

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

Чтобы настроить переадресацию на главный домен со вторичного зеркала, вам следует в htaccess прописать правила перенаправления. Сделать это можно активировав переадресацию при помощи строк Options +FollowSymLinks и RewriteEngine on. Далее вам нужно будет указать с какой страницы активировать перенаправление: если со страницы с WWW, то пропишите RewriteCond %{HTTP_HOST} ^www\.(.*)$, а если со страницы без WWW — то RewriteCond %{HTTP_HOST} ^([^www].*)$. В последней строке функции необходимо указать куда перенаправлять пользователей: если вы хотите сделать главным зеркалом домен без WWW, то напишите в htaccess RewriteRule ^(.*)$ http://%1/$1 , а если с WWW — то RewriteRule ^(.*)$ http://www.%1/$1 .

Учтите, что есть большая разница между настройкой htaccess для серверов с различными модулями. Многие сервера работаю с mod_rewrite. Если ваш также рабоатет с этим модом, то вам следует использовать команды, которые были описаны выше: RewriteRule, RewriteCond; а тип редиректа указывать в скобках (например, для 301 нужно прописать ). А если ваш сервер работает с активированным модом mod_alias, то используйте в htaccess другие команды, вроде RedirectMatch 301, Redirect 301, RedirectPermanent и прочие.

Как активировать «переезд навсегда» через код php

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

В языке php переадресация работает при помощи функции header () и параметра Location. Чтобы вы могли в php активировать 301-й редирект, вам нужно будет его указать как «HTTP/1.1 301 Moved Permanently», то есть как «уезжающий навсегда». Написать это необходимо в скобках после первого аргумента header. А после следующего аргумента header нужно прописать в скобках следующее: «Location: http://www.домен_куда_переезжать.ru». Предварительно рекомендуется коротко ознакомиться с языком php и тем, как он работает, чтобы случайно не наделать глупых ошибок.

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

Почему перенаправление 301 не работает

Очень часто случается, что вебмастера допускают ошибку в написании правил для файла htaccess. Либо упускают из виду какие-либо специфические особенности своего сервера. После этого переадресация либо вообще не работает, либо страница выдает ошибку под номер 500. Если у вас второй вариант, и выскакивает ошибка, то попробуйте поочередно закомментировать все опции файла htaccess, пока не дойдете до той строки, которая уберет ошибку 500. Чтобы закомментировать строку нужно сразу перед ней без пробелов поставить решетку «#».

Но, как показывает практика, часто перенаправление не работает по иным причинам, не только из-за ошибок в синтаксисе. С одной стороны, проблема может крыться в том, что вы использовали неверные команды, потому что на вашем сервере работает не мод mod_rewrite, а другой модуль. Тогда вам нужно будет лишь указать иные команды. С другой стороны, проблема может скрываться в неправильных настройках сайта. Проверьте, активированы ли у вас ЧПУ-ссылки. Кроме того, проследите, чтобы файл htaccess имел правильное имя. Его создают в текстовом файле и часто забывают менять формат.txt на.htaccess, ведь правильный конфигурационный файл не имеет имени, а только расширение.

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