ttatyana940210

Работаем с 301/302 редиректами в CMS и на PHP

В этой теме 1 сообщение

Мертвые страницы и дубли контента на сайте – прямой враг поисковой оптимизации. Особенно болезненна эта тема для крупных информационных ресурсов или интернет-магазинов. Взаимосвязи между внутренними страницами сайта должны быть всегда живыми. Справляться с неактивными страницами лучше сего через настройку редиректов 301 и 302.

Так как 302 редирект считается временным, поисковые боты его не сильно любят, мы остановимся на основном, 301 редиректе. В статье вы найдете гайды по настройке редиректов в Joomla, Bitrix, Wordpress и через htaccess и другие универсальные PHP команды для изменения структуры сайта. В конце – гайд по работе с редиректами 302.

Как сделать редирект через htaccess

Файл .htaccess – это та информация, откуда сервер на Linux берет информацию о неработающих страницах сайта. На wondows IIS такой файл называется web.config. Смысл их работы предельно прост – такие файлы для сервера размещаются на старых страницах или домене и передают информацию о том, что контент переехал.

Для того, чтобы сервер автоматически редиректил пользователя на активные страницы, нужно внести изменения в файле. Для кода используются стандартные для PHP регулярные выражения (где ! – это спецсимвол отрицания). Ниже – рабочие варианты 301 редиректов через этот файл.

 

Редирект со старой страницы на обновленную

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.yoursite\.ru$ [NC]

RewriteRule ^old-link /old-link-2 /$ https://www.yoursite.ru/newpage/ [R=301,L]

 

Редирект с неактивной страницы на Home Page

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.yoursite\.ru$ [NC]
RewriteRule ^page/category/$ https://www.yoursite.ru/ [R=301,L]

 

Обратный редирект с главной

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.yoursite\.ru$ [NC]
RewriteRule ^$ https://www.yoursite.ru/category/page/ [R=301,L]

 

Редирект со страниц без www на страницы с приставкой (очень полезно, чтобы не потерять трафик)

RewriteEngine On
RewriteCond %{HTTP_HOST} ^yoursite\.ru$ [NC]
RewriteCond %{REQUEST_URI} !^/robots.*
RewriteRule ^(.*)$ https://www.yoursite.ru/$1 [R=301,L]

 

 

Обратный редирект ( с www. На сайт без приставки)

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.yoursite\.ru$ [NC]
RewriteCond %{REQUEST_URI} !^/robots.*
RewriteRule ^(.*)$ http://yoursite.ru/$1 [R=301,L]

 

Постоянная перелинковка на страницы без слеша (из страниц со слешем)

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

 

И так, если нужен обратный редирект

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

 

Редирект с индекса на Home Page сайта

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ https://www.yoursite.ru/ [R=301,L]

 

Одновременный редирект всех страниц на главную

 

RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule !(^$|.*\.(css|jpg|gif)) / [R=301,L]

 

Рерайт между страницами по параметрам (здесь параметр page=)

 

RewriteEngine On
RewriteCond %{QUERY_STRING} page=1
RewriteRule ^news.php http://www.site.ru/news.php?page=2 [R=301,L]

 

Редиректы на новый домен сайта

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

 

Это основные примеры команд для 301 редиректа со страниц сайта на активные страницы или новый домен. Обязательно для больших ресурсов включить постоянный редирект со страниц со слешем на страницы без него, редиректы для страницы с www и без такой приставки. Обязательны редиректы также и при работе с редактированием дефолтных урлов с цифрами или другими далеко не ЧПУ значениями.

 

Как настроить редиректы в Wordpress

В Водпресс, как и в других популярных CMS, настраивать редиректы можно через специальные плагины с визуальным интерфейсом без необходимости слишком активно кодить. Помогают в редактировании структуры сайта специальные плагины. Один из самых популярных – Redirection. У плагина больше миллиона пользователей. Он позволяет работать практически с неограниченным количеством редиректов, поможет настроить не только 301 редиректы, но и 404 ошибки.

safe-redirect-manager.jpg.548ee8de183cf426d572b14470dc1228.jpg

Интерфейс плагина поддерживает регулярные выражения, благодаря которым можно кастомизировать страницу. Если вы управляете мультисайтом, то есть смысл внимательнее присмотреться к Safe Redirect Manager – плагин обладает понятным и удобным визуально интерфейсом, поможет управлять редиректами между несколькими доменами.

В Wordpress есть дефолтные функции, которые помогают работать с редиректами даже без плагинов – это wp_redirect()/wp_safe_redirect(). Главное отличие между двумя операторами в том, что последняя функция автоматически проверяет адрес страницы и сопоставляет его с «разрешенными» хвостами. Для Вордпресса есть фильтр разрешенных хвостов для редиректа, при помощи которого вы сможете управлять этими функциями.

В каждую функцию можно дописать рекомендуемый тип редиректа (301 или 302). Если вы хорошо владеете PHP, то такие параметры будут более полезны и эффективны. У них неограниченная возможность для пользовательских настроек.

simple-301-redirects-wordpress.png.1963066ecbd9d46af00d29876ad5a3d9.png

Настройка редиректа в Joomla

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

В разделе компонентов нужно выбрать вкладку «Перенаправление» и выбираем одноименный компонент. Здесь вы в визуальном режиме сможете увидеть список страниц, которых не существует, и на которые нужно настроить 301 или 404 редиректы. Для этого вы просто выбираете устаревший линк, и попадаете на страницу перенаправления на новый урл.

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

Полезен такой компонент в том случае, когда перенаправление нужно прописать для нескольких страниц. Но если так получилось, что у вас на Джумле – крупный сайт, способ с .htaccess остается актуальным.

Как настроить редирект 301 в Битриксе

Для работы с редиректами в Битриксе, можно изначально экспортировать информацию обо всех контентых страницах в Excel файл. К сожалению, для Битрикса не так много компонентов и нет встроенных возможностей для визуального управления редиректами.

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

Процедура для Битрикса сложна только в том случае, если вы занимаетесь обновлением УРЛ-ов нечасто. Чем чаще вы обновляете табличку, тем легче будет проходить весь процесс.

Использование 302 редиректов

Редирект 302 настраивается теми же командами, что и перманентный редирект на несуществующие страницы. Главное различие между их типами в том, что 301 редирект говорит серверу, что страницы больше не существует. Такие страницы перестают индексировать поисковые системы, на них не считается трафик. За такой подход не наказывают Google и Яндекс.

302 редиректы ставят временно. По факту, для сервера и поисковых машин существуют две страницы – старая и новая. В таком случае поисковики могут заблокировать сайт (вы попадете под фильтр) из-за злоупотребления временными редиректами. Подобные методы используются в клоакинге.

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

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Создайте учетную запись или войдите, чтобы комментировать

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти