Найти в Дзене
bxstudio.ru

Как запретить индексацию страницы в 1С-Битрикс с помощью noindex и nofollow

При управлении сайтом часто возникает необходимость скрыть отдельные страницы от поисковых систем. Это могут быть служебные разделы, тестовые страницы, дубликаты контента, страницы с конфиденциальной информацией или временные акции. В 1С-Битрикс для этого используется мета-тег robots с директивами noindex и nofollow. Рассмотрим, как установить такой запрет программно через API системы. Мета-тег robots размещается в блоке <head> HTML-документа и передаёт поисковым роботам инструкции по индексации конкретной страницы. Две основные директивы: Эти директивы можно использовать как по отдельности, так и вместе. Например, комбинация noindex, nofollow полностью закрывает страницу от поисковых систем. В 1С-Битрикс есть два основных способа добавить мета-тег robots на конкретную страницу: Для программного запрета индексации используется следующий код: <?php
$APPLICATION->SetPageProperty('robots', 'noindex, nofollow');
?> Эту строку необходимо разместить в начале файла страницы (например, в верх
Оглавление

При управлении сайтом часто возникает необходимость скрыть отдельные страницы от поисковых систем. Это могут быть служебные разделы, тестовые страницы, дубликаты контента, страницы с конфиденциальной информацией или временные акции. В 1С-Битрикс для этого используется мета-тег robots с директивами noindex и nofollow. Рассмотрим, как установить такой запрет программно через API системы.

Что такое мета-тег robots и директивы noindex, nofollow

Мета-тег robots размещается в блоке <head> HTML-документа и передаёт поисковым роботам инструкции по индексации конкретной страницы. Две основные директивы:

  • noindex — запрещает добавление страницы в поисковый индекс (она не будет показываться в результатах поиска).
  • nofollow — запрещает переход по ссылкам на странице, то есть поисковый робот не будет учитывать ссылки с этой страницы.

Эти директивы можно использовать как по отдельности, так и вместе. Например, комбинация noindex, nofollow полностью закрывает страницу от поисковых систем.

Способы установки запрета индексации в Битрикс

В 1С-Битрикс есть два основных способа добавить мета-тег robots на конкретную страницу:

  • Через административный интерфейс — при редактировании страницы или раздела на вкладке «SEO» можно заполнить поле «Robots» нужными директивами.
  • Программно через API — с помощью метода SetPageProperty объекта $APPLICATION. Этот способ удобен, когда нужно динамически управлять индексацией в зависимости от условий, или если страница создаётся не через стандартный редактор.

Программная установка мета-тега robots через API

Для программного запрета индексации используется следующий код:

<?php
$APPLICATION->SetPageProperty('robots', 'noindex, nofollow');
?>

Эту строку необходимо разместить в начале файла страницы (например, в верхней части index.php или detail.php) до вызова функции ShowHead(), так как именно она отвечает за вывод всех мета-тегов, включая robots.

Где именно размещать код

  • Непосредственно в PHP-файл шаблона компонента или страницы перед вызовом $APPLICATION->ShowHead().
  • В файл result_modifier.php компонента, если нужно управлять индексацией на основе данных компонента.
  • В обработчике события или в пользовательском коде, который выполняется на ранней стадии формирования страницы.

Проверка корректности вывода

Чтобы мета-тег появился в HTML-коде страницы, необходимо, чтобы в шаблоне в секции <head> присутствовал вызов <?=$APPLICATION->ShowHead()?>. Именно эта функция генерирует все стандартные мета-теги, включая robots, установленный через SetPageProperty. Если шаблон использует устаревшую структуру, можно вручную вывести свойство:

<meta name="robots" content="<?=$APPLICATION->GetPageProperty('robots')?>">

Пример для конкретной страницы

Допустим, нужно запретить индексацию страницы с контактами (например, если она содержит временную информацию). В начале файла /contacts/index.php пишем:

<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetPageProperty('robots', 'noindex, nofollow');
?>

После этого весь стандартный вывод мета-тегов будет включать <meta name="robots" content="noindex, nofollow">.

Как проверить результат

  1. Откройте нужную страницу в браузере.
  2. Нажмите правой кнопкой мыши и выберите «Просмотр кода страницы» (или используйте сочетание клавиш Ctrl+U).
  3. Найдите в секции <head> строку с name="robots". Если всё сделано верно, вы увидите <meta name="robots" content="noindex, nofollow">.

Также можно воспользоваться инструментами для веб-мастеров (Яндекс.Вебмастер, Google Search Console), чтобы проверить, как поисковики воспринимают страницу.

Важные нюансы

  • Мета-тег robots действует только на ту страницу, где он прописан. Для глобального запрета доступа к разделам лучше использовать файл robots.txt.
  • Если в robots.txt указан запрет на сканирование страницы, а мета-тег разрешает индексацию, приоритет имеет мета-тег, так как робот не сможет прочитать мета-тег, если доступ к странице закрыт в robots.txt. Поэтому для надёжного скрытия страницы рекомендуется комбинировать оба метода.
  • Директива noindex не запрещает сканирование страницы — робот всё равно может посетить её и прочитать содержимое, но не добавит в индекс. Если нужно полностью исключить посещение страницы роботом, используйте nofollow в мета-теге или директиву Disallow в robots.txt.

Заключение

Программная установка мета-тега robots через $APPLICATION->SetPageProperty('robots', 'noindex, nofollow'); — простой и эффективный способ гибко управлять индексацией отдельных страниц в 1С-Битрикс. Он позволяет быстро закрыть от поисковиков любые разделы сайта, не прибегая к правкам в административном интерфейсе. Главное — не забывать проверять корректность вывода мета-тега в исходном коде страницы и при необходимости настраивать шаблон для поддержки этого свойства.