Переадресация и Google Поиск

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

  • Вы перенесли свой сайт в другой домен и хотите, чтобы это вызвало как можно меньше проблем и неудобств.
  • На ваш сайт можно перейти по нескольким разным URL. Например, для главной страницы используются следующие варианты: https://example.com/home, http://home.example.com и https://www.example.com. Выберите один из них в качестве канонического и используйте переадресацию, чтобы перенаправлять на него трафик с других URL.
  • Вы собираетесь объединить два сайта и хотите, чтобы вместо страниц с устаревшими URL открывались актуальные страницы.
  • Вы удалили определенную страницу и хотите перенаправлять пользователей на другую.

Типы переадресации

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

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

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

Типы переадресации
Постоянная

Робот Googlebot переходит на другой URL, и алгоритм индексирования расценивает переадресацию как вескую причину считать конечную страницу канонической.

HTTP 301 (moved permanently)

Настраивается серверная переадресация.

HTTP 308 (moved permanently)
meta refresh (0 секунд)

Настраивается переадресация meta refresh.

HTTP refresh (0 секунд)
Свойство location в JavaScript

Настраивается переадресация с применением JavaScript.

Crypto redirect – переадресация с помощью ссылки

Ознакомьтесь с дополнительными сведениями о переадресации с помощью ссылки (crypto redirect).

Временная

Робот Googlebot переходит по новому URL, и алгоритм индексации интерпретирует это действие как недостаточно вескую причину считать конечную страницу канонической.

HTTP 302 (found)

Настраивается серверная переадресация.

HTTP 303 (see other)
HTTP 307 (temporary redirect)
meta refresh (более 0 секунд)

Настраивается переадресация meta refresh.

HTTP refresh (более 0 секунд)

Серверная переадресация

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

Постоянная серверная переадресация

Если вы хотите, чтобы в результатах поиска показывался новый URL страницы, рекомендуем вам использовать постоянную серверную переадресацию. Это самый надежный способ направить поисковых роботов Google и пользователей на страницу с нужным адресом. Коды статуса 301 и 308 означают, что страница перемещена навсегда.

Временная серверная переадресация

Такую переадресацию следует настраивать, если вы планируете перенаправлять пользователей на другую страницу лишь временно. В этом случае в результатах поиска Google ещё на какой-то срок останется старый URL. Например, если на вашем сайте временно недоступна определенная услуга, вы можете перенаправлять пользователей на страницу с объяснением причин, не затрагивая исходный URL в результатах поиска.

Инструкции по настройке

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

Чтобы настроить постоянную переадресацию с помощью PHP, используйте функцию header(). До вызова этой функции не следует отправлять клиенту какие-либо данные. Пример:

header('HTTP/1.1 301 Moved Permanently');
header('Location: https://www.example.com/newurl');
exit();

Пример кода PHP для настройки временной переадресации:

header('HTTP/1.1 302 Found');
header('Location: https://www.example.com/newurl');
exit();

Если у вас есть доступ к файлам конфигурации веб-сервера, вы можете создать собственные правила переадресации. Следуйте инструкциям, относящимся к вашему веб-серверу.

  • Apache: ознакомьтесь с руководством по использованию файлов .htaccess, руководством по переопределению URL и информацией о модуле mod_alias на сайте Apache. C помощью модуля mod_alias можно настраивать простейшую переадресацию:

    # Permanent redirect:
    Redirect permanent "/old" "https://example.com/new"
    
    # Temporary redirect:
    Redirect temp "/two-old" "https://example.com/two-new"

    Для более сложных случаев используйте модуль mod_rewrite. Пример:

    RewriteEngine on
    # redirect the service page to a new page with a permanent redirect
    RewriteRule   "^/service$"  "/about/service"  [R=301]
    
    # redirect the service page to a new page with a temporary redirect
    RewriteRule   "^/service$"  "/about/service"  [R]
  • nginx: ознакомьтесь с информацией о создании правил переопределения URL в блоге nginx. Как и при работе с Apache, переадресацию можно настраивать по-разному. Один из способов:

    location = /service {
      # for a permanent redirect
      return 301 $scheme://example.com/about/service
    
      # for a temporary redirect
      return 302 $scheme://example.com/about/service
    }

    Для более сложных случаев используйте правило rewrite:

    location = /service {
      # for a permanent redirect
      rewrite service?name=$1 ^service/offline/([a-z]+)/?$ permanent;
    
      # for a temporary redirect
      rewrite service?name=$1 ^service/offline/([a-z]+)/?$ redirect;
    }
  • За информацией о других веб-серверах обращайтесь к обслуживающей их компании или хостинг-провайдеру. Вы также можете поискать нужное руководство в интернете. Пример запроса: "переадресация на сервере LiteSpeed".

Переадресация meta refresh и ее HTTP-эквивалент

Если на вашей платформе нельзя настроить серверную переадресацию, рассмотрите в качестве альтернативы переадресацию meta refresh. Google различает два типа переадресации meta refresh:

  • Мгновенная переадресация meta refresh выполняется сразу при загрузке страницы в браузере. Система Google Поиска интерпретирует такую переадресацию meta refresh как постоянную.
  • Отложенная переадресация meta refresh выполняется через несколько секунд после загрузки страницы. Количество секунд указывает владелец сайта. Система Google Поиска интерпретирует такую переадресацию meta refresh как временную.

Настроить переадресацию meta refresh можно в элементе <head> HTML-кода страницы или в HTTP-заголовке с помощью серверного кода. Пример мгновенной переадресации типа meta refresh, заданной в коде <head> HTML-страницы:

<!doctype html>
<html>
  <head>
  <meta http-equiv="refresh" content="0; url=https://example.com/newlocation">
  <title>Example title</title>
  <!--...-->

Пример эквивалентной переадресации, заданной в HTTP-заголовке с помощью серверного скрипта:

HTTP/1.1 200 OK
Refresh: 0; url=https://www.example.com/newlocation
...

Чтобы выполнялась отложенная переадресация, которая считается временной, укажите нужное количество секунд в атрибуте content:

<!doctype html>
<html>
  <head>
  <meta http-equiv="refresh" content="5; url=https://example.com/newlocation">
  <title>Example title</title>
  <!--...-->

Переадресация с помощью JavaScript-свойства location

Система Google Поиска интерпретирует и выполняет код JavaScript после сканирования страницы, используя сервис отрисовки веб-страниц (Web Rendering Service).

Чтобы настроить переадресацию такого типа, добавьте в раздел head HTML-страницы блок script и укажите конечный URL в качестве значения свойства location. Пример:

<!doctype html>
<html>
  <head>
    <script>
      window.location.href = "https://www.example.com/newlocation";
    </script>
    <title>Example title</title>
    <!--...-->

Crypto redirect – переадресация с помощью ссылки

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

<a href="https://newsite.example.com/newpage.html">Мы переехали! Контент доступен на нашем новом сайте.</a>

Так вы поможете пользователям найти новую страницу. Google обычно распознает ссылки для переадресации типа crypto (однако это спорное решение, поскольку не все поисковые системы интерпретируют подобные ссылки именно как переадресацию).

Альтернативные URL

Когда настроена переадресация, Google отслеживает и исходный URL (старый), и конечный (новый). Один из них будет считаться каноническим. Какой именно – зависит от нескольких факторов, в частности от того, является ли переадресация постоянной или временной. Второй URL станет альтернативным вариантом канонического. Альтернативные URL представляют собой варианты канонического адреса. Зачастую они применяются, если более знакомы пользователям и вызывают у них доверие. Альтернативный URL может появиться в результатах поиска, если запрос будет указывать на то, что пользователь с большей вероятностью перейдет именно по этому адресу.

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