SEO и OpenGraph

SEO-профиль задаёт META TITLE, DESCRIPTION и KEYWORDS страницы. OpenGraph описывает карточку ссылки: заголовок, описание, тип, изображение и другие свойства. Эти настройки независимы друг от друга.

Общие правила для HL-блока

  1. Откройте Kokhanenko → HL-блоки → Управляемые HL-блоки.
  2. В меню строки выберите «Настройка SEO» или «Настройка OpenGraph».
  3. В штатной форме HL выберите источник каждого нужного свойства.
  4. Сохраните форму обычной кнопкой «Сохранить» или «Применить».

Подключать набор системных полей для этого не обязательно. Метаданные не создают дополнительные UF. У общего профиля нет родителя: незаданные свойства не выводятся.

Переопределить данные записи

У элемента те же вкладки доступны в административной форме и публичном редакторе. По умолчанию элемент наследует общие правила своего HL. Переопределите только отличающиеся свойства.

SEO-вкладка публичного редактора

ИсточникПоведение
НаследоватьВзять правило HL; доступно у элемента
Не выводитьНе устанавливать это свойство средствами модуля
Задать вручнуюИспользовать введённое значение
Поле элементаЧитать явно выбранное допустимое поле
ШаблонСобрать значение из текста и подстановок

Режим «Не выводить» не удаляет метатеги, установленные другим модулем или шаблоном сайта. Публичному редактору доступны только разрешённые источники; первоначальную настройку полей выполняет администратор.

Шаблоны значений

TEXT
{=field.UF_NAME} — {=site.NAME}
{=site.URL}/news/{=field.UF_UNIC_CODE}/
{=field.UF_TAGS|join}

Доступны поля текущей записи и контекст site.NAME, site.URL, page.URL, page.LOCALE. Меню «…» помогает вставлять подстановки. |join объединяет множественные значения через запятую. Перечисления подставляются как сохранённые ID, а не автоматически как подписи.

В шаблонах нет PHP, SQL и произвольных функций; связанные HL рекурсивно не раскрываются. HTML-теги из текстовых источников удаляются.

Предпросмотр

У элемента нажмите «Предпросмотр значений». Предпросмотр использует сохранённые пользовательские поля и текущие настройки шаблонов. Если изменили название или текст записи, сначала сохраните поля, затем проверьте метаданные.

У общего профиля HL предпросмотра по произвольному ID нет. В административной форме адрес будущей публичной страницы неизвестен: для проверки URL используйте явный адрес или шаблон из site.URL и кода. page.URL окончательно определяется при выполнении компонента на странице.

OpenGraph и изображения

Вкладка OpenGraph с источниками значений

Можно настроить общие свойства, изображения, аудио и видео, а также свойства типов article, book, profile, music и video. Для обычной новости начните с og:title, og:description, og:type=article, og:url и og:image. Каждое корректно настроенное свойство выводится независимо; отсутствие другого свойства не отключает весь набор.

Источником изображения может быть файловое поле записи, существующий допустимый файл, путь /upload/..., HTTP(S)-адрес или новая загрузка. Для локальной загрузки поддержаны JPEG, PNG, WebP и GIF: до 5 МБ и 12 миллионов пикселей. SVG не принимается. Можно настроить до 10 групп изображений.

Размеры и MIME локального файла определяются автоматически. Внешний URL модуль не скачивает: размеры и альтернативный текст задаются вручную. Публичный редактор не может произвольно присвоить чужой файловый ID.

Включить вывод на странице

В параметрах детального компонента задайте:

PHP
$metadataParameters = [
    'SET_SEO' => 'Y',
    'SET_OPEN_GRAPH' => 'Y',
];

Оба флага по умолчанию выключены. Компонент сам применяет свойства страницы и добавляет OpenGraph в <head>. Изменять шаблон ради этого не требуется. Источники метаданных читаются независимо от визуального SELECT и не становятся видимыми полями карточки.

META TITLE задаёт заголовок браузера отдельно от H1, которым управляет SET_PAGE_TITLE. На странице с несколькими detail-компонентами каждый вид метаданных получает одного владельца: последующие компоненты не дублируют уже применённый набор. При 404 метаданные отсутствующей записи не выводятся.

Границы

Профили принадлежат HL и элементу; отдельного хранения профилей по языкам и сайтам нет. Для контекстных значений используйте доступные подстановки и архитектуру проекта. Schema.org/JSON-LD и Twitter Cards эта подсистема не генерирует. Настройка OpenGraph не гарантирует немедленного обновления карточки у внешнего сервиса: у него может быть собственный кеш.

После сохранения проверьте исходный HTML страницы. Для композитного режима учтите отдельное обновление HTML-кеша.