Правильное управление заголовками (<title>) и мета-тегами (description, keywords, robots) — это фундамент SEO-продвижения. В Битрикс за это отвечает глобальный объект $APPLICATION. С его помощью можно динамически устанавливать и выводить мета-данные в зависимости от контента страницы.
Все эти методы работают с так называемыми свойствами страницы.
1. Установка свойств страницы: SetPageProperty
Этот метод позволяет задать значение для любого свойства текущей страницы.
Синтаксис:
$APPLICATION->SetPageProperty(«КОД_СВОЙСТВА», «Значение»);
Пример: Установка title, description и keywords
Этот код обычно размещается в component_epilog.php компонента или прямо в теле страницы/компонента, после того как стали известны данные (например, название товара или новости).codePHP
// Допустим, мы получили данные элемента
$elementName = "Смартфон Model X";
$elementPreviewText = "Лучший смартфон 2025 года с невероятной камерой.";
// Устанавливаем свойства страницы
$APPLICATION->SetPageProperty("title", $elementName . " - купить в интернет-магазине");
$APPLICATION->SetPageProperty("description", "Купите " . $elementName . ". " . $elementPreviewText);
$APPLICATION->SetPageProperty("keywords", "смартфон, model x, купить, цена");
2. Вывод свойств в шаблоне сайта (header.php)
После того как свойства установлены, их нужно вывести в <head> шаблона сайта. Для этого используются методы Show….
Метод ShowTitle()
Этот метод выводит заголовок страницы. Он сначала ищет свойство страницы с кодом title. Если оно не установлено, он берет заголовок, установленный через $APPLICATION->SetTitle().
В header.php
<head>
...
<title><?$APPLICATION->ShowTitle()?></title>
...
</head>
Метод ShowMeta()
Этот метод выводит свойство страницы в виде мета-тега. Он принимает несколько параметров, но чаще всего используются первые два.
Синтаксис:
$APPLICATION->ShowMeta(«код_свойства_страницы», «атрибут_name_метатега», false);
Пример в header.php
<head>
...
<?
$APPLICATION->ShowMeta("description", "description");
$APPLICATION->ShowMeta("keywords", "keywords");
$APPLICATION->ShowMeta("robots", "robots");
?>
...
</head>
Этот код автоматически сгенерирует:
<meta name="description" content="Значение, которое мы установили...">
<meta name="keywords" content="Значение, которое мы установили...">
Если свойство robots не было установлено, то соответствующий мета-тег просто не будет выведен.
3. Управление заголовком H1: SetTitle и ShowTitle(false)
Часто заголовок <title> и заголовок <h1> на странице должны отличаться.
- <title> (свойство title) — для браузера и поисковиков (более длинный, с коммерческими добавками).
- <h1> (заголовок страницы) — для пользователя (более короткий и по существу).
// В коде компонента или страницы
$APPLICATION->SetTitle("Смартфон Model X"); // Устанавливаем заголовок H1
$APPLICATION->SetPageProperty("title", "Смартфон Model X - купить в Москве"); // Устанавливаем <title>
// В header.php
<title><?$APPLICATION->ShowTitle()?></title>
// В шаблоне компонента или в work_area
<h1><?$APPLICATION->ShowTitle(false)?></h1>
- $APPLICATION->ShowTitle() (без параметров) или $APPLICATION->ShowTitle(true) выводит свойство title.
- $APPLICATION->ShowTitle(false) выводит заголовок, установленный через SetTitle().
4. Open Graph и другие кастомные теги
Метод AddHeadString позволяет добавлять в <head> любые произвольные строки. Это идеально подходит для мета-тегов Open Graph (для соцсетей) и других.
// Устанавливаем Open Graph теги
$ogImageUrl = CFile::GetPath($arResult['DETAIL_PICTURE']);
$APPLICATION->AddHeadString('<meta property="og:title" content="'.$APPLICATION->GetProperty('title').'" />');
$APPLICATION->AddHeadString('<meta property="og:description" content="'.$APPLICATION->GetProperty('description').'" />');
$APPLICATION->AddHeadString('<meta property="og:image" content="https://mysite.ru'.$ogImageUrl.'" />');
GetProperty() — метод для получения уже установленного значения свойства. Полезен, когда одно значение нужно использовать несколько раз.
Вывод:
Объект $APPLICATION дает полный контроль над секцией <head> вашего сайта. Используя SetPageProperty для установки данных и ShowTitle/ShowMeta для их вывода, вы можете реализовать любую сложную логику для SEO-оптимизации, делая каждую страницу уникальной и привлекательной для поисковых систем.
$APPLICATION, SetPageProperty, ShowTitle, ShowMeta, GetProperty, SEO Битрикс, заголовки, мета-теги, title, description, keywords, Open Graph.