- Что такое html-редирект
- Что такое редирект
- 301 редирект с 404 not found
- Cpanel
- Opencart
- WordPress
- Автоматическое создание кода
- Альтернативные способы настройки переадресации
- Битрикс
- Борьба с дублями на сайте
- Действия при циклическом редиректе
- Для чего он нужен
- Для чего нужен редирект
- Зачем нужен 301 редирект
- Изменение домена
- Как настроить 301 редирект
- Как настроить редирект, если нет опыта веб-программирования
- Как настроить html-редирект
- Как настроить php-редирект
- Как настроить редирект с задержкой
- Настройка 301 редиректа в .htaccess
- Перезагрузите nginx
- Популярные плагины для wordpress
- Постоянный редирект для nginx
- Постраничные редиректы
- Предварительная подготовка
- Редирект для nginx
- Редирект для php
- Редирект на страницу с другим url (без параметров)
- Редирект со страниц без слеша на слеш (для всего сайта)
- Редирект со страниц со слешем на без слеша (для всего сайта)
- Редирект через html
- Финальный вид файла .htaccess
- Циклическое перенаправление
- Заключение
- Подводим итоги
Что такое html-редирект
Редирект на HTML настраивается в коде индексного файла. Индексный файл чаще всего называется index.html. Внутри файла в блоке head нужно прописать специальный метатег Refresh. При использовании метатега Refresh перенаправление срабатывает в коде страницы. Это значит, что перенаправляет не скрипт на сервере, а именно браузер.
Допустим, вы сделали HTML-редирект со страницы index.html на new_index.html. В этом случае перенаправление будет работать по такой схеме:
Браузер запрашивает файл стартовой страницы index.html с сервера.
Сервер находит index.html и отвечает на запрос браузера.
Когда браузер открывает страницу index.html, он «читает» строки кода, которые прописаны в файле. Когда он доходит до строки с HTML-редиректом, то видит в ней упоминание файла new_index.html.
Браузер посылает запрос к серверу, на котором хранится new_index.html.
Сервер находит эту страницу и отвечает на запрос браузера.
Браузер открывает страницу new_index.html.
Метатег Refresh выглядит так:
Где:
Что такое редирект
Редирект — это перенаправление пользователя с одной страницы на другую. Причём редирект можно настроить как на разные страницы одного сайта, так и на страницу другого сайта.
Основные виды редиректов:
PHP location redirect
301 редирект с 404 not found
Код 404 Not Found (страница не найдена) присваивается удалённой или несуществующей странице на сайте, а также часто возникает при попутке неправильно ввести url-адрес. Создание постоянного перенаправления с таких страниц актуально для контентных сайтов и крупных интернет-магазинов, где страницы часто удаляются по естественным причинам.
301 редирект для страниц 404 Not Found сделать совсем несложно. Например, этот код перенаправит со всех 404-страниц на главную сайта:
Cpanel
Нужно перейти в блок «Домены» => «Перенаправления». В появившемся окне выполнить следующее:
Opencart
Для Opencart редактируется файл .htaccess. Код переадресации выглядит так:
WordPress
Для самой массовой CMS существуют десятки плагинов для создания постоянного редиректа. Наиболее популярные среди них: Redirection, Simple 301 Redirects, Quick Page, SEO Redirection и Safe Redirect Manager.
Для примера, разберём перенаправление через плагин Redirection. Его настройка производится через консоль сайта во вкладке «Инструменты» или через раздел плагинов. Чтобы сделать переадресацию, достаточно заполнить два поля — Source URL и Target URL. Соответственно, в первой графе будет указан старый адрес, во второй — новый, без или с www.
Сделать это можно и через редактирование файла .htaccess в разделе управления хостингом. Чтобы подключить к нему, потребуется использовать FTP-клиент. Процесс не отличается от общей инструкции для .htaccess.
Автоматическое создание кода
Если самостоятельно создать код не получается из-за отсутствия знаний и опыта, можно попросить помощи у специалиста технической поддержки или воспользоваться автоматическими онлайн-генераторами.
Альтернативные способы настройки переадресации
Если по какой-то причине вы не можете создавать и редактировать web.config или .htaccess (например, в силу ограничений на хостинге) или вам нужна определенная обработка полученных данных, их модификация или проверка, по результатам которой реализуется перенаправление, вы можете настроить редирект с помощью PHP.
Синтаксис следующий:
Битрикс
Для перенаправления на новую страницу достаточно отредактировать файл .htaccess, внеся в него такой редирект:
Борьба с дублями на сайте
Также 301 редирект используется в борьбе с дублями страниц. Приведем несколько примеров.
Действия при циклическом редиректе
- Если ошибка возникла в процессе настройки. Следует проверить корректность соблюдения правил работы 301 редиректа для конкретных адресов, по которым выдаётся ошибка.
- Если циклический редирект вызван вирусом. Когда зацикливание возникает при попытке открыть любой адрес на сайте, выход может быть один — откат к последней работоспособной версии, сохранённой в бекапе.
- Если зацикливание вызвано слишком длинной цепочкой редиректов (более пяти). Нужно сократить цепочку перенаправлений до одного шага.
Для чего он нужен
Правильная настройка 301 переадресации имеет особое значение для SEO-продвижения ресурса. Только при этом условии изменение домена или перемещение контента могут пройти без потерь в поисковых значениях. Поисковая система поймёт, что страница была перемещена по всем правилам, после чего сохранит её прежний вес и позицию в выдаче.
Для чего нужен редирект
Редирект может понадобиться в следующих ситуациях:
Зачем нужен 301 редирект
Редирект 301 — это код состояния, который означает, что ресурс переместили на новый URL навсегда. Его считают постоянным, поисковику важен только конечный URL. В отличие, к примеру, от 302 редиректа, когда робот периодически возвращается к проверке страницы-донора.
При 301 редиректе ссылочный профиль и авторитетность с неактуальной страницы переносится на новую.
Изменение домена
В том случае если необходимо перейти на другой домен, при этом сохранив SEO позиции, в файл .htaccess прописывают следующее:
Как настроить 301 редирект
Джон Мюллер предупреждает, что Google может не проиндексировать конечную страницу, если не соблюсти все правила. Нужно использовать канонический тег, внутренние ссылки и при необходимости тег hreflang для конечной страницы, а не той, с которой вы перенаправляете пользователя. Иначе Google получит неправильные сигналы и может не проиндексировать конечную страницу.
Настроить переадресацию можно через панель управления вашим хостингом или вручную средствами HTML, PHP, JavaScript.
Как настроить редирект, если нет опыта веб-программирования
Настройка редиректа — сложная техническая задача, для выполнения которой не обойтись без профильных знаний. Если вы не владеете навыками разработки и программирования, и у вас под рукой нет штатного программиста, можно воспользоваться поддержкой хостинг-провайдеров.
Еще один вариант — настройка редиректов с помощью встроенных инструментов CMS или конструкторов сайтов (такие есть, например, в Joomla!, Wix и Тильде) или специальных плагинов.
Как настроить html-редирект
Код редиректа будет выглядеть так:
Готово, вы настроили HTML-редирект.
Как настроить php-редирект
Прописывать редирект на сайт в PHP нужно в индексном файле. Чаще всего он называется index.php. Для настройки вам понадобится функция header( ).
Она выглядит так:
Как настроить редирект с задержкой
Иногда нужно, чтобы пользователь попал на страницу и только спустя несколько секунд перешел на конечный сайт. Такое перенаправление можно настроить в индексном файле с помощью функции sleep( ).
Чтобы настроить переадресацию с задержкой:
Готово, вы настроили редирект c задержкой.
Настройка 301 редиректа в .htaccess
Файл с расширением .htaccess – это дополнительный конфигурационный файл сервера Apache. Его используют для настройки веб-сервера, а также для обработки различных URL-адресов.
Для настройки 301 редиректа в файле .htaccess чаще всего применяют одну из трёх директив: Redirect, RedirectMatch или RewriteRule. Директивы относятся только к папке, где размещен .htaccess, а оттуда распространяются на дочерние папки.
Найти файл можно через панель управления хостинга (Cpanel, ISPmanager), либо использовать FTP-клиент. При любом варианте, нужно включить отображение скрытых файлов.
Перезагрузите nginx
После внесения изменений в файл конфигурации для домена необходимо перезапустить nginx. Для перезапуска выполните следующую команду: service nginx restart
Проверить корректность конфигурационного файла можно с помощью команды: nginx -t
Популярные плагины для wordpress
Настроить редиректы для сайта на WordPress можно с помощью таких плагинов:
Не уверены, что сможете правильно настроить редиректы своими руками? Лучше не рисковать — в модуле SEO системы PromoPult за вас все сделают профессиональные вебмастера. Все работы выполняются по чек-листу и в срок. Есть возможность рассрочки платежа.
Постоянный редирект для nginx
Этот веб-сервер наиболее часто используется в VPS-хостинге в связке с сервером Apache. В нем 301 редирект настраивается добавлением строк в конфигурационном файле nginx.config в секции server.
Постраничные редиректы
Приведем еще примеры настройки переадресации 301.
- Редирект со страницы page1.html на страницу page2.html:
Предварительная подготовка
- Для создания 301 редиректа перейдите в панель управления вашего сайта.
- Проверьте наличие .htaccess файла в корневом каталоге сайта (public_html). Если файл отсутствует, создайте его.
- Рекомендуем все условия редирект записывать в блоке IfModule дабы избежать ошибок при выполнении файла htaccess.
<IfModule mod_rewrite.c> </IfModule>
- Перед тем как начать прописывать правила перенаправления, необходимо включить механизм преобразований (RewriteEngine), при помощи команды:
RewriteEngine On
- Хостинги применяют по умолчанию 302 или любой другой 3xx редирект, В связи с этим в правилах используются флаги. Рекомендуем дописывать в своих правилах [R=301,L].
Далее разберём наиболее распространенные варианты 301 редиректа через .htaccess.
Редирект для nginx
Для серверов под Nginx нужно использовать файл nginx.config, добавьте код в секцию server. Если вы настроили виртуальные хосты, для каждого хоста нужно редактировать файлы отдельно.
Редирект для php
Этот вариант действует на уровне сервера. Он используется в тех случаях, когда редирект необходимо создать для большого количества страниц, не все из которых имеются на платформе.
- Загрузите файл index.php на жесткий диск.
- Сгенерируйте код.
- Вставьте код в текстовый файл, сохраните его и загрузите на сервер.
- Укажите основной URL в настройках сайта.
Редирект на страницу с другим url (без параметров)
Иногда возникает ситуация, когда необходимо изменить url страницы, то есть перенести данные с одной страницы на другую страницу, при этом не потеряв SEO значения. В этом случае в файл .htaccess прописывают следующее:
Редирект со страниц без слеша на слеш (для всего сайта)
Обратный вариант применяется, когда нужно использовать адреса со слешем.
RewriteCond %{REQUEST_URI} !?
RewriteCond %{REQUEST_URI} !&
RewriteCond %{REQUEST_URI} !=
RewriteCond %{REQUEST_URI} !.
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*[^/])$ /$1/ [R=301,L]Редирект со страниц со слешем на без слеша (для всего сайта)
Для избегания дублей в файле .htaccess используют следующую конструкцию:
RewriteCond %{REQUEST_URI} !?
RewriteCond %{REQUEST_URI} !&
RewriteCond %{REQUEST_URI} !=
RewriteCond %{REQUEST_URI} !.
RewriteCond %{REQUEST_URI} ![^/]$
RewriteRule ^(.*)/$ /$1 [R=301,L]Или более короткий вариант:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(. )/$
RewriteRule ^(. )/$ /$1 [R=301,L]Редирект через html
Редирект через HTML-код медленнее, он работает на стороне браузера. Код нужно добавить между тегами и страницы, с которой нужно перенаправить. В параметре content=»» указывают задержку по времени.
Финальный вид файла .htaccess
Пример файла htaccess, после добавления в него редиректов.
Циклическое перенаправление
Одна из самых распространённых проблем при настройке 301 редиректа — вероятность создания не одинарного перенаправления, а целой цепочки редиректов. Это может быть вызвано некорректной настройкой файла .htaccess, плагина CMS или прямым действием вируса.
Обнаружить циклическое перенаправление помогут бесплатные онлайн-сервисы проверки редиректа. Среди наиболее популярных:
Можно также установить специальные браузерные расширения для Google Chrome и Mozilla Firefox.
Заключение
Для того чтобы поисковая система считала два разных адреса одним сайтом, должна работать постоянная переадресация. 301 редирект — удобный и надежный инструмент для оптимизации сайта, исправления ошибок и недоработок на сайте.
Использовать данный инструмент необходимо с осторожностью. Ведь неправильная настройка может привести к сбою в работе или потере поисковых позиций сайта.
Чтобы сайт после редиректа не только открывался по нужному адресу, но и работал без сбоев, ему нужна надёжная хостинг-площадка. Размещайтесь на VPS от Eternalhost, чтобы забыть о технических сложностях и полностью сосредоточиться на развитии своего интернет-ресурса!
Подводим итоги
Лучший способ настроить 301 редирект — с помощью .htaccess. Но он подходит только для веб-серверов Apache. Для IIS придется настраивать web.config. Если же нужно не просто сделать редирект, а учесть определенные условия, то используйте PHP, но в этом случае без помощи программиста не обойтись.
Есть и другие способы (в частности, с помощью HTML и JavaScript), но это не 301 редирект, а просто перенаправление без передачи веса, что бесполезно с точки зрения SEO.
Также можно использовать плагины для популярных CMS или подключить услугу web-форвардинга, если ее оказывает ваш хостинг-провайдер.
Стоит понимать, что не всегда есть смысл использовать 301-й редирект. В некоторых случаях лучше подойдет, например, атрибут rel=»canonical».
Какой бы вариант вы ни выбрали, главное, чтобы он правильно работал. Проверить корректность редиректов на вашем сайте и поставить задачи на внедрение переадресации можно в рамках модуля «Поисковое продвижение» системы PromoPult.

