В метаданных факторов web_production выделяется крупная семья сигналов, отвечающая на самый базовый вопрос ранжирования: насколько документ вообще релевантен тексту запроса. Назовём её условно группой Q. Это не про ссылки, не про поведение и не про коммерцию - это чистая геометрия совпадения слов запроса с документом. Сколько слов запроса покрыто, насколько эти слова редкие (а значит весомые), и - что для SEO интереснее всего - где именно они совпали, в том числе в URL.
Ниже разбор по реконструкции из метаданных. Сразу дисклеймер: конкретные веса иллюстративны, реальные обучаемы и проприетарны. Имена и индексы факторов приведены как в утечке метаданных, формулы - наглядная реконструкция логики, а не строки из боевого кода.
Общая форма
На верхнем уровне группу удобно представить как взвешенную сумму четырёх блоков: вес запроса по IDF, покрытие слов, совпадения в URL и совпадения по сегментам.
Код: Выделить всё
Q = widf*QueryIDF + wcov*Coverage + wurl*UrlMatch + wseg*SegmentMatch
QueryIDF [17] LongQuery - сумма IDF слов запроса (редкие слова весомее)
Coverage [59] WordCount - число покрытых слов запроса
[60] InvWordCount - обратная мера покрытия
[324] LargestSyInexactGroup - доля запроса в самой длинной группе совпавших хитов
UrlMatch [214] OnlyUrl - совпадения ТОЛЬКО в URL (в тексте страницы слова нет)
группа UrlBM25 - BM25 по тексту URL
SegmentMatch [351] QSegmentsBM25 - BM25, где словами выступают сегменты запроса
[344] SyntQuality - есть ли у запроса полный синтаксический разбор
QueryIDF: редкие слова весят большеСуть всей группы сжимается в одну строку: Q приблизительно равно сумме по словам запроса от IDF(слово), умноженного на индикатор покрытия этого слова, умноженного на вес зоны, где слово нашлось. Попадание слов запроса в URL - отдельный учитываемый член этой суммы.
Фактор [17] LongQuery агрегирует IDF (inverse document frequency) слов запроса. IDF - классическая мера редкости: чем в меньшем числе документов коллекции встречается слово, тем выше его IDF и тем больше оно говорит об интенте пользователя.
Код: Выделить всё
IDF(w) = log( N / df(w) )
N - размер коллекции документов
df(w) - число документов, содержащих слово w
Следствие для контента. Оптимизировать стоит не вокруг частотного ядра, а вокруг редких, различающих слов интента. Они дают наибольший прирост в QueryIDF при том же объёме текста.
Coverage: сколько слов запроса покрыто
Блок покрытия отвечает на вопрос доли запроса, отражённой в документе. Сюда входят [59] WordCount (число покрытых слов запроса) и парный к нему [60] InvWordCount (обратная мера, штрафующая за непокрытые слова). Это сырое покрытие: индикатор того, что слово запроса вообще нашлось в документе.
Отдельно стоит [324] LargestSyInexactGroup. Он измеряет не просто факт покрытия слов вразброс, а долю запроса, попавшую в самую длинную группу совпавших хитов. Иными словами - насколько слова запроса встретились компактно, рядом, единой группой, а не растащены по всему документу. Это уже шаг от мешка слов в сторону учёта близости и порядка: запрос, лёгший в текст связной фразой, оценивается выше, чем тот же набор слов, размазанный по разным абзацам.
Код: Выделить всё
Coverage_raw = (число покрытых слов) / (всего слов запроса)
Compactness = (слов в самой длинной группе хитов) / (всего слов запроса) // [324]
Это ключевая для SEO часть группы. Слова запроса, найденные в URL документа, учитываются как самостоятельный сигнал, а не растворяются в общем тексте страницы.
Фактор [214] OnlyUrl - предельный случай: совпадение слов запроса присутствует ТОЛЬКО в URL, тогда как в видимом тексте страницы этих слов нет. То, что такой фактор вообще выделен и считается отдельно, означает прямое: URL рассматривается как самостоятельная текстовая зона. Слово в адресе документа - это сигнал релевантности сам по себе, даже без подкрепления в теле страницы.
Рядом стоит группа факторов UrlBM25 - полноценный BM25, посчитанный по тексту URL как по отдельному короткому документу. BM25 здесь работает в привычной форме: насыщение по частоте плюс нормировка по длине, только корпусом выступают сегменты адреса.
Код: Выделить всё
BM25(q, url) = sum_w IDF(w) * tf(w,url)*(k1+1)
---------------------------------------
tf(w,url) + k1*(1 - b + b*len(url)/avglen)
q - слова запроса
url - токенизированный текст URL (сегменты пути)
- Держать ключевые слова интента в сегментах пути, а не в query-параметрах.
- Транслитерация осмысленных слов работает как текст URL - сегменты токенизируются и матчатся.
- Не размывать путь мусорными сегментами: чем короче и осмысленнее URL, тем выше tf-плотность и тем меньше штраф нормировки по длине в UrlBM25.
- Идентификаторы, хэши, числовые id в пути - шум, не дающий совпадений со словами запроса.
Последний блок поднимается над уровнем отдельных слов. [351] QSegmentsBM25 - это BM25, в котором единицей сравнения выступают не слова, а сегменты запроса: устойчивые куски, на которые запрос распадается при синтаксическом анализе. Это позволяет матчить документ против смысловых фрагментов интента, а не против разрозненных токенов, и аккуратнее обрабатывать многословные запросы с внутренней структурой.
Поддерживает это [344] SyntQuality - признак того, есть ли у запроса полноценный синтаксический разбор. Если запрос разобран чисто, сегментные сигналы получают доверие; если разбор сомнителен, система может опираться на них осторожнее. Фактически это метка надёжности для сегментного блока.
Что из этого следует
Группа Q - фундамент текстовой релевантности, на который надстраивается всё остальное. Она вознаграждает три вещи одновременно: покрытие слов запроса, приоритет редких (высоко-IDF) слов и компактность их расположения, и наконец - совпадение в выделенных зонах, среди которых URL стоит особняком.
Ещё раз оговорюсь: всё перечисленное - реконструкция логики по метаданным факторов. Имена [17], [59], [60], [214], [324], [344], [351] и группы OnlyUrl/UrlBM25/QSegmentsBM25 взяты из утечки; конкретные коэффициенты в формулах иллюстративны и нужны лишь чтобы показать форму. Реальные веса обучаемы, нелинейно скомбинированы и проприетарны.Главный практический тезис: URL - это текстовая зона документа с собственным вкладом в релевантность. ЧПУ с ключевыми словами включают прямой сигнал (OnlyUrl, UrlBM25), который считается отдельно от тела страницы. Для редких различающих слов интента это особенно выгодно - они дороже по IDF и потому каждое попадание, в том числе в адрес, весит больше.
Контекст серии
Этот разбор - часть серии по формуле ранжирования 2026. Каскад, общая формула и карта всех факторов в хаб-треде: viewtopic.php?t=1828