Как работает инструмент проверки кода ответа сервера и как им пользоваться?

Содержание:

Для чего используют

Ответ сервера 301 — очень простой и наиболее эффективный способ постоянного редиректа. При нем передается вес страницы на новый адрес.

Как правило, 301 редирект используют по следующим причинам:

  • необходимо удалить дубли страниц;
  • нужно сохранить пользовательские сигналы, которые накопил контент;
  • нужно перенаправить трафик с вспомогательных страниц на основную;
  • необходимо передать новому документу ссылочный вес;
  • есть необходимость склейки зеркал сайта (http и https, www и без www);
  • документ был перемещен и трафик со старого адреса нужно направить на новый;
  • была произведена смена доменного имени.

301 редирект позволяет сохранить все факторы ранжирования старого документа, передавая их новому. Использовать редирект нужно с пониманием его принципа работы.

Для чего используется функция редиректа

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

Редирект помогает также решить и некоторые вопросы SEO-оптимизации:

  • Позволяет склеивать страницы без использования префикса и с ним;
  • Используется для переезда сайта на другой домен; при этом количество посетителей не уменьшится, а рейтинг в поисковике останется прежним;
  • Обрабатывает повторяющиеся страницы;
  • Если сменился CMS сайта, то результаты продвижения сохраняются — в противном случае настройки ссылок будут разными;
  • Необходим в случаях, когда нужно скрыть или удалить конкретные разделы сайтов, перенаправить пользователя на главную или другие страницы.

Что лучше, 301 редирект или Canonical?

Существуют некоторые правила восприятия таких команд перенаправления. Вот так они воспринимаются поисковыми системами:

  • 301 редирект сигнализирует: «Мой документ был навсегда перемещен на новый адрес и я не планирую возвращать его на старый. Пожалуйста, замените адреса в поисковой выдаче и передайте все метрики со старого документа новому». 301 редирект прописывается на серверном уровне, то есть зайдя на страницу вас сразу же автоматически перенаправляет на новую.
  • rel=canonical говорит следующее: «Я обладаю несколькими вариантами документа. Среди них я выделил основную и пометил ее canonical. Проиндексируйте пожалуйста ее. Остальные версии документа также будут видны пользователям, но их сканировать не нужно». Rel=canonical прописывается в коде документа, зайдя на документ вас никуда не перенаправит, но поисковые системы просканировав код страницы увидят, что там обозначены рекомендации — признать главным урлом, другую страницу.

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

Когда применять 301

По умолчанию, 301 редирект является более оптимальным методом переадресации, чем rel=canonical.

Его следует применять:

  • для документа, который был перемещен на новый адрес навсегда;
  • для документа, который утратил актуальность, но имеет много трафика и внешних ссылок»;
  • в случае смены доменного имени.

Когда применять Canonical

Как правило, rel=caconical применяется в случаях:

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

Вам может быть это полезно: Подробная статья про rel=canonical.

Примеры использования 301 редиректа

Редирект с index.php на главную

Чтобы настроить его вам нужно прописать в вашем файле следующий код, который будет перенаправлять посетителей с адреса site.ru/index.php на site.ru:

RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.php\ HTTP
RewriteRule ^index\.php$ http://site.ru/ 

Если вам так же нужно сделать переадресацию с index.html, то просто в коде выше замените .php на .html

Склеиваем алиасы сайта

Если у вас несколько доменов и вы хотите все их перенаправлять на основной сайт, то используем:

RewriteCond %{HTTP_HOST} ^vash-sait.com$ 
RewriteCond %{HTTP_HOST} ^www.vash-sait.com$ 
RewriteCond %{REQUEST_URI} !^/robots.*
RewriteRule ^(.*)$ http://vash-sait.ru/$1 

Обратите внимание на первые 2 строки, там указано зеркало в зоне .com, если у вас иная или несколько зон, то добавляем правила

Редирект с www на без www

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

RewriteCond %{HTTP_HOST} ^www.site\.ru$ 
RewriteRule ^(.*)$ http://site.ru/$1 

Редирект с домена без www на домен с www

Это действие противоположное предыдущему, только основное зеркало здесь www.site.ru:

RewriteCond %{HTTP_HOST} ^site\.ru$ 
RewriteRule ^(.*)$ http://www.site.ru/$1 

301 редирект страниц со слэшем и без

Это еще один вид дублей, тут мы склеим страницы site.ru/category/ и site.ru/category, как видите, в конце второго урла не стоит слэша:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 

Если вам нужно наоборот оставить слэш в конце урла, то вам нужен данный вариант:

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ 

Если у вас по какой-то причине появились урлы типа site.ru/category//article.html, то юзаем код:

RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2 

где, «//» можно заменить на «—» или любые сдвоенные символы в урле.

Массовая замена категории

Бывает, что вы переименовали категорию, а за ней закреплены тысячи урлов. Чтобы не состарится во время написания тысяч одинаковых перенаправлений юзаем:

RewriteRule ^(.*)/old-category/(.*)$ $1/new-category/$2 

Если у вас категория идет сразу после домена (типа site.ru/category/), то используем другой вариант:

RewriteRule old-category /(.*) / old-category /$1 

Редирект на новую страницу

Самый простой редирект со страницы на страницу, для это просто пропишите так:

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

Где old-post.html — это ваша старая страница, а new-site.ru/new-post.html — это новая страница и она может быть на любом домене (включая ваш текущий домен).

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

Страницы с параметрами редиректятся сложнее, возьмем пример http://site.ru/page.php?sort=articles. Параметр здесь «sort=articles». Код будет следующим:

RewriteCond %{QUERY_STRING} sort=articles
RewriteRule .* http://site.ru/page.php? 

Работаем с расширениями

Убираем .html из url (для удаления .php не забудьте заменить $1.html на $1.php):

RewriteRule ^((+/)*+)$ /$1.html 

Меняем .php на .html в урлах и наоборот (не забываем поменять местами в коде):

RedirectMatch 301 (.*)\.php$ http://www.site.com$1.html

Ошибки при использовании редиректов

  • Любой многошаговый редирект. Если есть возможность, то желательно не допускать многошаговых редиректов, чтобы он и быстрее сработал, и передалось максимум ссылочного веса.
  • Использование неправильного типа редиректов. При выборе типа редиректа необходимо учитывать нюансы каждого из них.
  • Внедрение внутренних редиректов без смены ссылок на новые адреса. После внедрения всех редиректов у себя на сайте, необходимо проверить, чтобы каждая страница вашего сайта уже ссылалась на новую и внутри сайта у вас не было ссылок на страницы, с которых происходит редирект.
  • Редирект на нерелевантные страницы/контент. Редирект всегда желательно проставлять на максимально релевантную страницу: или на похожую страницу, или на ветку каталога/раздела, к которому принадлежала данная страница.
  • Неправильный выбор использования rel=canonical vs 301 редирект.
  • Редирект, конечной точкой которого является не 200-я страница. Редирект должен вести на правильно работающую страницу с 200 ответом сервера. Иначе, желательно не сбивать поисковых роботов и отдавать 404 ответ.
  • Редирект robots.txt. Так как, например, нужно прописывать директиву Host для Яндекса при склейке доменов.

Надеемся, что данное руководство станет вам шпаргалкой и помощником для использования 301-го редиректа для вашего сайта.

Памятка символов

Давайте теперь разберемся в значении элементов кодов редиректа для .htaccess.

RewriteCond — главное условие исполнения правила RewriteRule. Это условие является ключевым и только при его исполнении совершается перенаправление. Сами правила могут быть гибкими и устанавливаются регулярными выражениями, обозначенными специальными символами:

  • $ — конец строки;
  • ^ — начало строки;
  • () — группа;
  • ! — отрицание;
  • \ — конец спецсимволов (символы, идущие после данного, считаются не специальными, а обыкновенными);
  • . — замена одного символа;
  • # — начало комментария, не являющегося условием (обычной заметки в файле).

Кроме спецсимволов и обычных пояснений, существуют модификаторы, которые увеличивают гибкость настройки редиректов:

  • * — предыдущий символ будет повторен от 0 до 65536 раз;
  • ? — символ будет повторен 1 раз или вовсе не повторен;
  • + — символ повторяется от 1 до 65536 раз.

Помимо модификаторов используются флаги, которые устанавливают дополнительные условия к правилам. Флаги заключаются в квадратные скобки и перечисляются через запятую:

  • — Redirect, останавливает смену URL и выдает результат. После него задается вариант редиректа, например, R=301, то есть постоянный редирект.
  • — NoCase, флаг, позволяющий не использовать условие проверки регистра символов.
  • — Last, устанавливает строку в качестве окончательной и останавливает формирование адреса документа.

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

Виды редиректов

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

301 Moved Permanently

Redirect на постоянной основе. Он является наиболее популярным и используется для переноса локации навсегда. В результате этого процесса старый URL исчезает из выдачи, а новый индексируется поисковиками. При этом сохраняются все показатели предыдущего ресурса. Также этот вид переадресации подходит для удаления дублей и во всех перечисленных выше ситуациях. Чаще всего SEO-специалисты говорят именно об этом методе. Иногда сервис выдает браузеру ошибку 404 – это значит, что редирект не настроен. В этом случае страница выглядит вот так.

Помните, что этот способ актуален только если вы уверены, что не будете пользоваться текущим адресом.

302 Found

Если вы задумали переезд на другой домен или другие масштабные обновления на сайте, не применяйте этот способ. Иначе можете попасть в ситуацию, когда в поисковом индексе окажутся оба вида страниц — старые и новые. А это полное дублирование.

Помните, что если Google посчитает его использование ошибкой, то все SEO-показатели перейдут к новому адресу, а старый будет исключен из выдачи.

307 Temporary Redirect

Замена URL на время. Исходная версия остается на тех же позициях. Для поисковых систем этот метод является практически копией 302 редиректа.

Помимо перечисленных вариантов автоматического перенаправления посетителя, существуют еще четыре.

  • 300. Есть несколько локаций, на которые можно направить человека, в зависимости от параметров его браузера.
  • 303. Необходимый документ найден, но для его отображения требуется использовать GET.
  • 304. Информация о том, что сайт остался без изменений после посещения. Браузер открывает страницу из кэша.
  • 305. Указывает на переадресацию на прокси-сервер, а затем на заданный поисковой системе запрос.

Перемещение с одного адреса на другой

В этом случае быстрее всего можно настроить редирект при помощи такой командной строки:

Rеdіrесt 3О1 /stаrayа-strаnіса.html httр://www.рrіmеr-sаіtа.соm/novаjа-strаnіса.html

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

Сохранение параметров GET. Состоит из нескольких шагов:

1-й шаг – RеwrіtеСоnd %{RЕQUESТ_URI} ^/cоmроnооеnt/vіrtuеmаrt/$ — адрес до GET параметра;

2-й шаг – RеwrіtеСоnd %{QUЕRY_SТRІNG} ^pаgе=shор.brоwsе&саtеgоry_id=12 — адрес после параметра (?= заменяется на ^);

3-й шаг – RеwrіtеRulе ^.*$ /аrеndоvаnnyе-gruzоvіkі.html? – обновленный url.

Когда параметры не имеют значений или они произвольны, используется такой вариант:

1-й шаг – RеwrіtеСоnd %{QUЕRY_SТRІNG} ^IВLОСК_ІD=1&SЕСТІОN_ІD=(.*)$

2-й шаг – RеwrіtеRulе ^dіr/іndех\.рhр$ /nеw/sеf/?

Потеря параметров GET. Чтобы переадресовать рrіmеr-sаіtа.соm/іndеx.рhр на рrіmеr-sаіtа.ru, прописываем:

1-й шаг – код – RеwrіtеЕngіnе Оn

2-й шаг – RеwrіtеСоnd %{ТНЕ_RЕQUЕSТ} ^{3,9}\ /Іndеx\.рhр\ НТТР/

3-й шаг – RеwrіtеRulе ^іndех\.рhр$ httр://www.prіmеr-sаіtа.ru/

Есть еще один вариант:

1-й шаг – код – RеwrіtеСоnd %{REQUЕSТ_URІ} /іndех.рhр

2-й шаг – RеwrіtеСоnd %{QUЕRY_SТRІNG} ^\z

3-й шаг – RеwrіtеRulе ^(.*)$ httр://prіmеr-sаіtа.ru/?

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

$lоwеrURІ=strtоlоwеr($_SERVЕR) іf($_SЕRVЕR!=$lоwеrURI) {  headеr("НТТР/1.1 3О1 Mоvеd Pеrmаnеntly")  hеаdеr("Lоcаtіоn: httр://" . $_SЕRVЕR . $lоwеrURІ)  ехіt() }

Переход на главную страницу с второстепенной. Используется следующая комбинация:

1-я строка – команда – RеwrіtеЕngіnе Оn

2-я строка – RеwrіtеСоnd %{НТТР_НОSТ} ^www\.рrіmеr-sаіtа\.соm$

3-я строка – RеwrіtеRulе ^vnutrеnyаyа-strаnіcа/$ httр://www.prіmеr-sаіtа.сom/

Переадресация каталога. Если меняется структура ресурса, которая отражается в адресе, прописываем такую команду:

RеwrіtеRulе ^(.*)/stаryі-cаtаlоg/(.*)$ $1/nоvyі-cаtаlоg/$2

А когда адрес старого каталога размещен после имени сайта (например, www.prіmеr-sаіtа.соm/stаryі-cаtаlоg/), синтаксис будет таким:

RеwrіtеRulе stаryі-cаtаlog /(.*) / stаryі-cаtаlоg /$1

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

Когда при переходе на другую управляющую контентом систему или платформу меняются файловые расширения, требуется такой code:

Переадресация при замене расширений файлов. Когда при переходе на другую управляющую контентом систему или платформу меняются файловые расширения, требуется такой code:

RеdіrесtMаtсh 3О1 (.*)\.рhр$ httр://www.prіmer-sаіtа.соm$1.html

Переходим на HTTPS

Перенос сайта на другой протокол выполняется в несколько этапов. Сперва нужно приобрести SSL-сертификат у хостинга (достаточно открыть нужный раздел в личном кабинете и заказать сертификат). Также нужно изменить все внутренние ссылки на относительные и установить автоматическую переадресацию сайта на защищенный протокол. Подробнее о том, как это быстро и правильно организовать, поговорим в нижеуказанной инструкции.

Шаг 1: Подготовка сайта

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

Чтобы избежать предупреждения, указанного выше, необходимо изменить все внутренние ссылки с абсолютных на относительные. Например, ссылку http://ssl.ru/testpage/ потребуется заменить на /testpage/. Также стоит внимательно проверить все ссылки на скрипты в коде страниц. 

Второй момент — проверка медиаконтента, в который входят изображения, видеоклипы, презентации и прочее. Необходимо посмотреть, какой на страницах сайта используется контент и по какому протоколу он запрашивается. Если используется HTTP, то рекомендуется загрузить все файлы на сервер и установить относительные ссылки. В противном случае указывайте только проверенные сайты: YouTube, Facebook, VK и так далее.

Теперь можно переходить к подключению SSL.

Шаг 2: Установка SSL-сертификата

Устанавливаем SSL:

Проверить подлинность сертификата можно на различных сервисах, например, Namecheap. Все просто: вводим домен с портом 443 и жмем «Check». При успешной проверке будет отображена надпись «It’s all good. We have not detected any issues».

После установки также рекомендуется убедиться, что сайт работает на обоих протоколах. Затем нужно сделать переадресацию с HTTP на HTTPS. Зачем это нужно, расскажем уже в следующем разделе.

Шаг 3: Настройка редиректа на HTTPS

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

Первый вариант:

RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} 

Второй вариант:

RewriteEngine On

RewriteCond %{HTTPS} =off

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

Третий вариант:

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteCond %{HTTP:X-Forwarded-Proto} !https

RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} 

Также мы можем сделать редирект с HTTP через административную панель CMS системы. В OpenCart для этого нужно открыть файл config.php и прописать в него следующее:

define('HTTPS_SERVER', 'https://yourdomain.com/');

В WordPress изменить wp-config.php:

define('FORCE_SSL_ADMIN', true);

Для получения подробной информации о редиректах на других CMS обратитесь к их документации.

Шаг 4: Настройка для поисковых систем

Если ваш сайт индексируется Google, Яндекс или другими поисковиками, то после перехода на HTTPS необходимо им об этом сообщить. В частности, нужно:

  1. Изменить все теги «rel=canonical» в HTML-коде. Они должны указывать на ссылки с защищенным протоколом.
  2. В файлы robots.txt и sitemap.xml необходимо добавить страницы с HTTPS.
  3. Проверить корректность указанных данных в Яндекс.Метрика и Google Search Console.
  4. Проверить отображение и доступность вашего сайта через поисковик.

Готово! На этом переход с HTTP на HTTPS завершен. Надеюсь, что у вас не возникло сложностей

Спасибо за внимание!

Как переехать на новый домен? Оптимальная стратегия 301 редиректа

Оптимальной стратегией переезда на новый домен, учитывая пожелания 2-ух основных поисковых систем рунета Яндекс и Google, это:

  • постраничный 301 редирект со старого сайта на новый.
  • при этом для файла robots.txt редирект не делаем, а прописываем в нем директиву Host на новый домен.

Тогда код для настройки редиректа на старом сайте может иметь следующий вид:

а файл robots.txt для старого сайта:

Генерация 301 редиректов

Если вы не очень технически подкованы, то можно воспользоваться сервисами генерации базовых редиректов:

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

Как проверить 301 редирект

После каждого изменение логики работы 301 редиректа необходимо проверять работоспособность сайта:

Также для более тщательной проверки отработки редиректов можно использовать следующие сервисы:

http://bertal.ru — максимально подробная информация по ответам сервера.

Как и когда лучше использовать 301 редирект vs Canonical

301 — Эй, Поисковики: моя страница уже не здесь, и она навсегда переехала на новую страницу. Пожалуйста, удалите старую страницу из индекса и передайте её вес на новую страницу.

Canonical — Эй, Поисковики (так для большинства поисковых систем): у меня есть несколько версий этой страницы (или содержания), пожалуйста, индексируйте только ту версию страницы, на которую стоит canonical. Я буду держать другие страницы доступными для людей, чтобы они могли их видеть, но, Поисковик, не включай их в свой индекс и пожалуйста, передай вес на мою предпочтительную страницу.

В каких случаях используется постоянный редирект 301

  1. Смена доменного имени, перенос сайта. Необходимо произвести тотальную настройку переадресации со старого адреса на новый, чтобы все без исключения запросы к old_site.ru перенаправлялись на new_site.ru.

  2. Изменение написания url определенных страниц в целях SEO-продвижения, смены CMS или по иным причинам. Требуется настроить редирект с site.ru/1hdkr5 на site.ru/page_adress.

  3. Перенос разделов на субдомены. Необходимо сменить адрес www.site.ru/example на example.site.ru.

  4. Для аккумуляции трафика с адресов, купленных в разных доменных зонах, на один приоритетный ресурс. 

  5. Исключение дублирующихся страниц из индекса. 

  6. Склейка зеркал сайта – вариантов сайта с идентичным контентом, но разным написанием адресов: site.ru, www.site.ru, https://site1.ru и т.д. В этом случае выбирается один приоритетный домен и на него настраивается редирект со всех остальных зеркал.

  7. Удаление ранее существовавшей страницы. В этом случае пользователи обычно видят ошибку 404. Большое количество таких сообщений негативно воспринимается как пользователями, так и поисковиками.

  8. Для быстрого перехода пользователя на мобильную версию ресурса со смартфонов и планшетных устройств.

Примеры 301 редиректов в .htaccess

Мы уже рассматривали множество примеров с редиректом по .htaccess в статьях:

  • 301 редирект для удаления/добавления слэша в конце URL;
  • 301 редирект с index (.html и .php) на корень сайта «/»;
  • Редирект 301 с http на https;
  • Редирект 301 с www на без www;
  • Смена адреса сайта — редирект со старого домена на новый;

Здесь мы дополним варианты редиректов, которых ещё не было.

Редирект с site.ru/cat/oldpage на site.ru/newpage.html

2.4. Удаление лишних слэшей в адресе URL

Например, страница /catalog///stranica.html доступна и открывается. Чтобы избежать такой ситуации и не плодить бесконечное число дублей следует записать следующий редирект

2.5. Реврайт без редиректа

Можно загрузить другую страницу без смены адреса страницы URL. Например, загрузим страницу /news.html, а в адресной строке будет отображаться адрес /news/happy

2.6. Простановка замыкающего слеша в конце адреса главной страница

Например, многие сервера работают так, что последний слэш не пишется в URL. Например, http://site.ru. Ниже приведенный код решают это проблему: сайт будет открывать по http://site.ru/

Например, для редиректа со страницы site.com/directoriya/stranica.html на site.com/stranica.html нужно прописать следующее:

2.9. Редирект на мобильную версию сайта m.site.ru

В данном примере сначала проверяется факт того, что пользователь открыл сайт с мобильного устройства {HTTP_USER_AGENT}, далее происходит замена адреса сайта на m.URL

Настройка 301 редиректа для SEO

Правильно настроенные редиректы являются одним из важных факторов SEO оптимизации и продвижения сайта в поисковых системах. Рассмотрим основные варианты склеек, необходимых для нормального ранжирования ресурса с помощью файла .htaccess.

Как уже говорилось для поисковой системы версия с www и без, это разные сайты.

Первый вариант:

Второй вариант:

Перенаправление с site.ru на www.site.ru

Первый вариант:

Второй вариант:

У каждого ресурса должно быть выбрано основное зеркало, адрес которого и будет участвовать в поисковой выдачи. Для его выбора и используется эти перенаправления. Основным зеркалом может быть адрес как с www, так и без этого префикса.

И наоборот, с https на http

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

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

Перед началом настройки 301 редиректов необходимо определиться с операторами регулярных выражений, которые помогут сделать правильную настройку:

  • ^ — ограничение слева;
  • $ — ограничение справа;
  • — 0 и более символов;
  • + — 1 и более символов;
  • . — любой символ;
  • \ — экранирование;
  • () — переменная;
  • [] — диапазон значений.

Настройка 301 редиректа может быть выполнена разными способами. Большинство вебмастеров предпочитает делать это через файл .htaccess. Он прописан практически в каждой популярной CMS и в корне вашего сайта. Скачивание .htaccess можно осуществить через FTP при помощи клиента FileZila.

Данный файл открывается тестовым редактором, например, Notepad++. Теперь поверх всех кодов редиректов надо прописать следующую строку:

RewriteEngine On

Вас также может заинтересовать: Анкор ссылки: виды, правила составления, влияние на продвижение

Как проверить редиректы

Проверять, правильно ли выставлены редиректы, и искать связанные с ними ошибки я буду в краулере Netpeak Spider. Алгоритм действий следующий:

  1. Запускаем Netpeak Spider и на вкладке «Параметры» отмечаем пункт «Код ответа сервера».

  1. Вставляем начальный URL сайта в адресную строку и запускаем сканирование с помощью кнопки «Старт».
  2. После того, как краулер завершит сканирование, переходим на боковую панель и кликаем по «Сводке» → «Редирект», чтобы ознакомиться со всеми редиректами, найденными на сайте.

  1. Ошибки, связанные с редиректом, ищем на вкладке «Ошибки». Краулер определяет самые критичные и распространённые ошибки, среди которых:
    • битый редирект;
    • бесконечный редирект;
    • максимальное количество редиректов;
    • редирект, заблокированный в robots.txt;
    • редиректы с неправильным форматом;
    • редирект на внешний сайт.В случае обнаружения одной из этих ошибок кликните на название, чтобы отфильтровать список URL, на которых та или иная ошибка была найдена.

  1. Для экспорта полученных данных кликните по кнопке «Экспорт» в правом верхнем углу экрана, затем выберите опцию «Результаты в текущей таблице», чтобы выгрузить отфильтрованные результаты, либо один из специальных отчётов по редиректам.

Примеры использования для защиты сайта от множественных дублей страниц

Редирект с разных доменов и субдоменов

Если вы купили несколько доменов в разных доменных зонах или разрабатывали новый сайт и повесили его на субдомен, а этот субдомен забыли закрыть от индексации, то необходимо сделать редирект на основной домен:

Таким образом, все домены типа www.site.ru, www.site.net, test.site.com будут переадресовываться на сайт www.site.com.

Как удалить несколько слешей/тире в урле

Иногда «по случайности» в урле могут появиться по несколько слешей, например, www.site.com/catalog////page-1.html. В таких случаях необходимо делать 301 редирект на страницу с одним слешем www.site.com/catalog/page-1.html :

Аналогично, можно склеить в урле несколько дефисов в один: с www.site.com/catalog/page—1.html на www.site.com/catalog/page-1.html:

Как сделать редирект с любого урла на url только в нижнем регистре

Поскольку поисковыми системами регистр букв учитывается, то при проектировании сайта желательно, чтобы все урлы были в нижнем регистре. Однако, если вы изначально упустили данный момент, то лучше всего воспользоваться следующим кодом для редиректа на уровне php-скрипта:

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

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

Adblock
detector