SEO GEM · интеграция
Один тег, четыре поля.
Остальное делает скрипт.
Ничего не строится. SEO GEM — внешний сервис, который загружается в редакторе статьи и заполняет четыре поля. Ни серверной интеграции, ни нашей библиотеки в вашем коде, ни изменений в тексте статьи. По спецификации — один рабочий день на стороне CMS.
1
script-тег на странице редактора
4
поля у статьи
1 день
работы на стороне CMS
0
изменений на сервере
Как это идёт
От клика в редакторе до head публичной страницы.
Весь путь идёт из браузера журналиста. Платформа лишь хранит четыре поля и выводит их на публичной странице — как и любое другое поле.
01
Редактор статьи
Скрипт читает заголовок, лид и текст, когда журналист нажимает кнопку.
02
SEO GEM
Возвращает шесть заголовков, а после подтверждения — мета-описание, ключевые слова и схему.
03
Четыре поля
CMS хранит их со статьёй и отдаёт фронтенду через свой API.
04
Публичная страница
title, description, keywords и JSON-LD в head статьи.
Что нужно для старта
Три вещи. Больше ничего.
Это весь список. Если в вашей CMS уже есть SEO-поля, остаются только первый и третий пункты.
01
Script-тег в редакторе
Одна строка на странице создания и редактирования статьи. Все особенности вашей CMS — атрибуты этого тега, без кода под заказ.
02
Четыре поля у статьи
SEO-заголовок, мета-описание, ключевые слова и одно поле для Schema.org. Если их нет, они добавляются как любое другое поле и отдаются фронтенду.
03
Вывод в head
Фронтенд выводит эти четыре поля в head статьи. Три — обычные мета-теги, четвёртое — блок структурированных данных.
Как это выглядит
Вся работа — на странице редактора.
Скрипт добавляет одну кнопку и панель над полем SEO-заголовка. Больше ничего на странице не меняет и никогда не блокирует сохранение.
<!-- на странице создания и редактирования статьи -->
<script src="https://…/cms-embed.js"
data-api-key="ключ вашего портала"
data-language="ru"
data-editor-type="ckeditor"
data-field-title='[name="heading"]'
data-field-seo-title='[name="seo_title"]'
data-field-meta-desc='[name="meta_description"]'
data-field-keywords='[name="keywords"]'
data-field-schema='[name="schema_org"]'></script>
Различия между CMS решаются атрибутами, а не кодом: селекторы полей, тип редактора, язык и адрес статьи. Поэтому один и тот же скрипт работает в двух совершенно разных системах — одна на CKEditor, другая на TinyMCE. Для третьего редактора мы добавляем адаптер, а тег остаётся тем же.
Четыре поля
Из CMS в head, понятный Google.
Инструмент даёт значения короче лимита поля, чтобы всегда был запас.
| Поле в CMS | Вывод на странице статьи | Инструмент даёт · поле принимает |
|---|---|---|
| SEO-заголовок | <title> | до 75 · 80 знаков |
| Мета-описание | <meta name="description"> | до 160 · 180 знаков |
| Ключевые слова | <meta name="keywords"> | до 300 · 300 знаков |
| Schema.org | JSON-LD NewsArticle вместо стандартного блока | несколько КБ · textarea |
Схема несёт заголовок, описание, язык, рубрику, даты публикации и изменения, автора, издателя с логотипом, изображение, канонический адрес, ключевые слова, а также темы и сущности из самого текста. При каждом следующем сохранении скрипт сам обновляет дату изменения и сверяет заголовок, изображение и адрес — без единого обращения к сервису.
Разделение работы
Кто что делает до первой статьи.
Ваша сторона
- Script-тег на странице создания и редактирования статьи
- Четыре SEO-поля у статьи, сохраняемые и доступные фронтенду
- Вывод этих четырёх полей в head публичной страницы
- Staging с тестовым доступом для совместной проверки до запуска
Наша сторона
- Ключ для вашего портала и список разрешённых адресов
- Языковой пакет для вашего рынка с проверкой языка результата
- Данные издателя — имя, логотип, домен — для структурированных данных
- Тестовая страница, повторяющая структуру вашего редактора, до того как кто-то тронет CMS
- Совместный тест на staging: полный круг от заголовка до публичной страницы, около получаса
- Отчёт по статье и рубрике из Search Console и GA4
Чего инструмент не делает
Границы уже, чем вы ожидаете.
Не трогает текст статьи
Читает заголовок, лид и текст; пишет только в четыре SEO-поля. Тело статьи и все остальные поля остаются нетронутыми.
Не блокирует редакцию
Если сервис не отвечает, сохранение и публикация работают как обычно. Поля остаются прежними, журналист получает кнопку повтора.
Не смешивает издания
Ключ выдан на портал и определяет, чьи данные. История выбора заголовков вашей редакции не влияет на предложения других.
Не собирает данные читателей
Инструмент не видит посетителей портала. Текст статьи обрабатывается у внешних ИИ-провайдеров на условиях, исключающих использование контента для обучения моделей.
Частые вопросы
О чём спрашивает техническая команда.
Сколько это работы на самом деле?
По спецификации один рабочий день на стороне CMS: тег на двух страницах редактора, четыре поля у статьи и их вывод в head. Затем получасовой совместный тест на staging. Так это прошло в двух разных CMS.
Нужна ли серверная интеграция?
Нет. Нет вызовов нашего сервиса с вашей стороны и нет нашей библиотеки в вашем коде. Всё происходит в браузере журналиста, на странице редактора.
Что если у нас уже есть SEO-поля?
Тем лучше — тогда отпадает большая часть работы. Пришлите селекторы этих полей, и они используются как есть.
Какие редакторы поддерживаются?
CKEditor 4 и 5 и TinyMCE 5+ работают сразу. Для другого редактора сообщите, какой вы используете, и мы добавим адаптер; остальная часть интеграции не меняется.
Следующий шаг
Пришлите структуру редактора.
Вернём тестовую страницу.
До того как кто-то тронет вашу CMS, мы делаем страницу, повторяющую структуру вашего редактора, и прогоняем на ней полный круг. Только потом совместный тест переходит на ваш staging.