Когда говорят про оптимизацию под ИИ, обычно представляют работу с текстом на сайте. Но у меня раз за разом всплывает более базовая проблема: модель вообще не понимает, что за компания стоит за названием. Путает её с иностранной компанией с похожим названием, приписывает чужие продукты, называет не тот город. Это провал не контента, а цифрового следа компании (entity footprint), и его можно измерить.
Что такое цифровой след и почему это отдельная задача
Поисковые системы и языковые модели работают со стоящей за названием компанией: «компания X из города Y, делает Z, связана с людьми A и B». Этот образ собирается из множества сигналов — разметки на сайте, упоминаний во внешних источниках, справочников, графа знаний. Если сигналы противоречивы или их мало, модель либо путается, либо вообще не узнаёт компанию.
Цифровой след — это то, насколько плотно и однозначно компания прописана в источниках, которые модель видела. Проверять его надо не наугад, а замером: задать моделям одни и те же вопросы про компанию и посмотреть, насколько ответы совпадают между собой и с правдой.
Как проверить бренд по трём слоям
-
Собственные сигналы. Что компания сообщает о себе сама: разметка Organization/Person в JSON-LD, поле sameAs со ссылками на профили, единообразие имени и категории по страницам.
-
Внешние подтверждения. Совпадает ли рассказ сайта с тем, что о компании пишут снаружи: справочники, отраслевые каталоги, деловые СМИ, «Википедия».
-
Что реально знает модель. Финальная проверка: опросить несколько LLM про компанию и измерить разброс ответов.
Первые два слоя — статический аудит разметки и источников. Третий — динамический замер, ради него всё и затевается.
Слой 1: собственные сигналы
Начинаю с JSON-LD. Минимум, который должен быть у компании, — блок Organization с однозначной привязкой и sameAs:
{ "@context": "https://schema.org", "@type": "Organization", "name": "…", "url": "https://…", "description": "…", "foundingLocation": "…", "sameAs": [ "https://ru.wikipedia.org/wiki/…", "https://www.linkedin.com/company/…", "профили в отраслевых справочниках" ]}
Поле sameAs здесь ключевое: оно связывает вашу страницу с уже известными модели узлами (профили, «Википедия», справочники) и помогает не спутать вашу компанию с похожей по названию. Спецификация поля — в документации schema.org.
Быстрая проверка, что разметка вообще парсится, — вытащить все JSON-LD блоки со страницы:
import json, requestsfrom bs4 import BeautifulSoupdef extract_jsonld(url): html = requests.get(url, timeout=20).text soup = BeautifulSoup(html, "html.parser") blocks = [] for tag in soup.find_all("script", type="application/ld+json"): try: blocks.append(json.loads(tag.string)) except (json.JSONDecodeError, TypeError): pass # битый JSON-LD — тоже находка, помечаем отдельно return blocksdata = extract_jsonld("https://пример-сайта")types = [b.get("@type") for b in data if isinstance(b, dict)]print("Найдены типы:", types)
Если Organization/Person нет, битый JSON или sameAs пустой — это первая дыра. Модели неоткуда взять однозначную привязку.
Слой 2: внешние подтверждения
Дальше проверяю, подтверждается ли рассказ сайта снаружи. Логика простая: модель редко верит одному сайту, ей нужны сходящиеся показания из нескольких источников. Я собираю по компании набор внешних упоминаний и сверяю ключевые факты — категория, город, ключевые продукты, связанные лица — между сайтом и внешними площадками.
Здесь важен не объём, а согласованность. Если сайт говорит одно, а справочник — другое (устаревшее название, другой профиль деятельности), модель получает конфликт сигналов и либо выбирает внешний источник, либо путается. Расхождения в этом слое — вторая типичная дыра.
Слой 3: что реально знает модель
Я опрашиваю несколько моделей одинаковым набором вопросов про компанию и смотрю на разброс. Вопросы — фактические, с проверяемым ответом: чем занимается, где находится, какие продукты, кто основатели.
Схема замера:
QUESTIONS = [ "Чем занимается компания {name}?", "В каком городе находится {name}?", "Какие продукты или услуги у {name}?", "С какими людьми связана компания {name}?",]def audit_entity(name, models, ask_fn): """ask_fn(model, prompt) -> str. Возвращает матрицу ответов.""" matrix = {} for q in QUESTIONS: prompt = q.format(name=name) matrix[q] = {m: ask_fn(m, prompt) for m in models} return matrix
Дальше по матрице считаю две вещи:
-
Согласованность — насколько ответы моделей совпадают между собой по ключевому факту. Пять разных версий того, чем занимается компания, — это провал цифрового следа.
-
Точность — совпадает ли ответ с правдой. Модель может уверенно и согласованно ошибаться, если во внешних источниках закрепилась неверная версия.
Отдельно ловлю два симптома. Первый — модель выдумывает: несуществующие продукты или связь не с теми людьми. Второй — подмена: на вопрос про компанию модель отвечает про иностранную фирму с похожим названием. И то, и другое лечится не текстом на сайте, а расчисткой внешних сигналов и однозначной привязкой через sameAs.
Как читать результат: три диагноза
-
Компания распознана и описана верно — ответы моделей согласованы и верны. Дальше работаем над полнотой (продукты, свежесть).
-
Компания распознана, но описана неверно — ответы согласованы между собой, но неверны. Значит, во внешних источниках закрепилась неправильная версия; чиним источники.
-
Компания не распознана — модели путают её с другой фирмой или отвечают общими словами. Самый тяжёлый случай: сначала нужен базовый след — справочники, «Википедия», однозначная привязка, — а уже потом тонкая настройка.
Полезный внешний фреймворк по этой теме — разбор аудита цифрового следа (entity footprint) от Search Engine Land. Он про ту же логику «сайт → schema → внешние подтверждения» — я лишь добавил к нему динамический замер моделями.
Дело не в объёме текста, а в чёткости бренда
Чаще всего проблема не в том, что на сайте мало текста, а в том, что след размыт: разметки нет или она битая, sameAs пустой, внешние источники разноголосят. Модель в такой ситуации ведёт себя предсказуемо плохо — путает, придумывает несуществующее, подменяет другой фирмой.
Хорошая новость: цифровой след измерим и управляем. Начните с трёх вопросов пяти моделям про свою компанию и посмотрите на разброс ответов. Если версий столько же, сколько моделей, — работать надо не над текстом, а над тем, чтобы у компании вообще появился однозначный след.
ссылка на оригинал статьи https://habr.com/ru/articles/1066020/