Что такое 301 редирект и как его настроить в .htaccess
В процессе продвижения сайта возникает множество задач, связанных с корректировкой структуры сайта, изменением URL-адресов и оптимизацией индексации страниц. Одним из наиболее важных инструментов для решения подобных задач является 301 редирект. В данной статье мы разберем, что это такое, зачем он нужен и как его правильно настроить через файл .htaccess.
Что такое 301 редирект
301 редирект — это тип серверного перенаправления, который сообщает поисковым системам и браузерам, что страница сайта была перемещена на новый URL навсегда. Это важное различие, так как существуют также временные редиректы (например, 302), которые указывают на временное перемещение страницы.
Применение 301 редиректа позволяет сохранить позиции сайта в поисковой выдаче, передавая «вес» старой страницы на новую. Это особенно полезно при изменении структуры сайта, когда нужно перенаправить трафик с устаревших страниц на актуальные.
Пример: Предположим, что у вас был сайт с URL: https://example.com/old-page. Если вы решили изменить структуру URL на https://example.com/new-page, то при настройке 301 редиректа все запросы, направленные на старую страницу, будут автоматически перенаправлены на новую, сохраняя при этом ссылочный вес.
Зачем нужен 301 редирект
301 редирект — это не просто инструмент для изменения пути на сайте, это средство, которое помогает избежать множества проблем, связанных с SEO и юзабилити.
Основные причины для использования 301 редиректа:
- Изменение URL-адресов страниц: Например, если вы решили изменить структуру сайта или перевести его на новый домен.
- Устранение дублирующего контента: Если несколько страниц имеют одинаковое содержание, с помощью редиректа можно перенаправить пользователей на одну «каноническую» страницу.
- Консолидация трафика: Если у вас есть несколько URL, ведущих на один и тот же контент (например, с www и без www), 301 редирект помогает объединить трафик в одном месте.
- Улучшение пользовательского опыта: Пользователь, попадая на старую страницу, не столкнется с ошибкой 404, а автоматически будет перенаправлен на нужную ему страницу.
- Сохранение позиций в поисковой выдаче: При перемещении страницы на новый URL, вы передаете «вес» старого URL на новый, что помогает избежать потери трафика и позиций в поисковой системе.
Как настроить 301 редирект через .htaccess
Файл .htaccess — это текстовый файл, который находится в корневой директории сайта на сервере. Он используется для настройки правил для веб-сервера Apache. Чтобы настроить 301 редирект, достаточно внести несколько строк кода в этот файл.
Шаги по настройке 301 редиректа:
- Откройте файл .htaccess: Для этого вам нужно получить доступ к серверу через FTP или панель управления хостингом.
- Добавьте правило для перенаправления: Вставьте следующую строку для перенаправления одного URL на другой.
Примеры правил для 301 редиректа
Обратите внимание! При использовании нижеперечисленных примеров на своем сайте обязательно соблюдайте синтаксис а так же сохраняйте относительный или абсолютный вид ссылок, точно как в примерах. Если указать одновременно только относительные или только абсолютные адреса - редирект не сработает, важно придерживаться данного правила.
Перенаправление одной страницы на другую
Redirect 301 /old-page https://example.com/new-page
Обязательно соблюдайте правила написания ссылок. /old-page - относительный адрес страницы без протокола и названия домена, а https://example.com/new-page - новый адрес - абсолютный адрес с протоколом и названием домена.
Перенаправление одной страницы на другую через RewriteRule
RewriteRule ^dir /dir-new/$1 [R=301,L]
Перенаправление всего сайта на новый домен
RewriteEngine On
RewriteCond %{HTTP_HOST} ^oldsite\.com$ [NC]
RewriteRule ^(.*)$ https://newsite.com/$1 [R=301,L]
Для старой ссылки сайта oldsite.com не нужно указывать протокол, а для новой нужно
Перенаправление с www на не-www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
Перенаправление с HTTP на HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Перенос сайта на версию с HTTPS (для всех страниц)
RewriteCond %{SERVER_PORT} ^80$ [OR] RewriteCond %{HTTP} =on RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]
301-редирект для страницы с GET параметрами
Скажем, адрес страницы имеет вид: http://www.site.ru/dir/index.php?IBLOCK_ID=1&SECTION_ID=111 тогда для настройки 301 переадресации на новый адрес, необходимо использовать следующее правило:
RewriteCond %{QUERY_STRING} ^IBLOCK_ID=1&SECTION_ID=111$ [NC] RewriteRule ^dir/index\.php$ /new/sef/? [R=301,L]
Если один (или несколько) из GET параметров не задан(ы) или может иметь произвольное значение (в нашем примере это SECTION_ID), можно использовать следующий код:
RewriteCond %{QUERY_STRING} ^IBLOCK_ID=1&SECTION_ID=(.*)$ [NC] RewriteRule ^dir/index\.php$ /new/sef/? [R=301,L]
Редирект доменов в зоне РФ
Кириллические домены (в зоне .РФ .РУС и др.) необходимо прописывать в коде в формате Punycode. Сделать это можно через онлайн конвертер, или просто скопировать URL сайта из адресной строки, он будет автоматически переведен в Punycode.
Например, домен сайт.рф в кодировке будет выглядеть как xn--80aswg.xn--p1ai
Настройка переадресации со слешем в конце (добавить)
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !\..{1,10}$ RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ http://www.site.ru/$1/ [L,R=301]
Настройка переадресации без слеша в конце (убрать)
RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^(.+)/$ RewriteRule ^(.+)/$ http://www.site.ru/$1 [R=301,L]
Как проверить работу 301 редиректа
После настройки редиректа важно убедиться, что он работает корректно. Сделать это можно несколькими способами:
- Использование браузера: Попробуйте зайти на старую страницу. Если все настроено верно, вы будете автоматически перенаправлены на новую.
- Инструменты для проверки редиректов: Существуют онлайн-сервисы, такие как Redirect Checker или Screaming Frog, которые позволяют проверить, правильно ли работает 301 редирект.
- Проверка с помощью инструментов для вебмастеров: Google Search Console и Яндекс.Вебмастер помогут вам отслеживать ошибки индексации и убедиться, что редирект настроен корректно.
Частые ошибки при настройке 301 редиректа
При настройке 301 редиректа важно избегать некоторых типичных ошибок, которые могут повлиять на работу сайта:
- Циклические перенаправления: Это происходит, когда страница перенаправляется сама на себя или в цепочке редиректов возникает зацикливание. Это может привести к тому, что страница никогда не загрузится.
- Неправильный синтаксис в .htaccess: Малейшая ошибка в синтаксисе файла .htaccess может привести к тому, что сайт перестанет работать. Внимательно проверяйте код перед сохранением изменений.
- Оставление старых страниц в индексе: Не забудьте исключить старые страницы из индекса с помощью метатега robots или через инструмент для удаления URL в Google Search Console и Яндекс.Вебмастере.
Заключение
301 редирект — это мощный инструмент для SEO и управления структурой сайта. Правильная настройка редиректа помогает сохранить трафик, позиции в поисковой выдаче и улучшить пользовательский опыт. Однако при его использовании важно следить за корректностью работы и избегать распространенных ошибок.
Настроив 301 редирект, вы не только защитите свой сайт от потерь трафика, но и улучшите его индексирование поисковыми системами. Не забывайте регулярно проверять работу редиректов и актуализировать настройки по мере необходимости.
Нужно добавить пояснение что /old-page - относительный адрес страницы без протокола и названия домена, а https://example.com/new-page - новый адрес - абсолютный адрес с протоколом и названием домена. Если указать одновременно только относительные или только абсолютные адреса - редирект не сработает, важно придерживаться данного правила.
Нужно добавить пояснение что для старого сайта oldsite.com не нужно указывать протокол, а для нового нужно
Больше полезной информации в
Телеграм-канале
Вас может заинтересовать:
Оцените статью