Подробная инструкция по редиректам: когда и как их использовать
Содержание:
- Для чего используется функция редиректа
- Зачем нужен редирект
- Настройка 301 редиректа
- Если настройка редиректа с http на https произошла с ошибкой
- Важные советы по 301 редиректу
- 301 редиректы на платформе Хорошоп
- Как не правильно делать перенаправление
- Как дальше настроить 301 редирект при помощи директив
- Canonical против 301-й переадресации
- Рекомендации по настройке редиректов
- Отличительные особенности постоянного редиректа
- Когда нельзя использовать редирект
- Другие способы создания переадресации 301
- Канонизация домена сайта или как склеить домен?
- Как сделать редирект
- Как проверить через Netpeak Spider:
- Канонизация домена сайта или как склеить домен?
Для чего используется функция редиректа
Данный инструмент может решать на сайтах сразу несколько задач. Обычно эта функция нужна, чтобы перенаправить посетителей с неактуальной страницы на новую, но это не единственная его задача.
Редирект помогает также решить и некоторые вопросы SEO-оптимизации:
- Позволяет склеивать страницы без использования префикса и с ним;
- Используется для переезда сайта на другой домен; при этом количество посетителей не уменьшится, а рейтинг в поисковике останется прежним;
- Обрабатывает повторяющиеся страницы;
- Если сменился CMS сайта, то результаты продвижения сохраняются — в противном случае настройки ссылок будут разными;
- Необходим в случаях, когда нужно скрыть или удалить конкретные разделы сайтов, перенаправить пользователя на главную или другие страницы.
Зачем нужен редирект
На сайтах он решает несколько задач. Чаще всего он перенаправляет посетителя со страниц с неактуальным адресом или информацией, однако этим его функционал не ограничивается.
Редирект для целей SEO
В поисковой оптимизации сайтов используется для:
- склейки адресов страниц, например, без префикса https и с ним;
- переездов сайтов на другой домен, если не хочется потерять позиции сайта в поисковых системах и постоянных посетителей;
- обработки повторяющихся страниц;
- сохранение результатов продвижения при смене CMS сайта, так как в этом случае настройки ссылок будут различаться;
- необходимость удалить или скрыть определенные разделы сайта, перенаправив пользователя на другие или главную страницу.
Настройка 301 редиректа
Настроить постоянное перенаправления можно несколькими способами. Разберем основные из них более подробно.
Через плагины CMS
301 редирект можно запросто настроить, используя специальные плагины. Для сайтов, организованных на платформе WordPress, самым популярным и удобным является плагин Simple 301 Redirects.
Нужно отметить, что единственным минусом данного расширения является отсутствие автоматического составления редиректов. Каждое перенаправление задается вручную.
Через htacсess
Один из самых распространенных способов настройки редиректа. Задействуется файл .htaccess, который находится в корне сайта в папке public_html. Данный файл является серверным и присутствует на серверах под управлением Apache.
Как правило, .htaccess создается автоматически при установке CMS. Если же его нет в корне сайта, то необходимо создать его вручную.
Перед тем, как редактировать серверные файлы, следует сделать резервную копию.
Чтобы настроить 301 редирект с помощью .htaccess, нужно прописать в содержимом файла следующее (используя адрес своего сайта):
Чтобы перенаправить весь сайт на другой адрес:
Чтобы перенаправить один документ на другой:
Через php условия
Данный вариант может подойти тем вебмастерам, которые отлично разбираются в структуре своего проекта и владеют знаниями PHP. Для того, чтобы настроить редирект посредством PHP, нужно внести изменения в соответствующий файл, например index.php, если перенаправление настраивается с главной страницы:
Естественно, вместо http://www.site.ru/new-link/ следует использовать адрес, на который настраивается редирект.
Через Nginx
Файл nginx.conf является серверным, как и .htaccess. Единственное отличие, что данный вариант присутствует на серверах под управлением Unix.
Для того, чтобы настроить 301 редирект, нужно отредактировать nginx.conf, который также располагается в корне сайта. Для перенаправления всего сайта целиком, следует прописать код:
Если настройка редиректа с http на https произошла с ошибкой
Чаще всего вебмастера обращаются с вопросом, почему после настройки редиректа поисковики по версии http не видят файл robots.txt (это значит, что он отдает ответ сервера вместо 200).
Эта проблема связана со статическими настройками сервера, обычно статический контент должен отдавать по http и по https.
Но даже, если это не происходит, нет смысла беспокоиться: все данные теперь доступны по https.
В файле .htaccess в порядке исключения может быть настроено дополнительное правило:
RewriteCond %{REQUEST_URI} !robots.txt
Наша запись должна получить примерно такой вид:
RewriteCond %{HTTP_HOST} ^(www\.)?sitename\.com$
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteCond %{REQUEST_URI} !robots.txt
RewriteRule ^(.*)$
Затем нужно выполнить проверку ответа сервера.
Важные советы по 301 редиректу
Неправильно настроенные редиректы значительно снижают эффективность их использования.
- Не нужно использовать многоуровневые редиректы, когда одна страница ссылается на другую, та на следующую и т.д. Это увеличивает нагрузку на роботов поисковых систем, ваш сервер и значительно снижает эффективность перенаправления.
- Перенаправление не может быть зацикленным. Это значит, что документ не может ссылаться на адрес, который присвоен ему же.
- Правильно настроенный редирект — перенаправление, которое приводит пользователя на страницу, содержимое которой полностью соответствует его ожиданиям.
301 редиректы на платформе Хорошоп
Для того чтобы внедрить 301 редирект на данной платформе, нужно:
Шаг 1. Cформируйте .CSV файл, содержащий 2 столбца. Левый — для указания относительной ссылки, с которой выполняется перенаправление и Правый — в котором будет указана относительная ссылка страницы, на которую необходимо выполнить перенаправление.
Шаг 2. Перейдите в раздел «Утилиты», «Редиректы ссылок», «Импорт редиректов» и загрузите сформированный файл.
Шаг 3. Выполните проверку реализации редиректов описанными выше способами.
Существует возможность задать автоматическое правило склейки зеркал со слешем «/» и без.
Для этого в том же разделе админпанели нажмите «Генератор редиректов», выберите нужное правило и укажите шаблоны, для которых следует его применить. После чего нажмите «сгенерировать».
Как не правильно делать перенаправление
Многие думаю, что достаточно физического перенаправления страницы, однако важно, чтобы ваш сайт передал в заголовках статус 301. Это даст сигнал поисковым системам о том, что нужно перенести ссылочный вес и репутацию вашего сайта на новый домен.Вот несколько неверных способов сделать перенаправление
<HTML> <HEAD> <META HTTP-EQUIV="REFRESH" CONTENT="1; URL=https://temchenko.com/km"> </HEAD> <BODY> </BODY> </HTML>
Вэбмастер этого сайта сделал перенаправление прямо в html файле.
<script> window.location = 'https://joker-prognoz.ru'; </script>
Видимо этот вэбмастер больше любит javascript
Принудительное перенаправление сервером
Иногда панель хостинга предоставляет возможность «по галочке» создать перенаправление. Однако в ряде ситуаций это не то, что нам нужно. И это может привести нас, например, к невозможности восстановить выгрузку из 1С после переезда на https или перенести ссылочный вес на новый домен из-за отсутствия в ответе сервера статуса 301.
Пример кода для перехода на https
Ниже приведены примеры кода для файла .htaccess. Данный файл располагается в корневом каталоге вашего сайта.
Пример 1
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} !=https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} </IfModule>
Пример 2
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} </IfModule>
Пример 3 (с переходом с www)
// Совместно с перенаправлением с www <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.(.*) RewriteRule ^(.*)$ https://%1/$1 RewriteCond %{HTTP:X-Forwarded-Proto} !=https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} </IfModule>
SSL сертификат
Нужно помнить, что обязательным условием работы https на сервере является наличие SLL. Сертификат можно получить как платно так и бесплатно.
Бесплатный SSL
Пожалуй самой популярной платформой бесплатных SSL является Let’s Encrypt. Вы можете самостоятельно настроить его на своём сервере. Однако не каждый хостинг позволяет это сделать и принуждает к покупке платного или к оплате услуги статического ip адреса.
В этом случае я рекомендую вам выбирать хостиг, который позволяет вам установить бесплатный сертификат. Я рекомендую вам хостиг beget. Он не только даст вам установить бесплатный сертификат, но и автоматически установить его и обновит, когда срок его действия закончиться. Переходите!
Тестирование файла .htaccess
Для тестирования файла .htaccess вы можете воспользоваться сервисом htaccess.madewithlove.be. Это вам может понадобиться в случаях если вы сделали несколько изменений в файле и вам нужно проверить результат работы без заливки нового кода на сервер.
Вы можете знать, что ошибки в файле .htaccess могут вызвать ошибки в работе сервера, а иногда и к блокировке хостинга (например, при вызове циклических перенаправлений).
Как дальше настроить 301 редирект при помощи директив
301 редирект с www на без www
С www на без www
RewriteCond %{HTTP_HOST} ^www.site.ru$
RewriteRule (.*) http://site.ru/$1
С без www на www:
RewriteCond %{HTTP_HOST} ^site.ru$
RewriteRule (.*) http://www.site.ru/$1
В ситуациях, когда приведенные выше коды не срабатывают, рекомендуем воспользоваться такой записью для редиректа с www на без www:
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1
Конечно же, в данном случае адрес site.ru необходимо заменить доменом вашего сайта. Когда все этапы будут выполнены, следует сохранить файл .htaccess и закачать его на сервер, не забыв заменить им старый файл.
Редирект 301 без слеша
Когда вы проектируете сайт, на этапе прописывания адреса необходимо определиться с использованием слеша в конце URL, поскольку поисковые системы воспринимают как разные следующие два вида URL:
- http://www.site.com/cat1
После выбора подходящего варианта можно приступить к прописыванию следующих редиректов:
Если вы не хотите использовать слеш в конце:
RewriteCond %{HTTP_HOST} (.*)
RewriteCond %{REQUEST_URI} /$
RewriteRule ^(.*)(/)$ $1
Если слеш в конце адресной строки необходим:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/
Редирект 301 с одной страницы на другую
Когда возникает необходимость в 301 редиректе со старого URL-адреса на кириллице на новый URL-адрес (вне зависимости от его языка), конечная запись приобретает вид:
RewriteRule ^старый-урл.html /new-page.html
В предыдущих абзацах за основу был взят 301 редирект с URL одного вида на другой в пределах одного сайта. При этом процессе применяются mod_rewrite и директива RewriteRule. Однако запись редиректа можно сделать гораздо проще, используя директиву Redirect:
Redirect 301 /old-page.html http://site.ru/new-page.html
Применение каждого из этих двух вариантов оправдано, поскольку оба редиректа корректны и передают ссылочный вес и другие показатели. Отличие заключается лишь в использовании директив разных модулей, поэтому синтаксис будет различным. Если вы решили остановить выбор на директиве Redirect, для начала нужно прописать старый адрес страницы без http://site.ru, а затем новый адрес полностью.
301 редирект с https на http
Если вам необходимо настроить 301 редирект с протокола http на протокол https, вы можете выбрать один из множества существующих способов. Чаще всего используются следующие:
Правило №1:
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}
Если это правило не сработает (а это бывает крайне редко, однако результатом может стать циклическая переадресация), можно воспользоваться правилом №2:
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1
301 редирект с домена на домен
RewriteRule (.*) http://www.newdomain.com/$1
Эта строчка должна заменить две предыдущие. При этом следует помнить, что необходимо:
- прописать строку Options +FollowSymLinks;
- прописать строку RewriteEngine On;
- расположить строки с редиректом СРАЗУ после строки RewriteEngine On;
- использовать только имя файла .htaccess;
- проследить расположение файла .htaccess в корневом каталоге;
- не забыть поменять domain.com на свой домен.
Пожалуй, на этом можно остановиться. Однако если Google хорошо понимает 301 редирект, Яндексу требуется редактирование или создания другого файла. Поэтому следующий ниже этап обязателен к выполнению.
Отправляетесь в корневой каталог сайта и ищете файл с именем robots.txt. При его отсутствии сгенерируйте необходимое в Блокноте. В этом файле нужно прописать следующий код:
User-agent: Yandex
Disallow:
Host: domain.com
При наличии необходимого файла и отсутствии этих строк, нужно добавить их в конце через абзац.
Когда вы указываете главное зеркало в строчке Host, не забудьте поставить свой домен.
Вас также может заинтересовать: CMS для сайта: обзор лучших движков
Canonical против 301-й переадресации
Есть, безусловно, некоторые нюансы, но поисковики прописали вполне конкретные правила применения этих команд. Яндекс и Google расшифровывают их следующим образом:
- canonical – наличие нескольких вариантов содержимого страницы. Должна быть просканирована приоритетная для владельцев сайта версия, помеченная canonical. Доступ к остальному контенту сохранится, но нет необходимости включать его в индекс.
- 301 – окончательный переезд страницы на новое место без перспективы возврата. Нужно перестать ее индексировать и перенести вес на новую публикацию.
Использование кода 301. Такой редирект по умолчанию является оптимальным, поэтому может применяться практически в любых ситуациях. Также код 301 используется, если страница переместилась безвозвратно, если ресурс продается или проводится его ребрендинг, и в связи с этим меняется доменное имя, если появляется ошибка 404 и есть контент, который уже неактуален, но генерирует массу трафика и имеет ссылки со сторонних площадок.
Использование canonical. Такой редирект применяется в случае появления сложностей с постоянным редиректом. Также canonical используется при наличии у статьи полезных для посетителей дублей (например, содержащих описания одного товара, но с разной расцветкой), в случаях, когда у контента разные адреса или если есть кросс-домены, на которых размещены схожие публикации.
Рекомендации по настройке редиректов
При настройке серверного редиректа рекомендую ознакомиться с правилами, которые помогут избежать ошибок внутренней оптимизации и понижения позиций сайта со стороны поисковых систем.
- По возможности избегайте редиректов. Из-за них может увеличиться время загрузки сайта и сократиться краулинговый бюджет. Поэтому во многих случаях будет уместнее настроить атрибут canonical.
- Перенаправляйте на релевантные страницы, контент которых не существенно отличается от первичной страницы. Это очевидно с точки зрения поведенческих факторов и помогает избежать появления 404 ошибки.
- Избегайте цепочки редиректов — бесконечного перенаправления с одного адреса на второй, со второго на третий и так далее. Это плохо по двум основным причинам:
- теряется ссылочный вес;
- поисковые системы, в частности Google, следуют 3-4 перенаправлениям и, как правило, не добираются до конечной страницы и не сканируют её.
- Не закрывайте конечный адрес от индексации.
Отличительные особенности постоянного редиректа
Между такими формами переадресации, как 301 и 302, есть немало схожего, но при этом чаще всего предпочтительнее первый вариант, который предполагает смену адреса на постоянной основе. Поисковые роботы по-разному реагируют на эти два кода, что отображается на результатах выдачи в Яндексе и Google. Сталкиваясь с 301-м редиректом, поисковая система должна выбросить из памяти предыдущий адрес и в будущем не заходить на него. А при временной переадресации по коду 302 поисковик получает сигнал о том, что содержимое на старой странице нужно продолжать индексировать. Если 301-й редирект приводит к исключению неактуальной публикации из выдачи, то при использовании кода 302 индексируется и прежний адрес, и новый.
Когда нельзя использовать редирект
Редирект — настройка полезная и должна быть в арсенале каждого владельца сайта. Однако и вреда его неправильное использование может нанести немало.
Использование опции не запрещено, но опасно с точки зрения SEO, если он создаётся для:
страниц с отдельными ссылками, которые принадлежат разным каталогам;
дорвеев и страниц несуществующих сайтов;
Robots.txt
Если сайт переезжает на другой домен, важно сохранить в доступе прежний файл, чтобы ускорить склейку старых и новых версий;
страниц с несколькими адресами, которые принадлежат к разным каталогам.. Иногда схожую функцию может выполнять тег rel=canonical
Они не индексируются, но позволяют поисковикам быстрее распознать новую ссылку как главную
Иногда схожую функцию может выполнять тег rel=canonical. Они не индексируются, но позволяют поисковикам быстрее распознать новую ссылку как главную.
Другие способы создания переадресации 301
Через PHP
Данный вариант подойдет тем, кто хорошо разбирается в web-программировании и PHP. Необходимо открыть файл index.php в корне CMS-движка и прописать там:
if($_SERVER == "/index.php") { header("Location: /",TRUE,301); exit(); }
(в первой строке укажите старый url, а во второй — новый)
Второй способ — перенаправление при помощи отправки заголовков (скрипта):
<?php header("HTTP/1.1 301 Moved Permanently"); header("Location: http://www.newdomain.ru/newdir/newpage.htm"); exit(); ?>
ASP-редирект
<%@ Language=VBScript %> <% Response.Status="301 Moved Permanently" Response.AddHeader "Location", "http://www.new-url.com" response.end %>
ASP.NET редирект
Найдите в корне своего сайта файл web.config и вставьте в секцию синтаксис:
<script runat="server"> private void Page_Load(object sender, System.EventArgs e) { Response.Status = "301 Moved Permanently"; Response.AddHeader("Location","http://www.new-url.com"); } </script>
ColdFusion редирект
<.cfheader statuscode="301″ statustext="Moved permanently"> <.cfheader name="Location" value="http://www.new-url.com">
JSP (Java) редирект
Данный способ подойдет для небольшой корректировки простых сайтов. Код можно прописать лишь в одном файле, а сам файл добавить на все нужные страницы, указав:
<script type="text/javascript" src="redirect.js"></script> <script type="text/javascript"> location="https://yandex.ru"; </script>
HTML-редирект
Этот способ подойдет для небольших статических сайтов, когда требуется настроить переадресацию для одной страницы. Для этого необходимо добавить специальный мета-тег внутри кода HTML. Пример записи редиректа на другой ресурс после 5-секундной задержки:
<meta http-equiv="refresh" content="5;https://livepage.pro">
Если поставить значение 0 вместо 5, то переадресация на https://livepage.pro произойдет моментально.
Однако для больших сайтов HTML-перенаправление делать сложно и затратно по времени, поэтому лучше отдать предпочтение другому варианту.
Канонизация домена сайта или как склеить домен?
Чтобы склеить домен с www на без www:
Для склейки с без www на с www:
Для того чтобы правильно выбрать на какой из вариантов склеивать, желательно посмотреть:
- который из этих вариантов больше находится в ТОПе
- у какого из вариантов больше страниц в индексе
Канонизация слеша в конце урла
При проектирование сайта важно определиться с одним форматом использование слеша в конце урла, так как для поисковых систем 2 урла вида
- http://www.site.com/cat1/
- http://www.site.com/cat1
являются разными. Поэтому после того как вы определились, как именно у вас будет на сайте, необходимо прописать следующие редиректы:
Для того чтобы удалить слэш в конце:
Для того чтобы добавить слэш в конец адресной строки:
Редирект одной страницы на другую страницу:
Редирект для дублей главной страницы:
Этот код гарантирует, что любой адрес домашней страницы, который включает несколько версий прямых ссылок имени страницы, например, default.htm или index.html, будет перенаправлен на каноническую главную страницу, http://www.site.com:
Если структура каталога у вас отображается в url-ле, то при перекаталогизации у вас, соответственно, будут изменяться и url. В таком случае необходимо прописать следующий редирект:
Но, если url старого каталога начинается сразу после домена: www.site.com/old-catalog/, то необходимо воспользоваться следующим кодом
Редирект при смене расширения файлов
Если вы вдруг переехали на другую платформу или CMS, и при этом у url-ов изменились только расширение, то в этой случае вам поможет вот такой редирект:
Как сделать редирект
Ниже разберём несколько ситуаций, в которых владельцы сайтов чаще всего используют опцию редиректа.
C http на https
Из-за повсеместного переезда на https необходимость в этом редиректе возникает у многих. Для настройки через файл htaccess или PHP нужно использовать следующий код:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI)
C или на www
Этот редирект также очень важен для SEO, ведь с точки зрения поисковых систем страницы с префиксом www и без него являются разными и, соответственно, дублями.
Для выполнения настройки рекомендуется использовать специальные программы для генерации кодов редиректа, коих в Интернете существует множество, и сделать её через файл htacess.
Настройка перенаправления с одной страницы
Для выполнения этой операции действия нужно осуществлять по похожей схеме. Сначала сгенерировать код, после чего добавить его в файл htaccess или index.php. Если сайт работает на WordPress, можно воспользоваться плагинами, например, Simple 301 Redirects или Redirect.
Настройка редиректа при смене домена
В этом случае схема будет похожей, только в программах для генерации кода нужно получить постраничный редирект. Для этого потребуется ввести URL старого и нового сайта, а затем отметь нужные поля. Далее код также нужно добавить в файлhtacess или PHP.
Редирект папки
Можно задать и редирект для всей папки, то есть каталога. Это нужно, например, при создании подразделов, в том случае, если они отображаются в адресе страницы. Например, в раздел томаты на огородном сайте, имеющий ссылку примерного вида gardensampleblog.ru/tomaty/zheltye добавляется новый раздел «Томаты Черри», а ссылка получает следующий вид https://gardensampleblog.ru/cherry/zheltye.
Стандартный код для файла htacess в этом случае будет выглядеть следующим образом:
RedirectMatch 301 ^/tomaty/(.*)$ /cherry/$1
Как проверить через Netpeak Spider:
- На боковой панели откройте вкладку «Параметры» и отметьте пункт «Код ответа сервера».
- Введите URL анализируемого сайта в адресную строку и запустите сканирование кнопкой «Старт».
- По завершению сканирования ознакомьтесь с результатами: в основной таблице вы сможете увидеть коды ответа, а на вкладке «Отчёты» → «Ошибки» на боковой панели отобразятся все, имеющиеся на сайте, ошибки, связанные с переадресацией.
- Если вам нужен список всех существующих на сайте редиректов, перейдите на вкладку «Отчёты» → «Сводка» и кликните по названию соответствующего типа страниц.
- Чтобы посмотреть источники, на которых поставлены ссылки с редиректами, воспользуйтесь сочетанием клавиш Shift + F1.
- Для экспорта полученных данных кликните по кнопке «Экспорт» в правом верхнем углу экрана, затем выберите одну из опций: «Результаты в текущей таблице» — чтобы выгрузить отфильтрованные результаты, либо один из специальных отчётов по редиректам.
- В программе также доступен отчёт, показывающий страницы, которые содержат ссылки на страницы с редиректом и конечным URL редиректа. Для выгрузки отчёта перейдите в меню «Экспорт» → «Специальные отчёты по ошибкам» → «Редиректы: входящие ссылки и конечные URL».
Канонизация домена сайта или как склеить домен?
Чтобы настроить редирект с www на без www нам необходимо знать в каких случаях будет происходит склейка домена и зачем она нужна.
Во-первых, склейка домена это обьединение нескольких сайтов в один, в результате чего основному домену передается ссылочный вес и основные показатели авторитетности домена, который ссылается на сайт.
Во-вторых, это используется при 1) возникновении необходимости убрать дублированный контент; 2) переезде на новый домен.
В-третьих, 301 редирект может быть настроент через .htaccess. Простой редирект задается в файле .htaccess, который является конфигурационным файлом веб сервера и выглядит следующим образом:
Для склейки домена с www с адресом без www:
Для склейки без www на www:
Для правильного выбора основного варианта склейки рекомендуется учитывать:
- какой из вариантов находится в ТОПе поисковой выдачи;
- по какому из вариантов больше страниц в индексе.
Канонизация слеша в конце URL
При разработке веб-ресурса очень важно выбрать корректный формат с использованием косой черты в конце урла, поскольку для поисковых система два варианта указанные ниже это два разных URL-адреса:
- http://www.site.com/cat1/
- http://www.site.com/cat1
Поэтому, после выбора одного варианта на веб-ресурсе вам стоит настроить такие переадресации:
Чтобы удалить слеш в конце:
Для добавления слеша в хвосте адреса:
Переадресация с одной страницы на другую:
Переадресация для зеркал домашней страницы
Нижеприведенный фрагмент кода дает гарантию, что все урлы главной страницы, включающие несколько вариантов прямых ссылок на страницу, к примеру, default.htm или index.html, будут перенаправлены на каноническую домашнюю страницу, http://www.site.com/:
Если URL-адрес содержит структуру каталога, значит в случае изменения каталога, вам также придется соответствующим образом изменить URL-адрес. В подобном варианте вам следует прописать такой редирект:
Но если урл старого каталога начинается непосредственно после имени домена: www.site.com/old-catalog/, то стоит применить следующий код
Переадресация при изменении файловых расширений
Если вдруг вы перешли на альтернативную платформу или систему управления контентом, и поменяли расширения адресов вашего сайта, тогда используйте такой формат перенаправления.
Примеры использования для предотвращения появления на сайте дубликатов страниц
Построение редиректов из различных доменов и поддоменов
Если вы приобрели несколько адресов в различных доменных зонах или создали новый сайт с привязкой к поддомену, и не закрыли субдомен от индексирования, то стоит сделать перенаправление на главный домен:
В идеале все дополнительные доменные адреса, включая www.site.ru, www.site.net, test.site.com, будут переадресованы на основной источник www.site.com.
Как удалить несколько слешей либо тире в адресе сайта
Бывают случаи, когда по неизвестным причинам адрес может включать несколько слешей, например, www.site.com/catalog////page-3.html. Здесь необходимо проставить 301-редирект на страницу с одним слешем www.site.com/catalog/page-1.html:
Также доступна опция объединения нескольких тире в одно из URL-адреса: от www.site.com/catalog/page-1.html:
Как сделать переадресацию с любого URL на адрес с нижним регистром?
Так как поисковики учитывают разницу с разным регистром букв, при разработке веб-ресурса настоятельно рекомендуется добавлять все URL-адреса именно в нижнем регистре
Но если вы изначально не акцентировали внимание на этом моменте, то лучше использовать такой алгоритм перенаправления на уровне php -скрипта: