2,372 просмотра

Недавно мне пришло письмо с вопросом о настройке перенаправлений старниц со старых на новые. Несмотря на то, что о редиректе говорилось в сети уже многое, эта тема всё же актуальна, особенно после изменения структуры адресов сайта (например, при смене движка или создании динамического ресурса взамен старого статического).

Сам вопрос звучал так (к сожалению, автор не представился):

1. Интересует такой вопрос: Как правильно настроить редирект старых внешних ссылок, чтобы не потерялся вес который они передают?

Т.к. потерялся контент сайта, а домен остался, хотелось бы чтобы пользователи находили нужную для себя информацию и попадали по старым ссылкам на нужные разделы сайта.
Например ссылка вела на статью http://domen1.ru/articles/page24.html, а сейчас данная статья расположена по другому адресу на том же домене http://domen1.ru/articles2/page4.html

Стоит заметить, что сам редирект должен выполнять сервер, возвращая код статуса 301 (это значит постоянный). Поэтому, способ перенаправления будет зависеть от:

  • Тип веб-сервера (apache, nginx и др);
  • Используемая CMS (при отсутствии доступа к настройкам сервера);
  • Используемый язык программирования (для самописных движков).

Популярные шаблоны .htaccess-редиректов можно найти в статье рассылки Optimization: 301 редирект: популярные шаблоны.

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

Карта url-адресов представляет из себя таблицу, в одной из колонок которой представлены старые адреса страниц, а во второй – соответствующие им новые адреса. Если её хранить в Excel, то получится примерно следующее:

Карта url-адресов для редиректа

В качестве старых адресов можно указывать таковые до смены структуры сайта, либо те несуществующие страницы, на которые к вам переходят посетители и по URL понятно, что они хотели найти. В последнем случае очень удобно вместо 404-ой страницы ошибки перенаправлять посетителя именно туда, куда он хотел попасть, заодно и ссылка, по которой он перешел из поломанной станет вполне рабочей. (Cм. также статью Отслеживание посещений страницы 404 в Google Analytics)

По карте url-адресов можно всегда видеть, каковы текущие перенаправления и, при надобности, добавлять новые. Остаётся внедрить эту карту в свой движок.

Внедрить перенаправление по карте можно на странице 404-ой ошибки, проверяя запрошенный адрес. Например, в PHP это делается с помощью глобальной переменной $_SERVER['REQUEST_URI'], сравнивать запрошенный URL с первой колонкой и если он найден в таблице, то перенаправлять посетителя на новый адрес с помощью header("Location: $newurl"). При этом таблица может храниться как в базе данных, так и в текстовом файле (например, в .csv-формате).

2. Если домен припаркован к blogger.com (гугловская платформа), там нет доступа к .htaccess, какие еще есть механизмы?

Если нет доступа к серверным настройкам, а только к настройкам шаблонов сайта, то можно использовать временный 302-ой редирект с помощью мета-тега:

<meta http-equiv="refresh" content="0; url=http://devaka.ru/new-address/page.html" />

Правда в этом случае есть нюансы с отображением адреса страницы в сниппете при поиске в Яндексе (См. как обрабатывает редиректы Яндекс).

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

  • 0 Нет
  • 12 Да
  • Мне понравилось!

Если вам понравилась статья, вы можете подписаться на RSS или E-mail рассылку. Для получения обновлений по электронной почте, введите ваш e-mail адрес в эту форму (Доставка от FeedBurner):