Как настроить 301-й редирект
Реклама. ООО «Клик.ру», ИНН:7743771327, ERID: 2Vtzqx8GEkN
С 301-м редиректом (переадресацией) вы непременно столкнетесь при клейке зеркал веб-сайта с префиксом WWW и без него, в случае переезда веб-сайта на новейший домен, с HTTP на HTTPS, переноса странички в иной раздел веб-сайта и конфигурации ее адреса. Во всех этих вариантах принципиально сохранить позиции и трафик, перенаправляя его на новейшие странички. Как это создать? Читайте нашу аннотацию.
Код состояния HTTP 301 (Moved Permanently либо 301 редирект) – это обычный код ответа сервера, который докладывает, что запрашиваемый ресурс перемещен и получил новейший URL.
Для SEO 301 редирект важен, так как он дозволяет исключить из поисковой выдачи старенькый URL и поменять его новеньким без утраты страничкой веса и, соответственно, ухудшения ее позиций.
Настроить 301-й редирект можно различными методами:
-
при помощи HTML и PHP;
-
средствами особых плагинов для CMS,
-
с помощью скриптов;
-
при помощи файлов .htaccess для сервера Apache либо web.config – для IIS.
Крайний вариант – самый надежный и обычной, потому о нем и поведаем подробнее.
Настройка 301 редиректа в .htaccess
.htaccess – это файл доборной конфигурации веб-сервера Apache, при помощи которого можно задавать опции на уровне отдельных каталогов. В отличие от головного файла конфигурации httpd.conf, директивы в .htaccess распространяются лишь на тот каталог, где он расположен, и на дочерние сборники.
Если в корневой папке вашего веб-сайта нет файла .htaccess, его необходимо сделать и загрузить при помощи FTP-клиента. Сейчас можно приступать к настройке редиректов.
Подробнее о способностях файла .htaccess – в данной статье.
Редирект с 1-го домена на иной
Когда для вас требуется создать редирект с текущего домена на иной (к примеру, при переезде веб-сайта), можно применять директивы модуля mod_alias. Пропишите в .htaccess последующую директиву (заместо newsite.ru укажите ваш новейший домен):
Redirect permanent / https://newsite.ru/
либо
Redirect 301 / https://newsite.ru/
301 редирект – не единственный вероятный. Есть 302, 307 и остальные редиректы. О том, в которых ситуациях их применять и в чем их полезность для SEO, поведано в данной статье.
Постраничные редиректы
Приведем еще примеры опции переадресации 301.
-
Редирект со странички page1.html на страничку page2.html:
Redirect 301 /page1.html https://site.ru/page2.html
-
Редирект с главной странички веб-сайта на страничку каталога /cat:
Redirect 301 / https://site.ru/cat
-
Редирект с каталога /cat на главную:
Redirect 301 /cat https://site.ru
{Склейка} зеркал веб-сайта
Редирект нередко употребляют для склеивания зеркал веб-сайта – так именуются варианты веб-сайта с схожим контентом, доступные по различным адресам. К примеру, site.com и www.site.com. Поисковики не обожают зеркала и считают их дублями, потому рекомендуется избрать один главный адресок (основное зеркало), а с других настроить переадресацию на него.
Для клейки зеркал применяется модуль mod_rewrite.
К примеру, если вы желаете, чтоб шел редирект с домена с www на домен без www, то пропишите такие строчки (где yoursite.ru – ваш домен):
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.yoursite.ru$ [NC]
RewriteRule ^(.*)$ http://yoursite.ru/$1 [R=301,L]
И напротив – редирект с домена без www на домен с www:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^ yoursite.ru
RewriteRule (.*) http://www.yoursite.ru/$1 [R=301,L]
Редирект всех страничек веб-сайта при переезде с http на https:
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Если не сработает, можно испытать таковой вариант:
RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
Борьба с дублями на веб-сайте
Также 301 редирект употребляется в борьбе с дублями страничек. Приведем несколько примеров.
Для поисковых машин URL https://www.yoursite.ru/ и https://www.yoursite.ru являются различными. Потому нужно решить, какой тип применять: со слешем в конце либо без него.
Для того чтоб убрать слеш в конце URL, пропишите в файле .htaccess правило:
RewriteEngine On
RewriteCond %{HTTP_HOST} (.*)
RewriteCond %{REQUEST_URI} /$ [NC]
RewriteRule ^(.*)(/)$ $1 [L,R=301]
Добавить слеш можно таковым образом:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]
Для того чтоб поменять все .htm файлы .html файлами, пропишите последующие строчки:
RewriteEngine on
RewriteBase /
RewriteRule ^(.*).htm$ $1.html [R=permanent]
Если вы прописываете несколько директив, то строчка «RewriteEngine on» указывается один раз – с ее помощью врубается модуль mod_rewrite.
Если вы создаете файл .htaccess с нуля, то все команды указываются снутри таковых строк:
< IfModule mod_rewrite.c >
…
< /IfModule >
К примеру, так будет смотреться файл .htaccess с 2-мя редиректами: с www на без www и со страничек без слеша на странички со слешем в конце:
Это только несколько примеров дублирования страничек. Вот подробная {инструкция} по поиску и устранению дублей на веб-сайте – в том числе при помощи 301 редиректа.
Настройка 301 редиректа в web.config
Вариант редиректа при помощи .htaccess работает лишь для Apache. Для веб-сервера IIS настраивать переадресацию необходимо в файле web.config. Это XML-файл, в каком хранятся главные опции сервера IIS. Его роль подобна роли файла .htaccess для сервера Apache.
Чтоб настроить 301-й редирект с одной странички (yoursite.ru/page.html) на другую (yoursite.ru/page2.html), необходимо прописать в файле web.config последующий фрагмент кода:
< ?xml version="1.0" encoding="UTF-8"? >
< configuration >
< location path="test.html" >
< system.webServer >
< httpRedirect enabled="true" destination="http://yoursite.ru/page2.html" httpResponseStatus="Permanent" / >
< /system.webServer >
< /location >
< /configuration >
301-й редирект с домена с www на домен без www настроить можно таковым образом:
< configuration >
< system.webServer >
< rewrite >
< rules >
< rule name="Imported Rule 1" stopProcessing="true" >
< match url="^(.*)$" ignoreCase="false" / >
< conditions logicalGrouping="MatchAll" >
< add input="{HTTP_HOST}" pattern="^www.(.+)$" / >
< /conditions >
< action type="Redirect" url="http://{C:1}/{R:1}" redirectType="Permanent" / >
< /rule >
< /rules >
< /rewrite >
< /system.webServer >
< /configuration >
Другие методы опции переадресации
Если по некий причине вы не сможете создавать и редактировать web.config либо .htaccess (к примеру, в силу ограничений на хостинге) либо для вас нужна определенная обработка приобретенных данных, их модификация либо проверка, по результатам которой реализуется перенаправление, вы сможете настроить редирект при помощи PHP.
Синтаксис последующий:
< ?php
header(‘HTTP/1.1 301 Moved Permanently’);
header(‘Location: https://newsite.ru/’);
? >
В этом случае происходит принудительная передача кода HTTP-ответа 301, и юзер перенаправляется на страничку https://newsite.ru/.
Если у вас маленький веб-сайт с парой страничек, то редирект можно создать при помощи HTML:
< meta http-equiv="refresh" content="0; url=https://newsite.ru" >
Изменяя цифру 0, вы задаете количество секунд до переадресации. В этом случае редирект реализуется не на стороне сервера, а на стороне клиента (не передается заголовок 301).
Также редирект можно создать при помощи JavaScript:
< script type="text/javascript" >
window.location.replace(«newsite.ru»);
< /script >
В этом случае также не передается заголовок 301. И если у юзера в браузере отключена поддержка JavaScript, то редирект не сработает.
Вариантов редиректов бессчетное огромное количество. Упростить работу можно при помощи генераторов редиректов. Это онлайн-сервисы, которые выдают готовые коды, – для вас необходимо только указать, откуда и куда перенаправить юзера. Вот некие из этих сервисов: www.webconfs.com, www.rapidtables.com, www.htaccessredirect.net.
Как настроить редирект, если нет опыта веб-программирования
Настройка редиректа – непростая техно задачка, для выполнения которой не обойтись без профильных познаний. Если вы не владеете способностями разработки и программирования, и у вас под рукою нет штатного программера, можно пользоваться поддержкой хостинг-провайдеров. Почти все из их дают услугу web-форвардинга (либо «переадресация домена», «URL-форвардинг» и т. п.). Она дозволяет настроить переадресацию с 1-го URL на иной. При всем этом употребляется 301 редирект.
Очередной вариант – настройка редиректов при помощи интегрированных инструментов CMS либо конструкторов веб-сайтов (такие есть, к примеру, в Joomla!, Wix и Тильде) либо особых плагинов.
Пользующиеся популярностью плагины для WordPress
Настроить редиректы для веб-сайта на WordPress можно при помощи таковых плагинов:
-
Redirection – самый пользующийся популярностью плагин для опции редиректов. Не считая главный функции владеет последующими способностями: сбор статистики переадресаций, отслеживание ошибок 404, поддержка постоянных выражений.
-
Safe Redirect Manager – обычной плагин, который также поддерживает постоянные выражения и не несет суровой опасности для производительности веб-сайта.
-
301 Redirects – помогает создавать 301, 302, 307 редиректы. Есть журнальчик для выявления ошибок 404 – комфортно, чтоб осознать, какие странички нуждаются в перенаправлении.
Не убеждены, что можете верно настроить редиректы своими руками? Лучше не рисковать – в модуле SEO платформы PromoPult за вас все сделают проф веб-мастера. Все работы производятся по чек-листу и в срок.
Подытоживаем
Наилучший метод настроить 301 редирект – при помощи .htaccess. Но он подступает лишь для веб-серверов Apache. Для IIS придется настраивать web.config. Если же необходимо не попросту создать редирект, а учитывать определенные условия, то используйте PHP, но в этом случае без помощи программера не обойтись.
Есть и остальные методы (а именно, при помощи HTML и JavaScript), но это не 301 редирект, а просто перенаправление без передачи веса, что никчемно исходя из убеждений SEO.
Также можно применять плагины для фаворитных CMS либо подключить услугу web-форвардинга, если ее оказывает ваш хостинг-провайдер.
Стоит осознавать, что не постоянно есть смысл применять 301-й редирект. В неких вариантах лучше подойдет, к примеру, атрибут rel=»canonical».
Какой бы вариант вы ни избрали, основное, чтоб он верно работал. Проверить правильность редиректов на вашем веб-сайте и поставить задачки на внедрение переадресации можно в рамках модуля PromoPult «Поисковое продвижение». А протестировать SEO на платформе можно безвозмездно в течение 2-ух недель. В бесплатный тест входят подбор главных слов, задачки по базисной оптимизации, контент под информационные запросы и ссылочное продвижение.
Оригинал статьи на SEOnews