Заголовки страницы: на сайте и в браузере
Bitrix Framework позволяет задать заголовок страницы. Пользователь видит его на странице сайта. Без дополнительных настроек этот текст отображается во вкладке браузера.
Чтобы адаптировать страницу для поисковых систем, можно задать отдельный заголовок окна браузера. Значение сохраняется в свойстве страницы title.
Например, на странице покажите краткий заголовок О магазине. Во вкладке браузера укажите более информативное значение — Магазин одежды Твой стиль.
Как устроены заголовки
Основной заголовок страницы. Хранится в переменной отдельно от свойств страницы и раздела. Разработчик размещает код вывода заголовка в шаблоне сайта, обычно в теге <h1>. Чтобы задать основной заголовок, используйте метод SetTitle() или настройки страницы в интерфейсе.
Заголовок окна браузера. Это значение зарезервированного свойства title. В шаблоне сайта код вывода добавляют в HTML-тег <title>. Поисковые системы используют значение title при формировании результата выдачи.
Подробнее о свойствах страницы и раздела читайте в статье Свойства страницы и раздела.
Значение свойства title можно установить тремя способами.
-
При редактировании страницы в публичном или административном разделе.
-
С помощью метода
$APPLICATION->SetPageProperty('title', 'Заголовок окна браузера'). -
Через компоненты или другой код страницы, если в них есть вызов
SetPageProperty().
Поле для свойства title
В интерфейсе поле для свойства title может называться Заголовок окна браузера или Дополнительный заголовок.

Если поле отсутствует, добавьте свойство в настройках модуля Управление структурой.
-
В административном разделе откройте страницу Настройки > Настройки продукта > Настройки модулей > Управление структурой.
-
На вкладке Настройки перейдите к параметру Типы свойств.
-
В поле Тип введите
title, а в поле Название — понятное название, например, Заголовок окна браузера.
Краткий справочник по методам
Методы SetTitle() и SetPageProperty() только задают значения. За вывод заголовков отвечает шаблон сайта — разработчик размещает ShowTitle() в нужных местах.
|
Что нужно сделать |
Что использовать |
Где выводится |
|
Установить или изменить основной заголовок страницы |
|
В |
|
Установить или изменить заголовок окна браузера |
|
В |
|
Получить основной заголовок в коде |
|
В коде страницы или компонента |
|
Получить заголовок с учетом свойства |
|
В коде страницы или компонента |
|
Вывести заголовок с учетом свойства |
|
Обычно в |
|
Вывести только основной заголовок |
|
Обычно в |
Задать основной заголовок страницы
Основной заголовок можно задать через интерфейс или в коде страницы.
В некоторых компонентах, например, в bitrix:news или bitrix:catalog есть параметр Устанавливать заголовок страницы. Если флаг установлен, система заменит заголовок на название элемента или раздела.
Указать заголовок через публичный интерфейс
-
Откройте страницу на просмотр в публичном разделе сайта.
-
Нажмите Изменить страницу > Заголовок и свойства страницы на административной панели.

-
Заполните поле Заголовок и сохраните страницу.

Указать заголовок через административный интерфейс
-
Откройте Контент > Структура сайта > Файлы и папки.
-
Перейдите в папку, в которой размещена страница.
-
Нажмите Редактировать как HTML или Редактировать как текст в меню нужной страницы.

-
Заполните поле Заголовок страницы и сохраните изменения.

Установить заголовок через API
Чтобы установить основной заголовок, вызовите метод SetTitle() в самом начале кода страницы.
<?php
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php");
$APPLICATION->SetTitle("О магазине");
?>

Задать отдельный заголовок для окна браузера
По умолчанию текст вкладки браузера совпадает с основным заголовком. Чтобы они различались, задайте свойство title — Заголовок окна браузера.
Заполнить свойство через публичный интерфейс
-
Откройте страницу на просмотр в публичном разделе сайта.
-
Нажмите Изменить страницу > Заголовок и свойства страницы на административной панели.
-
Заполните свойство Заголовок окна браузера и сохраните страницу.

Заполнить свойство через административный интерфейс
-
Откройте Контент > Структура сайта > Файлы и папки.
-
Перейдите в папку, в которой размещена страница.
-
Нажмите Редактировать как HTML или Редактировать как текст в меню нужной страницы.
-
Заполните свойство Заголовок окна браузера и сохраните страницу.

Установить через API
Добавьте вызов метода SetPageProperty в код страницы.
<?php
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php");
$APPLICATION->SetTitle("О магазине");
$APPLICATION->SetPageProperty("title", "Магазин одежды Твой стиль");
?>
В этом примере на странице останется заголовок О магазине, а браузер покажет Магазин одежды Твой стиль.

Получить основной заголовок через API
Чтобы получить основной заголовок страницы в коде, используйте GetTitle() без аргументов. Такой вызов эквивалентен GetTitle(false) и возвращает значение, которое установлено через SetTitle().
<?php
$title = $APPLICATION->GetTitle();
?>
В GetTitle() можно передать имя свойства. Метод использует значение этого свойства как заголовок, когда оно заполнено. Например, GetTitle('title') вернет значение свойства title.
<?php
$titleProperty = $APPLICATION->GetTitle('title');
?>
Если свойство title задано, вызов GetTitle('title') вернет то же значение, что и GetProperty('title').
<?php
$titleProperty = $APPLICATION->GetProperty('title');
?>
Второй аргумент GetTitle() управляет HTML-тегами в результате. Если передать true, метод удалит HTML-теги из заголовка.
<?php
$title = $APPLICATION->GetTitle(false, true);
?>
Вывести заголовки в шаблоне сайта
Шаблон сайта определяет, где показать основной заголовок и где вывести свойство title. Разместите код вывода в файле шаблона header.php. Например, в bitrix/templates/.default/header.php или в шаблоне, который подключен к текущему сайту.
Подробнее про структуру шаблона сайта читайте в статье Шаблоны сайтов.
Основной заголовок в теге H1
Для основного заголовка страницы используйте ShowTitle(false).
<h1><?php $APPLICATION->ShowTitle(false); ?></h1>
Параметр false исключает обращение к свойству title. В HTML-теге <h1> всегда будет выводиться основной заголовок страницы, который задан через SetTitle().
Разницу показывает пример:
<?php
$APPLICATION->SetTitle("Заголовок страницы");
$APPLICATION->SetPageProperty("title", "Альтернативный заголовок");
?>
<?php $APPLICATION->ShowTitle(); ?> <br>
<?php $APPLICATION->ShowTitle(false); ?>
Первый вызов ShowTitle() выведет Альтернативный заголовок, а второй — Заголовок страницы.

Заголовок окна браузера в теге title
Для заголовка окна браузера разместите ShowTitle() внутри тега <title> в области <head>.
<head>
<title><?php $APPLICATION->ShowTitle(); ?></title>
</head>
Метод сначала проверяет свойство title. Если свойство заполнено, в <title> попадает его значение. Если свойство не задано, выводится основной заголовок из SetTitle().
Вызов ShowTitle('title') работает так же, как ShowTitle() без аргументов. Сначала учитывает свойство title, затем основной заголовок страницы. Вызов ShowTitle(false) использует только основной заголовок.
Учесть приоритет заголовков
Если на странице несколько методов или компонентов устанавливают заголовок, система использует значение из последнего вызова. Последнее значение всегда перезаписывает предыдущее.
При этом важно различать основной заголовок и свойство страницы title:
-
последний
SetTitle()меняет основной заголовок страницы, -
последний
SetPageProperty('title', ...)меняет заголовок окна браузера, -
если в шаблоне для
<h1>используетсяShowTitle(false), свойствоtitleне влияет на основной заголовок страницы, -
если в шаблоне для
<h1>используетсяShowTitle()без параметра, значение свойстваtitleможет заменить основной заголовок.
Пример:
<?php
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php");
$APPLICATION->SetTitle("Заголовок страницы 1");
// Свойство title не переопределит заголовок в <h1>, если в шаблоне ShowTitle(false)
$APPLICATION->SetPageProperty("title", "Альтернативный заголовок 1");
// Изменит основной заголовок
$APPLICATION->SetTitle("Заголовок страницы 2");
// Заменит заголовок окна браузера
$APPLICATION->SetPageProperty("title", "Альтернативный заголовок 2");
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/footer.php");
?>
При стандартной настройке шаблона в <h1> отобразится Заголовок страницы 2, а во вкладке браузера — Альтернативный заголовок 2.
