Меню

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

Как сделать правильный 301 редирект со страницы на страницу.

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

Редирект 301 Permanent Redirect — это одно из основных правил, которые необходимо прописывать в .htaccess. Основная задача 301 Redirecta, переадресация пользователя на прописанный в правиле адрес страницы.

Что такое 301 Permanent Redirect и код состояния HTTP 301?

Permanent Redirect - Что такое 301 редирект? Как сделать 301-Redirect.

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

Поисковый бот или прочие сторонние боты, получают соответствующий код ответа HTTP 301. Это означает, что страница или полноценный ресурс перемещены навсегда на новый адрес. Соответственно все основные свойства страницы переходят к конечной точке перенаправления. Указывая  поисковым системам на необходимость пересмотра всех текущих входящий URL. Для последующего переноса веса на конечную страницу (ресурс).

301 Permanent Redirect в поисковом продвижении и Seo

Все поисковые системы в особенности основные Google и Яндекс полностью поддерживают использование редиректов. Это позволяет указать поисковому роботу, что несколько разных адресов нужно объединить в 1. При этом основным адресом будет только тот на который осуществляется перенаправление.

Для Seo это незаменимый дополнительный инструмент продвижения. К примеру позволяющий указать поисковой системе:

  1. На новый адрес сайта или новый домен. Для последующего переноса всех свойств старого адреса (домена) на новый домен.
  2. Перенаправление с доп. зеркал на основное. Например, когда ресурс доступен по адресам www и без www. Или использует (https), но при этом доступен и по http.

Основные правила использования перенаправления

Во первых — необходимо размещать перенаправления в правиле в правильном порядке. Используйте наиболее частые перенаправления (выше), а наиболее глобальные ниже.

Во вторых — избегайте многократного редиректа. Это крайне негативно скажется на Seo продвижении сайта. Поисковый бот или пользователь в этом случае, будет переадресован несколько раз. К примеру: с одной страницы, на 2—ю затем на 3—ю. Это плохо и некорректно с точки зрения Seo.

В третьих — старайтесь не делать циклических переадресаций (друг на друга, по кругу). Это негативно скажется на распределение веса между страницами указанными в правиле.

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

Как настроить 301 редирект в файле .htaccess

Сам файл .htaccess располагается в главной директории сайта. Работа с ним ведется крайне осторожно, при любом изменении сохраняйте резервную копию. Одна ошибка в написании правила приведет к непредвиденной ошибке на сайте. Потом будет сложно установить причину банальной ошибки 500 (Internal Server Error). Само редактирование ведется с помощью любого текстового редактора, обязательно с поддержкой кодировки UTF -8 (формат преобразования Юникода).

Основная функция, которая указывает серверу на наличие правил перенаправления устанавливается первой.
Все последующие правила пишутся после нее:

Options +FollowSymLinks
RewriteEngine On

Redirect 301 непосредственно относящийся к доменному имени и сайту в целом

К таким перенаправлениям можно отнести популярные редиректы:

  1. С WWW и обратно — для указания зеркала;
  2. Домена на домен или множества доменов на основной;
  3. С HTTPS на HTTP и обратно, для указания предпочтительной версии;
  4. Непосредственно полный перенос проекта на новый домен;

Это наиболее востребованные глобальные редиректы, которые относятся к доменному имени и сайту. Благодаря таким правилам все переходы и обозначения проходят плавно и безболезненно.  Одна из самых востребованных для поискового продвижения. Распространенное  перенаправление с домена www на без www. Необходимо для указания главного зеркала поисковым системам.

RewriteCond %{HTTP_HOST} ^www.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

Пример обратного перенаправления:

RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

Для тех, кто использует HTTPS:

RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTP} =on
RewriteRule ^(.*)$ https://pixelplus.ru/$1 [R=301,L]

301 — редирект с домена на домен или на домен в зоне РФ.

Осуществляется перенаправление с одного доменного имени на другое.

RewriteCond %{HTTP_HOST} ^old-site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

Для обладателей доменного имени в зоне РФ:

RewriteCond %{HTTP_HOST} ^xn-...\.xn--p1ai$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

Переход сайта на HTTPS для всех страниц сайта

Таким образом все существующие адреса проекта, будут направлены на новые с префиксом «https».

RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTP} =on
RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]

Обратный переход на HTTP

Возможен если нужно перейти на hhtp, хоть и редко используется.

RewriteCond %{HTTPS} "on"
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,QSA]

Полный переезд сайта на новый домен

Классная вещь, которая крайне необходима для переезда сайта на новый домен.

RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC]
RewriteRule ^([^/]+) $1 [L]
RewriteCond %{HTTP_HOST} ^site\.ru
RewriteRule ^(.*)$ http://new-site.ru/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.site\.ru
RewriteRule ^(.*)$ http://new-site.ru/$1 [R=301,L]

301 — редирект страниц сайта

Порой крайне необходимо осуществить подобную переадресацию. Причин этому может быть множество, особено это касается страниц с ошибкой 404. В большинстве случаев на подобные страницы ведут другие домены. Как мы все понимаем, они передают вес (ТИЦ, PR, ИКС, TRUST), который нам необходим.

Permanent Redirect  — позволяет направить несуществующую страницу на необходимую с подобным материалом. Благодаря этому мы сохраним переданные свойства, а пс роботы обновят данные о входящих ссылках.  Основным направлением таких правил является:

  1. Указание предпочтительной канонической страницы;
  2. Направление страницы со / (слезшем) на без него;
  3. Указание поисковым ботам на страницу 404;
  4. Предпочтительный раздел или каталог;

Основной редирект — 301 с одной страницы (старой версии) на новую

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

Redirect 301 /old-post.html http://new-site.ru/new-post.html

Редирект адресов без / на конце на адреса со / на конце

Помогает убрать нежелательные дубли страниц.

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]

Обратный редирект адресов у которых / в конце, на без него

Также помогает избежать дублей.

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]

Перенаправление всех страниц одного домена на главную другого

Помогает для создания структуры из нескольких доменов (сайтов).

RewriteCond %{REQUEST_URI} (.*)
RewriteRule ^(.*)$ http://site.ru/ [L,R=301]

Указываем через .htaccess, путь к файлу 404 ошибки

Крайне необходимая вещь для грамотного поискового продвижения.

ErrorDocument 404 /404-for-me.php

Переопределяем каталог или категорию сайта

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

Вариант 1. RewriteRule ^(.*)/old-category/(.*)$ $1/new-category/$2 [R=301,L]
Вариант 2. RewriteRule old-category /(.*) / old-category /$1 [R=301,L]

301 редирект для url с GET параметрами

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

Пример адреса: https://nicola.top/page.php?id=15477852.

RewriteCond %{QUERY_STRING} id=15477852
RewriteRule .* http://site.ru/page.php? [R=301,L]

Если необходимо убрать все get параметры после знака (?). Можно использовать следующий пример:

RewriteRule (.*) $1? [R=301,L]
Располагать после: RewriteBase /

301 редирект для urlов с расширениями

Очень хорош, в особенности при некоторых ошибках в url.

Вариант 1. RewriteRule ^(([^/]+/)*[^.]+)$ /$1.html [L]
Вариант 2. RedirectMatch 301 (.*)\.php$ http://www.site.com$1.html

Использование PHP  для настройки 301-редиректа

Этот метод поможет тем, кто не использует сервер Apache. Аналог правила для php:


header("HTTP/1.1 301 Moved Permanently");
header("Location: http://соответствующий сайт/dir/");
exit();
?>

Как сделать 301-редирект для сайтов на nginx

И названия понятно, что это перманентный редирект для тех у кого сайт на nginx.

if ($host = ‘www.domain.com’ ) {
rewrite ^(.*)$ http://domain.com$1 permanent;
}

Основной синтаксис регулярных выражений для файла Apache / .htaccess

В данном регулярном выражении можно использовать любые печатные символы и пробел. Тем не менее часть символов имеет особое назначение:

  • () — используются для выделения нужных групп символов.
  • ^ — спецсимвол начало строки.
  • $ — спецсимвол конец строки.
  • . — обозначает любой символ.
  • | — обозначает альтернативу. Например, выражения «A|B» и «(ABC|DEF)» означают «A или B» и «ABC или DEF» соответственно.
  • ? — ставится после символа (или группы символов), который может как присутствовать, так и отсутствовать.
  • * — ставят после символа (или группы символов), который может отсутствовать или присутствовать неограниченное число раз подряд.
  • + — действует аналогично символу * с той лишь разницей, что предшествующий ему символ обязательно должен присутствовать хотя бы один раз.
  • [] — используются для перечисления допустимых символов. Внутри скобок можно использовать диапазоны: например, выражение «[0-9]» равносильно выражению «[0123456789]». Если символы внутри квадратных скобок начинаются с символа ^, это означает любой символ, кроме перечисленных в скобках.
  • \ — ставится перед спецсимволами, если они нужны в своем первозданном виде.
  • {3,9} — фигурные скобки означают диапозон количества символов, в данном случае допускается от 3 до 9 символов, длина строки из символов должна быть равна или более 3 равна или менее 9 символов.
  • Все, что расположено после символа ‘#’, считается комментарием.

Плагин Redirection для обладателей сайта на CMS WorPress

Плагин Redirection - мощный настраиваемый плагин редиректа страниц.

Прекрасное решение для детектирования 404 ошибки.Один из самых простых способов перенаправить url. Плагин Redirection — самый популярный менеджер перенаправления для WordPress. С его помощью вы можете легко управлять переадресацией url, отслеживать ошибки 404. Также этот плагин позволяет убирать / в  конце url. Это поможет уменьшить количество ошибок и улучшить рейтинг Вашего проекта.

Redirection — позволяет создавать и управлять перенаправлениями

Создает редирект быстро и легко, не требуя знаний Apache или Nginx. Если ваш сайт на  WordPress поддерживает постоянные ссылки!!!! Тогда Вы с уверенностью можете использовать этот плагин для перенаправления любого URL-адреса своего сайта. В плагине осуществлена полная поддержка регулярных выражений, поэтому Вы можете создавать шаблоны Permanent Redirect  с любым кол-вом  URL-адресов.

Можно настроить плагин и для контроля над вашим контентом. Когда произойдет изменение поста или страницы, плагин автоматически создаст нужный редирект на новый URL-адрес. В дополнение к обычному редиректу URL-адресов. У Вас есть возможность перенаправить URL на основе других условий:

  • Статус входа — redirect, только если пользователь вошел или вышел из системы.
  • Браузер — redirect, если пользователь использует определенный браузер.
  • Referrer — redirect, если пользователь посетил ссылку с другой страницы.
  • Cookies — redirect, если установлены определенные cookie.
  • HTTP headers — redirect, на основе HTTP-заголовка.
  • Custom filter — redirect, на основе собственного фильтра WordPress.

Позволяет также отслеживать все ошибки 404, которые происходят на вашем сайте.

Redirection имеет поддержку APACHE & AMP & NGINX

По умолчанию этот плагин будет управлять всеми редиректами с помощью WordPress. Однако его можно настроить так, чтобы все Redirecty автоматически сохранялись в файле .htaccess и обрабатывались самим Apache. В случае если вы используете Nginx, вы можете экспортировать настройки в файл правил перезаписи Nginx. Плагин также имеет полнофункциональную систему импорта и экспорта:

  • Импорт и экспорт в Apache и .htaccess;
  • Экспорт в правила перезаписи Nginx;
  • Копировать редирект между сайтами с помощью JSON;
  • Импорт и экспорт в CSV для просмотра в табличном варианте;
  • Используйте WP CLI для автоматизации.

Плагин Simple 301 Redirects для WordPress

Simple 301 Redirects - простой плагин 301 редирект для WordPress.

Simple Redirects — это простой способ перенаправления запросов на другую страницу вашего сайта или в другом месте в Интернете. Особенно удобен, если Вы переносите сайт WordPress и не можете сохранить четкую структуру URL. Установив redirects со старых страниц на новые, любые входящие ссылки будут передавать свой стат.вес.

Плагин SEO Redirection Plugin для WordPress

SEO Redirection Plugin - плагин 301 редирект.

SEO Redirection — это плагин WordPress для управления редиректом. Вам доступно  легкое создание и управление редиректами своего сайта. Этот плагин крайне полезен! Особенно если Вам нужно перенести структуру URL, со старого веб-сайта или поменять каталог своего сайта на WordPress.

Что может плагин SEO Redirection:

  1. Ручное добавление редиректов 301, 302 и 307 на WordPress.
  2. Поддерживает Redirect wild card.
  3. Исправлять ошибки сканирования 404 в Google Search Console.
  4. Поддержка WPML и функций импорта / экспорта.
  5. Авто-добавление редиректа при изменении URL.
  6. Прямые редиректы (страниц, публикаций, черновиков) после их изменений.
  7. Расширенная панель управления.
  8. Вы можете перенаправить папки и все их содержимое.
  9. Ведется полный журнал для всех перенаправленных URL-адресов.
  10. Возможно использование регулярных выражений в перенаправлении.
  11. Apache .htaccess не требуется, плагин работает только в WordPress.
  12. Перенаправить index.php, index.html и index.htm.

В заключение:

Перенаправления крайне необходимая вещь в поисковом продвижении. Благодаря Permanent Redirect можно избавиться от дублей , указать основной источник. Достаточно часто R-t используют для переадресации ошибки 404 на другие страницы проекта. В этом руководстве я постарался очень подробно расписать все возможные перенаправления. Максимально задействовав файл .htaccess и доступные плагины для WordPress. Желаю Вам успехов и удачи с Вашими переадресациями.

Спасибо, что читаешь Nicola Top

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

три × пять =