art-of-seo
Сигналы
Схема пайплайна
Патенты × Leak
API LEAK 2024 DOJ TESTIMONY 2025 hexdocs v0.2–0.4

Как Google оценивает документ

Полная система · 9 этапов · 80+ реальных protobuf-полей · финансовая вертикаль

Навбуст / CRAPS
goodClicks × lastLongestClicks × unicornClicks из поведения пользователей Chrome
NSR + site2vec
chromeInTotal · directFrac · titlematchScore · racterScores (AI-детектор)
Topic Embeddings
siteRadius + siteFocusScore — отклонение страницы от темы сайта
Q* / CompressedQS
siteAuthority · pandaDemotion · scamness · productReviewP* — Flash storage
SpamBrain
LAVC · DocLevelSpamScore · QuarantineInfo · spambrainTotalDocSpamScore
YMYL Gate
ymylHealthScore · ymylNewsV2Score — финансы проходят двойную проверку
Полный путь оценки документа в Google
1
Spam Pre-filter — SpamBrain + AbuseIAm
Ещё до ранжирования документ проверяется на спам. SpamBrain (DocLevelSpamScore, 0–127) и AbuseIAm выносят вердикт: допустить в индекс или отклонить. Для финансовых сайтов — дополнительно проверка через ymylHealthScore и ymylNewsScore. Страница кредитного брокера с накрученными анкорами получает высокий IsAnchorBayesSpam=true ещё на этом этапе.
Финансовый пример
Сайт «лучшие кредиты 2024» с 500 страницами под каждый запрос: spambrainTotalDocSpamScore ≈ 0.85, QuarantineInfo устанавливает QUARANTINE бит → документы не попадают в serving.
2
Link Analysis — PageRank + IndyRank + Anchors
Вычисляется ссылочный авторитет: pagerank0/1/2 (три версии параллельно), ScaledIndyRank (независимость источника), homepagePagerankNs. Каждая ссылка несёт sourceType (HIGH/MEDIUM/LOW quality) и pagerankWeight. anchor.encodedNewsAnchorData — отдельный бонус для ссылок с новостных сайтов.
Финансовый пример
Страница сравнения вкладов Тинькофф: ссылки с Forbes, RBC → sourceType=TYPE_HIGH_QUALITY, высокий pagerankWeight. Ссылки с каталогов → TYPE_LOW_QUALITY, почти не влияют. ScaledIndyRank высокий если ссылки из независимых доменов, а не одного владельца.
3
NSR — Neural Site Rank (Q* input)
Нейросетевой скор всего сайта. Главные входы: chromeInTotal (Chrome-просмотры), directFrac (прямые переходы), impressions (показы в выдаче), pnav (навигационный intent), tofu + chardEncoded (content quality). Итог NSR передаётся в Q* как siteAuthority. Финансовые сайты дополнительно проверяются ymylNewsV2Score.
Финансовый пример
banki.ru: высокий chromeInTotal (миллионы Chrome-переходов), высокий directFrac (люди идут напрямую), titlematchScore высокий — тайтлы точно соответствуют запросам. Итог: nsr ≈ топ сегмента → siteAuthority = сильный бонус в Q*.
4
Topic Embeddings — siteRadius + siteFocusScore
Google строит векторный embedding для каждой страницы (pageEmbedding) и усредняет по сайту (siteEmbedding). siteRadius = расстояние страницы от центра сайта. siteFocusScore = концентрация темы по всему сайту. Высокий siteRadius у страницы → она «отклонилась» от тематики → возможный штраф.
Финансовый пример
Финансовый сайт публикует статьи про рецепты и автомобили: siteRadius растёт, siteFocusScore падает → сайт теряет авторитет в финансовой нише. Узкоспециализированный сайт по ипотеке: низкий siteRadius, высокий siteFocusScore → топикальный авторитет.
5
Q* Scoring — основное ранжирование
Q* (Q-Star) — главный скоринговый движок Mustang/TeraGoogle. Принимает из CompressedQualitySignals: siteAuthority, pqData (page-level PQ), навигационные демоции (navDemotion, serpDemotion), pandaDemotion, babyPandaV2Demotion, exactMatchDomainDemotion, anchorMismatchDemotion. Так же учитывается scamness — скор мошенничества.
Финансовый пример
Сайт микрозаймов с доменом «luchshie-kredity.ru»: exactMatchDomainDemotion активируется → штраф. Если анкоры ссылок не совпадают с контентом → anchorMismatchDemotion. scamness высокий у «серых» МФО → понижение в Q*.
6
YMYL Gate — повышенные требования для финансов
Для YMYL (Your Money Your Life) страниц применяется отдельный режим: ymylHealthScore, ymylNewsScore, ymylNewsV2Score. Все финансовые страницы автоматически попадают в эту категорию. fringeQueryPrior — специальный prior для спорных запросов (например, инвестиции в крипту).
Финансовый пример
Запрос «как выбрать брокера» → YMYL gate включён. Сайт без чёткого автора, без E-E-A-T сигналов получает низкий ymylHealthScore. ЦБ РФ и Московская биржа: высший скор, isElectionAuthority-подобный статус в финансовой нише.
7
Navboost / CRAPS — поведенческая коррекция
После первичного ранжирования Navboost корректирует позиции на основе реальных кликов. goodClicks (пользователь остался) → буст. badClicks (вернулся на SERP) → navDemotion. lastLongestClicks — самый сильный сигнал: последний клик в сессии, пользователь нашёл ответ. unicornClicks — клики особо доверенных пользователей, сверхвесомые. CRAPS хранит слайсы по стране/устройству/языку.
Финансовый пример
Страница сравнения ипотечных ставок: пользователи переходят, тратят 8+ минут → много lastLongestClicks → мощный Navboost. Конкурент с запутанной структурой: клики есть, но быстрый возврат → рост badClicksnavDemotion → потеря позиций без изменения контента.
8
Freshness Twiddlers — корректировка по дате
lastSignificantUpdate (Unix timestamp), semanticDate (оценочная дата контента), syntacticDate (из разметки), urldate. Для time-sensitive запросов применяется timeSensitivity. isHotdoc = документ только что проиндексирован через real-time pipeline.
Финансовый пример
Запрос «ставка ЦБ 2024» — высокий timeSensitivity → Google сильно штрафует старые страницы. Статья банка без обновлённого lastSignificantUpdate вылетает из топа даже при хорошем NSR. Статья с isHotdoc=true временно получает буст.
9
RankEmbed — семантический matching
compressedDocumentEmbedding сравнивается с embedding запроса. fixedPointEncoding — 8-битные квантизованные векторы для serving. Параллельно site2vecEmbedding (NSR) добавляет site-level семантику. Всё это вместе с siteRadius/siteFocusScore из topic embeddings.
Финансовый пример
Запрос «рефинансирование ипотеки под меньший процент»: embedding запроса близко к документам с темой ипотечного рефинансирования, снижения ставки. Страница про «автокредит» имеет другой вектор → низкий semantic score → не в топ, даже если PageRank высок.
⚠ Особенности финансовой вертикали

Финансовые страницы проходят через YMYL gate (шаг 6), что удваивает требования к E-E-A-T. ymylHealthScore низкий у страниц без явного автора-эксперта. scamness — отдельный скор мошенничества, критичный для МФО и крипто-сайтов. isElectionAuthority аналог для финансов: ЦБ РФ, Минфин — особый авторитетный статус. Navboost (шаг 7) для финансов означает: если пользователи быстро уходят с вашей страницы сравнения кредитов — это badClicksnavDemotion, и контент можно переписывать хоть каждый день без эффекта.

🖱
siteAuthority
CompressedQualitySignals.siteAuthority : integer [0–1023]
Авторитет сайта в Q*: конвертирован из quality_nsr.SiteAuthority, применяется напрямую в Q*. Это «упакованная» версия NSR для быстрого scoring. Значение 0–1023 (10 бит). Хранится в Flash storage для preliminary scoring.
Финансы
Центральный банк РФ: siteAuthority ≈ 1000+. Новый стартап с ипотечным калькулятором: siteAuthority ≈ 50–100. Разница — буст в тысячи пунктов Q* без каких-либо изменений контента.
pandaDemotion / babyPandaV2Demotion
CompressedQualitySignals.pandaDemotion, babyPandaV2Demotion : integer
pandaDemotion — кодирует Panda поля из SiteQualityFeatures, применяется в Q*. babyPandaV2Demotion — «Baby Panda», применяется поверх Panda как дополнительный слой. V2 заменяет устаревший babyPandaDemotion. Panda = штраф за низкокачественный контент на уровне сайта.
Финансы
Сайт с 10 000 автоматически сгенерированных страниц «кредит в [городе]»: pandaDemotion + babyPandaV2Demotion активируются → весь сайт понижается, включая качественные страницы.
exactMatchDomainDemotion
CompressedQualitySignals.exactMatchDomainDemotion : integer [0–1023]
Штраф за Exact Match Domain — домен, состоящий из ключевого запроса. Конвертировано из QualityBoost.emd.boost, 10 бит (0–1023). Подтверждает: EMD обновление Google реально существует как отдельный сигнал в Q*.
Финансы
kredity-online.ru, luchshie-vklady.com — exactMatchDomainDemotion активируется → штраф в Q*. Тинькофф.ру (бренд, не ключевик) — штрафа нет.
anchorMismatchDemotion
CompressedQualitySignals.anchorMismatchDemotion : integer
Штраф за несоответствие текста якорей содержимому страницы. Конвертировано из QualityBoost.mismatched.boost. Если ссылки на страницу говорят одно, а страница — другое, это сигнал манипуляции.
Финансы
Страница про «рефинансирование ипотеки», но все входящие ссылки с анкором «дешёвые кредиты» — anchorMismatchDemotion. Или купленные ссылки с нерелевантным текстом.
scamness
CompressedQualitySignals.scamness : integer [0–1023]
Скор мошенничества. Используется как один из web page quality сигналов в Q*. Диапазон 0–1023. Особо критично для финансовой вертикали: сомнительные МФО, финансовые пирамиды, поддельные банки.
Финансы
Сайт с признаками финансовой пирамиды: «гарантированные 200% годовых», нет лицензии ЦБ → высокий scamness → серьёзный штраф в Q*.
unauthoritativeScore
CompressedQualitySignals.unauthoritativeScore : integer [0–1023]
Скор «неавторитетности» страницы. Один из web page quality сигналов в Q*. По смыслу — обратный siteAuthority: чем выше, тем менее авторитетна страница с точки зрения алгоритма.
authorityPromotion
CompressedQualitySignals.authorityPromotion : integer
Положительный буст авторитетности. Конвертирован из QualityBoost.authority.boost. Противовес демоциям — применяется к авторитетным источникам.
productReviewP* (Promote/Demote/UHQ)
CompressedQualitySignals.productReviewPPromotePage/Site, DemotePage/Site, UhqPage, ReviewPage
6 отдельных полей для product review сигналов (go/pr-boosts): вероятность что страница — обзор (ReviewPage), качественный обзор (UhqPage), продвижение/понижение на уровне страницы и сайта. Все умножены на 1000 и rounded (fixed point). Критично для сайтов сравнения финансовых продуктов.
Финансы
Сайт-агрегатор типа «banki.ru отзывы о вкладах»: productReviewPPromotePage высокий → буст в выдаче для сравнительных запросов. Автоматически сгенерированные «обзоры»: DemotePage активируется.
ugcDiscussionEffortScore
CompressedQualitySignals.ugcDiscussionEffortScore : integer
UGC page quality signal — оценка усилия в дискуссиях/обсуждениях. (Times 1000 and floored). Форумы, Q&A платформы, обсуждения продуктов. Измеряет реальное вовлечение пользователей в контент.
Финансы
Тема «Какой брокер лучше» на форуме banki.ru с 500 развёрнутыми ответами: высокий ugcDiscussionEffortScore. Одностраничная форма с парой фиктивных отзывов — низкий.
topicEmbeddingsVersionedData
CompressedQualitySignals.topicEmbeddingsVersionedData : list[QualityAuthorityTopicEmbeddingsVersionedItem]
Версионированные TopicEmbeddings данные (siteRadius, siteFocusScore, pageEmbedding, siteEmbedding) в CompressedQualitySignals. Копируется в superroot и используется в scorers. Это «мост» между Topic Authority системой и Q* scoring.
lowQuality
CompressedQualitySignals.lowQuality : integer
S2V low quality score: конвертирован из quality_nsr.NsrData, применяется в Q*. «S2V» — предположительно «Site to Vector» — embedding-based оценка низкого качества сайта.
pairwiseqVersionedData
CompressedQualitySignals.pairwiseqVersionedData : list[PairwiseQVersionedItem]
Версионированные PairwiseQ скоры. PairwiseQ — система попарного сравнения документов: «этот документ лучше или хуже этого?». Непрерывная оценка новых версий, continuous evaluation.
experimentalQstar* signals
CompressedQualitySignals.experimentalQstarSignal, DeltaSignal, SiteSignal : float
Три экспериментальных Q* компонента, не пропагируются в шарды. Заполняются в serving time из ExperimentalNsrTeamData. Используются для быстрых live experiments (go/0DayLEs) без полного переиндексирования.
🧠
nsr
QualityNsrNsrData.nsr : float
Основной Neural Site Rank. Главный site-level качественный сигнал, передаётся в Q* как siteAuthority. Вычисляется из chromeInTotal, directFrac, tofu, chard, impressions, pnav и других компонентов через нейросеть.
Финансы
banki.ru NSR ≈ высший квинтиль финансового сегмента. Стартап «ипотека42.рф» — нижний квинтиль. Разница = сотни позиций в Q* для одинакового контента.
chromeInTotal
QualityNsrNsrData.chromeInTotal : float
Суммарные Chrome-просмотры сайта (site-level). Данные собираются из Chrome Toolbar и Chrome browser. Это именно тот сигнал, который Google официально отрицал: «мы не используем данные Chrome для ранжирования».
Финансы
Альфа-Банк: миллионы Chrome-переходов ежемесячно → chromeInTotal высокий → NSR высокий. Финтех-стартап с 10к посетителей в месяц: chromeInTotal минимальный → NSR не может быть высоким вне зависимости от качества контента.
Прямое противоречие официальным заявлениям Google. Подтверждено утечкой и частично — показаниями в суде DOJ.
directFrac
QualityNsrNsrData.directFrac : float
Доля прямых переходов на сайт (direct navigation). Высокий directFrac = сильный бренд + лояльная аудитория, которая идёт напрямую, минуя поиск. Один из сильнейших компонентов NSR.
Финансы
Сбербанк, Тинькофф — люди набирают URL напрямую → высокий directFrac. Нишевый сайт «сравнение рассрочек»: почти нет прямых переходов → низкий directFrac → NSR страдает.
titlematchScore ✦ новое в v0.4.0
QualityNsrNsrData.titlematchScore : float
Сигнал того, насколько хорошо тайтлы сайта совпадают с пользовательскими запросами. Site-level агрегация. Добавлен в v0.4.0 — не был в v0.2.0. Прямой сигнал title optimization relevance.
Финансы
Страница «Ипотека — условия и ставки Сбербанк 2024»: точно совпадает с запросом «ипотека сбербанк ставки» → высокий titlematchScore. Тайтл «Продукты | Главная страница» → низкий.
site2vecEmbedding / site2vecEmbeddingEncoded ✦ новое в v0.4.0
QualityNsrNsrData.site2vecEmbedding, site2vecEmbeddingEncoded
Site2Vec embedding сайта — векторное представление всего сайта для NSR системы. site2vecEmbedding = полный вектор (для indexing). site2vecEmbeddingEncoded = сжатое представление для superroot (serving, меньше памяти). Отдельно от RankEmbed document embeddings.
Финансы
Все финансовые сайты кластеризуются по site2vec. Сайт ипотеки будет близок к другим ипотечным, далёк от криптовалютных. Влияет на сравнение NSR внутри «слайса» сегмента.
racterScores ✦ новое в v0.4.0
QualityNsrNsrData.racterScores : list[QualityNsrVersionedFloatSignal]
Site-level AGC (Auto Generated Content) classification score (go/project-racter-overview). Версионированный список. Измеряет, насколько сайт публикует автоматически сгенерированный контент. Критично в эпоху AI-контента.
Финансы
Сайт с тысячами AI-сгенерированных статей «кредит в [любой город]»: высокий racterScore → NSR штраф. Банк с вручную написанными экспертными материалами: низкий racterScore.
Прямое поле для детекции AI-контента в 2024 году. project-racter = «автор» (отсылка к AI персонажу).
ketoVersionedData ✦ новое в v0.4.0
QualityNsrNsrData.ketoVersionedData : list[QualityNsrKetoKetoVersionedData]
«Keto» data — внутреннее кодовое название неизвестной NSR подсистемы. Версионированные данные, добавлены в v0.4.0. Название «keto» не расшифровано в документации — вероятно, имя проекта/эксперимента.
chardScoreEncoded / chardScoreVariance ✦ новое в v0.4.0
QualityNsrNsrData.chardScoreEncoded (int), chardScoreVariance (float)
Версионированные CHARD скоры для всего сайта — расширение простого chardEncoded из v0.2.0. chardScoreEncoded = site-level Chard как integer list. chardScoreVariance = разброс Chard скоров по страницам сайта. Chard = CHrome And Review Data quality predictor.
tofu / chard / pnav / impressions / clutterScore
QualityNsrNsrData — ключевые компоненты NSR
tofu — site quality predictor based on content. chardEncoded — CHrome And Review Data, корреляция с human rater оценками. pnav — вероятность навигационного intent. impressions — показы сайта в SERP. clutterScore — штраф за раздражающие ресурсы (go/clutter-v0). Все вместе формируют NSR итог.
Финансы
Идеальный финансовый сайт: высокий tofu (полезный контент), высокий chard (люди возвращаются и дают хорошие отзывы в Chrome), низкий clutterScore (никаких попапов с рекламой займов), высокий pnav (люди ищут именно этот сайт).
ymylNewsV2Score
QualityNsrNsrData.ymylNewsV2Score : float
YMYL news classifier v2 на уровне сайта. Если высокий → сайт является YMYL-новостным ресурсом → повышенные требования к авторитетности и проверке фактов в Q*.
Финансы
РБК, Коммерсант — высокий ymylNewsV2Score. Анонимный «инвестиционный блог» — должен иметь высокий авторитет чтобы конкурировать. Без него: YMYL gate применяется со штрафом.
🎯
siteRadius
QualityAuthorityTopicEmbeddingsVersionedItem.siteRadius : float
Мера отклонения pageEmbedding от siteEmbedding. Высокий siteRadius = страница далеко «уплыла» от основной темы сайта. Вероятно, связан с понижением топикального авторитета. Embeddings 64-мерные (по анализу SEO-сообщества).
Финансы
Сайт «сравнение вкладов» публикует статью «как похудеть за 30 дней»: у этой страницы очень высокий siteRadius → Google понимает, что страница не соответствует теме сайта → потенциальный штраф авторитета. Прунинг off-topic контента = уменьшение siteRadius.
siteFocusScore
QualityAuthorityTopicEmbeddingsVersionedItem.siteFocusScore : float
Насколько сайт сконцентрирован на одной теме. Высокий = тематически чёткий, узкоспециализированный ресурс. Прямо влияет на топикальный авторитет. Является входным сигналом NSR.
Финансы
ipoteka.ru — только про ипотеку: высокий siteFocusScore → топикальный авторитет в ипотечных запросах. banki.ru — широкая тематика: ниже siteFocusScore, но компенсируется масштабом NSR сигналов.
pageEmbedding / siteEmbedding
QualityAuthorityTopicEmbeddingsVersionedItem.pageEmbedding, siteEmbedding : String (compressed)
pageEmbedding — тематический вектор конкретной страницы. siteEmbedding — центроид всего сайта (усреднённый вектор всех страниц). siteRadius = дистанция между ними. Оба сжаты в String для экономии места. Вероятно, 64-мерные float32 → сжаты до ~256 байт.
versionId
QualityAuthorityTopicEmbeddingsVersionedItem.versionId : integer
Версия модели embedding. Позволяет параллельно тестировать несколько версий topic embeddings без переиндексирования. Список topicEmbeddingsVersionedData в CompressedQualitySignals может содержать несколько versionId одновременно.
🚫
DocLevelSpamScore
PerDocData.DocLevelSpamScore : integer [0–127, 7-bit]
Спам-скор на уровне документа. 7-бит, 0–127. Вычисляется SpamBrain. Высокий → понижение или исключение из индекса.
spambrainTotalDocSpamScore
PerDocData.spambrainTotalDocSpamScore : float [0.0–1.0]
Итоговый SpamBrain скор на уровне документа, float 0–1. Более новая версия DocLevelSpamScore с большей точностью.
Финансы
Страница «займы онлайн» с накрученными ссылками и скрытым текстом: spambrainTotalDocSpamScore ≈ 0.9 → документ исключается из serving.
spambrainData (site-level)
PerDocData.spambrainData → SpamBrainData.site + versionedData[]
Site-level SpamBrain скоры: поле site (sitechunk) + массив SpamBrainScore с версионированными классификаторами. Применяется ко всем документам сайта, а не только к конкретной странице.
spambrainLavcScore
QualityNsrNsrData.spambrainLavcScore : float
SpamBrain LAVC (Link-Aware Vertical Classifier), июль 2022. Скор анализирует ссылочный профиль сайта для определения спама. go/cloverfield-lavc-deck.
Финансы
Сайт с покупными ссылками с PBN-сетей: аномальный ссылочный профиль → высокий LAVC → NSR штраф.
GibberishScore / KeywordStuffingScore / SpamWordScore
PerDocData — text quality signals [0–127, 7-bit]
GibberishScore — автосгенерированный/бессвязный текст. KeywordStuffingScore — аномально высокая плотность ключевых слов. SpamWordScore — спамные слова в тексте. Все 7-бит, 0–127.
Финансы
«Купить дешевый кредит онлайн срочно без проверок лучший кредит купить кредит онлайн дешево» — максимальный KeywordStuffingScore.
QuarantineInfo
PerDocData.QuarantineInfo : integer (bitmask)
Битовая маска карантинных флагов: QUARANTINE_WHITELIST, QUARANTINE_URLINURL и другие. Документ может быть полностью изолирован от serving (не отображается в выдаче) без полного удаления из индекса.
IsAnchorBayesSpam
PerDocData.IsAnchorBayesSpam : boolean
Флаг байесовского классификатора анкорного спама. Если входящие ссылки содержат типично спамные анкорные тексты → IsAnchorBayesSpam=true.
uacSpamScore
PerDocData.uacSpamScore : integer [0–127], порог ≥64 = спам
User Abuse Classifier spam score. Порог ≥ 64 = документ классифицирован как спам.
📝
OriginalContentScore
PerDocData.OriginalContentScore : integer [0–127, encoded from 0–512]
Оценка оригинальности контента. Применяется только для страниц с малым количеством контента. Реальный диапазон 0–512, сжимается в 7-бит через OriginalContentScore API.
Финансы
Страница «условия ипотеки» только из таблицы ставок скопированных с ЦБ: низкий OriginalContentScore. Та же страница + авторский анализ, советы по выбору: высокий.
webrefEntities
PerDocData.webrefEntities → RepositoryWebrefWebrefMustangAttachment
WebRef entities — сущности Knowledge Graph, связанные с документом. Критически важно для E-E-A-T: Google распознаёт упомянутые компании, людей, продукты. Также: totalClicks из navboost данных есть в RepositoryWebrefDocumentMetadata.
Финансы
Статья упоминает «ЦБ РФ», «Московская биржа», «ОФЗ», «Эльвира Набиуллина» — все распознаются как KG сущности → documentMetadata = финансовый авторитетный контент.
salientTerms (через WebRef)
RepositoryWebrefDocumentMetadata.salientTerms → QualitySalientTermsSalientTermSet
Salient Terms — наиболее значимые термины документа. Используются для WebRef entity analysis: «title contains 'restaurants' → more likely to be a list page». Влияют на тематическую классификацию.
bodyWordsToTokensRatio
PerDocData.bodyWordsToTokensRatioBegin, bodyWordsToTokensRatioTotal
Отношение слов к токенам в начале (Begin) и во всём документе (Total). Низкий ratio = страница перегружена структурной разметкой/кодом относительно реального текста. Сигнал «thin content».
Финансы
Landing page банка с огромным JS-кодом и малым текстом: низкий ratio. Статья «как выбрать НПФ» на 3000 слов: высокий ratio → «текстово богатый» документ.
asteroidBeltIntents
PerDocData.asteroidBeltIntents → QualityOrbitAsteroidBeltDocumentIntentScores
Intent scores от системы go/asteroid-belt: вероятности покрытия различных поисковых интентов. Документ может покрывать несколько интентов одновременно (informational, transactional, navigational, commercial investigation).
Финансы
Статья «Что такое ИИС и как его открыть»: informational intent HIGH + commercial investigation intent MEDIUM. Страница «Открыть ИИС»: transactional intent HIGH. Разные позиции для одинаковых запросов в зависимости от intent.
totalClicks (WebRef)
RepositoryWebrefDocumentMetadata.totalClicks : float (from navboost)
Общие клики на документ из navboost данных, хранятся в WebRef DocumentMetadata. Используется в WebRef entity analysis для понимания популярности страницы при entity recognition.
richsnippet
CompositeDoc.richsnippet → RichsnippetsPageMap
Структурированные данные извлечённые из контента (Schema.org, JSON-LD, Microdata). Влияет на rich snippets в SERP и является сигналом структурированности контента.
Финансы
Страница вклада с schema.org/BankAccount: появляется в Knowledge Panel. FAQ schema: featured snippets. Breadcrumbs schema: улучшенный сниппет с путём.
labelData
CompositeDoc.labelData → QualityLabelsGoogleLabelData
Google Labels — внутренние метки документа с confidence scores. Система классификации содержит тысячи категорий. Определяет к каким вертикалям относится страница (финансы, здоровье, новости, ecommerce...).
📅
lastSignificantUpdate
PerDocData.lastSignificantUpdate : Unix timestamp (seconds)
Unix timestamp последнего значимого обновления. Источник: quality_timebased.LastSignificantUpdate, комбинируется через LSUSelector из множества сигналов. Используется в «Date Last Modified» toolbelt restrict mode.
Финансы
Статья про «ставка ЦБ» с lastSignificantUpdate = 2022-01-01 (3 года назад) → freshness twiddler понижает позиции для time-sensitive запросов про актуальную ставку.
timeSensitivity
PerDocData.timeSensitivity : integer (encoded)
Закодированный Document Time Sensitivity signal. Для запросов с высокой временной чувствительностью (новости, события, актуальные данные) этот сигнал учитывается при freshness scoring.
Финансы
«Курс доллара сейчас» — максимальный timeSensitivity. «История создания Сбербанка» — минимальный. Один и тот же контент по-разному ранжируется в зависимости от типа запроса.
semanticDate / semanticDateInfo
PerDocData.semanticDate : 32-bit Unix date + confidence
semanticDate — оценочная дата содержания из текста, якорей и связанных документов. 32-бит UNIX date. semanticDateInfo — confidence для дня/месяца/года, используется freshness twiddlers. Разница с syntacticDate: semantic = «о чём период», syntactic = «когда опубликовано».
freshboxArticleScores
PerDocData.freshboxArticleScores : encoded integer
Три freshness-классификатора в одном поле: freshbox article score (это свежая новостная статья?), live blog score (это активно обновляемый liveblog?), host-level article score (хост публикует статьи?). Encoding API: quality/freshness/freshbox/goldmine/freshbox_annotation_encoder.h.
Финансы
«Онлайн-трансляция заседания ЦБ по ставке»: высокий live blog score → показывается в «In the news» и получает freshness буст. Evergreen статья «что такое облигация»: низкий freshbox, высокий base quality.
isHotdoc
PerDocData.isHotdoc : boolean
Флаг FreshDocs instant doc joiner. Документ только что проиндексирован через real-time pipeline (go/freshdocs-hotdocs). Временный буст для новых документов пока накапливаются нормальные сигналы.
📍
brainloc
PerDocData.brainloc → QualityGeoBrainlocBrainlocAttachment
Brainloc — ML-based определение геолокации документа (ariane/273189). Используется для локального ранжирования. Отдельная ML-модель поверх geodata для более точного определения.
Финансы
Страница «банки Екатеринбурга»: brainloc определяет регион → появляется в выдаче при геолоцированных запросах из Екатеринбурга. Важно для региональных банков и МФО.
localityScore
QualityNsrNsrData.localityScore : float
Locality component LocalAuthority сигнала (go/pq-localauthority). Насколько сайт является авторитетным именно в данном регионе. Часть NSR, влияет на локальное ранжирование.
Финансы
«Россельхозбанк» имеет высокий localityScore для сельских регионов России. «Ак Барс Банк» — для Татарстана. Крупные федеральные банки: равномерно высокий по всем регионам.
isElectionAuthority / isCovidLocalAuthority
QualityNsrNsrData + PerDocData — специальные биты
Специальные bits авторитетности для чувствительных тем. Применяются к официальным государственным источникам. Аналоги для финансов: ЦБ РФ, Минфин, МосБиржа получают подобный elevated status в финансовых запросах.
⚙️
voltData
PerDocData.voltData → IndexingMobileVoltVoltPerDocData
VOLT (ariane/4025970) — Page UX signals для ранжирования. Аналог Core Web Vitals группы сигналов. Хранит данные о скорости загрузки, стабильности и интерактивности страницы.
Финансы
Сайт банка с тяжёлым React-приложением, LCP = 8 сек, CLS = 0.5 → низкий voltData → штраф в ранжировании. Лёгкий финансовый калькулятор: отличный voltData.
desktopInterstitials
PerDocData.desktopInterstitials → IndexingMobileInterstitialsProtoDesktopInterstitials
Сигнал наличия desktop-интерстициалов (навязчивые полноэкранные рекламные окна). Штраф за intrusive interstitials — подтверждает, что Google действительно алгоритмически наказывает за этот UX.
Финансы
«Получите кредит 0%! Нажмите здесь» — всплывает при открытии страницы → desktopInterstitials сигнал активен → штраф в Q*.
badSslCertificate
CompositeDoc.badSslCertificate → IndexingBadSSLCertificate
Присутствует если страница или её redirect chain имеет плохой SSL сертификат. Прямое влияние на Trust сигналы — критично для финансовых сайтов, где доверие абсолютно необходимо.
domainAge / hostAge
PerDocData.domainAge [16-bit], hostAge [16-bit, с 2005-12-31]
domainAge — возраст домена. hostAge — самая ранняя дата firstseen для страниц хоста (16-бит, 0 для всего до 2006-01-01). Используются для «sandbox fresh spam» — новые сайты временно ограничены в ранжировании.
Финансы
Новый финтех-стартап с доменом 3 месяца: hostAge минимальный → sandbox ограничения даже при хорошем контенте. Нужно время для накопления сигналов.
registrationinfo
CompositeDoc.registrationinfo → RegistrationInfo (domainedge signal)
Дата создания и истечения регистрации домена из domainedge signal. Длинная регистрация = серьёзный сайт (не спамный doorway). Срок регистрации коррелирует с доверием.
Финансы
Домен зарегистрирован до 2030 года → сигнал долгосрочного намерения → Trust+. Домен зарегистрирован на 1 год → потенциально спамный doorway → нет бонуса.
Условные обозначения цветов
Navboost / CRAPS / Spam
Q* Scoring / Demotions
NSR / Site Quality
Topic Embeddings
Links / Tech / Domain
Freshness / Geo
Content / Entities
Путь оценки документа
10 этапов · реальные protobuf-поля из утечки API 2024 · нажми блок чтобы раскрыть поля
🕷
Этап 0
Crawl → Index → CompositeDoc
Alexandria строит главный контейнер всех данных о документе и записывает в CDoc storage.
+
CompositeDoc GDocumentBase ContentChecksum96
CompositeDoc.docGDocumentBase
CompositeDoc.ContentChecksum96Fprint96
CompositeDoc.storageRowTimestampMicrosString
CompositeDoc.robotsinfolistCompositeDocRobotsInfoList
CompositeDoc.dataVersionIndexingDocjoinerDataVersion
link extraction · anchor accumulation
🔗
Этап 1
PageRank + IndyRank + Anchors
Три версии PageRank параллельно. Каждая ссылка — sourceType, weight, pagerankWeight, locality, encodedNewsAnchorData.
+
pagerank0/1/2 ScaledIndyRank pagerankWeight sourceType
PerDocData.pagerank0/1/2float — три версии параллельно
PerDocData.ScaledIndyRankinteger [16-bit, 0–65535]
PerDocData.toolbarPagerankinteger [0–10] / fakepr
PerDocData.homepagePagerankNsinteger
PerDocData.onsiteProminenceinteger [13-bit]
AnchorsAnchor.weightinteger [0–127]
AnchorsAnchor.sourceTypeHIGH / MEDIUM / LOW / FRESHDOCS
AnchorsAnchor.pagerankWeightfloat
AnchorsAnchor.encodedNewsAnchorDatainteger — бонус новостных ссылок
AnchorsAnchor.locality / bucketquality indicators
Финансы
Forbes/RBC → sourceType=HIGH_QUALITY, высокий pagerankWeight. Каталог → LOW_QUALITY, минимальный вес. ScaledIndyRank растёт при ссылках с независимых доменов, а не одной PBN-сети.
SpamBrain scoring · QuarantineInfo
🚫
Этап 2
SpamBrain + AbuseIAm
Первый барьер до ранжирования. Высокий спам-скор → QuarantineInfo bitmask → документ изолируется.
+
spambrainTotalDocSpamScore DocLevelSpamScore LAVC QuarantineInfo
PerDocData.spambrainTotalDocSpamScorefloat [0–1]
PerDocData.DocLevelSpamScoreinteger [0–127, 7-bit]
QualityNsrNsrData.spambrainLavcScorefloat — Link-Aware Vertical Classifier
PerDocData.spambrainDataSpamBrainData site-level
PerDocData.GibberishScore / KeywordStuffingScoreinteger [0–127]
PerDocData.IsAnchorBayesSpamboolean
PerDocData.uacSpamScoreinteger [0–127], порог ≥64
PerDocData.QuarantineInfobitmask — QUARANTINE_*
PerDocData.spamCookbookActionSpamCookbookAction — ручные правила
⛔ Спам → стоп
QuarantineInfo → документ изолирован, не участвует в serving
✓ Чистый → далее
Документ входит в основной pipeline
YMYL classification
⚠️
Этап 3
YMYL Gate · повышенные требования
Финансы / медицина / новости — повышенный E-E-A-T порог. Отдельный скор мошенничества scamness.
+
ymylHealthScore ymylNewsV2Score scamness fringeQueryPrior
PerDocData.ymylHealthScoreinteger (go/ymyl-classifier-dd)
PerDocData.ymylNewsScoreinteger
QualityNsrNsrData.ymylNewsV2Scorefloat — site-level
CompressedQualitySignals.scamnessinteger [0–1023]
PerDocData.fringeQueryPriorQualityFringeFringeQueryPriorPerDocData
Финансы
ЦБ РФ, МосБиржа — максимальный авторитет. МФО с признаками пирамиды: scamness высокий → серьёзный штраф. Все финансовые страницы проходят YMYL gate автоматически.
NSR computation · site-level scoring
🧠
Этап 4
Neural Site Rank (NSR)
Главный site-level сигнал. Chrome views + directFrac + CHARD + TOFU + racterScores (AI-детектор) + titlematchScore → siteAuthority в Q*.
+
chromeInTotal directFrac tofu / chard racterScores ✦ titlematchScore ✦ site2vec ✦
QualityNsrNsrData.nsrfloat — итоговый NSR
QualityNsrNsrData.chromeInTotalfloat — Chrome views site-level
QualityNsrNsrData.directFracfloat — доля прямых переходов
QualityNsrNsrData.pnav / pnavClicksfloat — навигационный intent
QualityNsrNsrData.impressionsfloat — показы в SERP
QualityNsrNsrData.tofufloat — content quality predictor
QualityNsrNsrData.chardEncoded / chardScoreEncodedCHrome And Review Data
QualityNsrNsrData.titlematchScorefloat v0.4.0
QualityNsrNsrData.racterScoresAGC AI-content detector v0.4.0
QualityNsrNsrData.site2vecEmbedding / Encodedsite vector v0.4.0
QualityNsrNsrData.clutterScorefloat — штраф раздражающих элементов
QualityNsrNsrData.nsrVariance / siteQualityStddevразброс качества
Финансы
banki.ru — млн Chrome-переходов, высокий directFrac, низкий racterScore → NSR топ сегмента → siteAuthority ≈ 900+ → буст Q* для всего домена. chromeInTotal публично отрицался Google.
topic embedding · siteRadius computation
🎯
Этап 5
Topic Embeddings · siteRadius
64-мерный вектор страницы vs центроид сайта. Высокий siteRadius = страница «уплыла» от темы. siteFocusScore — концентрация всего домена.
+
siteRadius siteFocusScore pageEmbedding siteEmbedding
QualityAuthorityTopicEmbeddingsVersionedItem.siteRadiusfloat
.siteFocusScorefloat — топикальная концентрация
.pageEmbeddingString compressed 64-dim
.siteEmbeddingString — центроид всех страниц
.versionIdinteger — версия модели
→ CompressedQS.topicEmbeddingsVersionedDataкопируется в superroot
Финансы
Финансовый сайт с рецептами → высокий siteRadius → теряет авторитет в нише. Узкий ипотечный сайт: низкий siteRadius + высокий siteFocusScore → топикальный авторитет.
freshness twiddlers · time-sensitive scoring
📅
Этап 6
Freshness Twiddlers
lastSignificantUpdate + semanticDate + timeSensitivity. Для time-sensitive запросов устаревший контент штрафуется. isHotdoc = real-time буст.
+
lastSignificantUpdate timeSensitivity semanticDate isHotdoc
PerDocData.lastSignificantUpdateUnix timestamp (LSUSelector)
PerDocData.timeSensitivityinteger encoded
PerDocData.semanticDate / semanticDateInfo32-bit Unix + confidence
CompositeDoc.syntacticDateQualityTimebasedSyntacticDate
CompositeDoc.urldatemidnight GMT из URL
PerDocData.freshboxArticleScoresfreshbox + liveblog + host article
PerDocData.isHotdocboolean — FreshDocs instant joiner
Финансы
«Ставка ЦБ 2024» — высокий timeSensitivity. Страница 2022 года с устаревшим lastSignificantUpdate → freshness twiddler понижает вне зависимости от NSR.
Q* preliminary scoring · Flash storage
Этап 7
Q* Scoring · CompressedQualitySignals
Движок Mustang/TeraGoogle. Flash storage. siteAuthority + все демоции (panda, nav, serp, EMD, anchorMismatch) + pqData + productReviewP*.
+
siteAuthority pandaDemotion navDemotion serpDemotion exactMatchDomainDemotion productReviewP*
CompressedQualitySignals.siteAuthorityinteger [0–1023] ← от NSR
.pqDatainteger — page-level PQ encoded
.navDemotioninteger ← от badClicks
.serpDemotioninteger — applied in Q*
.pandaDemotion / babyPandaV2Demotioninteger
.exactMatchDomainDemotioninteger [0–1023]
.anchorMismatchDemotioninteger
.scamnessinteger [0–1023]
.authorityPromotion / lowQuality / unauthoritativeScoreinteger [0–1023]
.productReviewPPromote/DemotePage/Site×1000 floored
.ugcDiscussionEffortScoreinteger
.topicEmbeddingsVersionedData← siteRadius / siteFocusScore
.crapsNewUrlSignals / crapsNewHostSignalslossy-compressed clicks
.pairwiseqVersionedDataPairwiseQ scores
Финансы
kredity-online.ru → exactMatchDomainDemotion. 10k автостраниц → pandaDemotion. МФО без лицензии → scamness высокий. Агрегатор с реальными обзорами → productReviewPPromotePage → буст.
RankEmbed · query embedding vs doc embedding
🔍
Этап 8
RankEmbed · семантический matching
Вектор документа сравнивается с вектором запроса в serving time. Квантизованные 8-бит значения, несколько encoding параллельно.
+
compressedDocumentEmbedding fixedPointEncoding additionalFixedPoint[]
MustangRankEmbedInfo.compressedDocumentEmbedding8×uint64, 8-bit quantized
.fixedPointEncodingbyte[0]=type+embtype
.additionalFixedPointEncodings[]astro rule sets
.scaledFixedPoint4/8Encodingкомпромисс размер/точность
Navboost CRAPS · behavioural re-ranking
🖱
Этап 9
Navboost / CRAPS · финальная коррекция
goodClicks → буст. badClicks → navDemotion. lastLongestClicks — сильнейший сигнал. Срезы по стране / устройству / языку. Работает с 2005 года.
+
goodClicks badClicks → navDemotion lastLongestClicks unicornClicks agingCounts
QualityNavboostCrapsCrapsData.goodClicksfloat
.badClicksfloat → CompressedQS.navDemotion
.lastLongestClicksfloat — самый сильный сигнал
QualityNavboostCrapsCrapsClickSignals.unicornClicksfloat — особо доверенные
.absoluteImpressionsfloat — host-level unsquashed
CrapsData.squashed / unsquashedCrapsClickSignals
.agingCountsQualityNavboostCrapsAgingData — затухание
CrapsFeatureCrapsData.country / device / languageсрезы
.unscaledIpPriorBadFractionfloat — антинакрутка по IP
.voterTokenCountinteger — мин. уникальных пользователей
Финансы
Ипотечный калькулятор с хорошим UX: много lastLongestClicks → мощный буст. Конкурент с агрессивными попапами: badClicks → navDemotion → потеря позиций без изменения контента.
🏆
Финальная позиция в SERP
Все 10 этапов объединяются в итоговый скор. Google запускает тысячи экспериментов через experimentalQstar* без переиндексирования.
experimentalQstarSignal pairwiseqVersionedData nsrEpoch
✦ = добавлено в v0.4.0
Патенты × hexdocs
Пересечения патентов Google с реальными protobuf-полями из утечки API 2024
Пересечения по системам
Navboost / поведенческие
NSR / авторитет / KG
Freshness / QDF
Spam / демоции Q*
Ссылки / Семантика / Intent
EEAT / E-E-A-T
Оценка текста / Panda
🖱
US10133788B1
«Победы» и «Поражения» — Dwell Time как конкурентная метрика
2012
Google отслеживает «Wins» и «Losses» на уровне доменов: если пользователь заходит на страницу А и задерживается дольше, чем на странице Б по тому же запросу — А получает Win, Б — Loss. Это прямой механизм конкурентного Navboost: один сайт буститься, другой демотируется по одному и тому же запросу.
Hex-поля
CrapsData.goodClicks CrapsData.badClicks CrapsData.lastLongestClicks CompressedQS.navDemotion
Финансы: страница «сравнение вкладов» с понятным калькулятором выигрывает у конкурента с агрессивными попапами по каждому сеансу → накапливает Wins → Navboost буст. Без смены контента, только за счёт UX.
US9558233B1
Pull-Push: ссылки без трафика = нулевой вес
2012 · Hyung-Jin Kim, Paul Haahr
Если ссылка не генерирует пропорциональный трафик относительно Dwell Time — она обесценивается. «Push» — ссылка есть. «Pull» — трафик по ней. Нет Pull = ссылка искусственная. Прямое подтверждение связки anchor quality ↔ реальный трафик.
Hex-поля
AnchorsAnchor.sourceType AnchorsAnchor.pagerankWeight CrapsData.impressions
Финансы: покупка 500 ссылок на «кредитный калькулятор» с PBN-сетей, где нет реальных пользователей → Pull=0 → ссылки обесцениваются → spambrainLavcScore растёт.
US8959093B1
Перенос поведенческих сигналов через ссылки к первоисточнику
2010
Если пользователь кликнул на результат А, а затем перешёл по ссылке на страницу Б — положительный поведенческий сигнал может быть частично передан на страницу А (первоисточник). Это «буст по ссылке» через поведение, а не только через PageRank.
Hex-поля
CrapsData.goodClicks AnchorsAnchor.encodedNewsAnchorData
US8463766B1
Время на разделах + закладки = quality score
2005
Google отслеживает время, проведённое на конкретных разделах страницы (не всей странице целиком), и частоту добавления в закладки. Раздел с таблицей ставок, где задерживаются → сигнал что именно этот раздел ценен.
Hex-поля
CrapsData.lastLongestClicks PerDocData.pageregions
Финансы: на странице про ипотеку пользователи задерживаются именно на разделе «таблица ставок» — Google фиксирует это через pageregions + время. Это отдельный сигнал качества раздела, а не только страницы целиком.
US9092510B1
Временной распад кликов — старые сигналы теряют вес
2007
Google снижает вес старых кликовых данных и отдаёт приоритет свежим сигналам. Результаты не могут «залипнуть» в топе только на исторических кликах — нужен постоянный приток свежего вовлечения.
Hex-поля
CrapsData.agingCounts CrapsData.squashed / unsquashed
Финансы: страница про рефинансирование с мощными кликами 2021 года: agingCounts отражает затухание → к 2024 конкурент со свежими кликами обгоняет, несмотря на меньший исторический объём.
US11379490B2
Dwell Score на сниппете — задержка взгляда на результате
2020
Google отслеживает не только клики, но и задержку пользователя на самом сниппете в выдаче (не кликнул, но долго читал описание). Если Dwell Score высокий без клика — может динамически заменить этот результат другим. Это влияет на CTR-динамику в SERP.
Hex-поля
CrapsData.impressions CrapsData.goodClicks / badClicks CompressedQS.serpDemotion
Финансы: сниппет «получить кредит 0%» — пользователи задерживают взгляд (высокий Dwell Score), но не кликают — подозрительно. Google может снизить позицию или подменить результат.
📅
US8832088B1
QDF — Query Deserves Freshness · алгоритм определения
2012
Google динамически определяет «потребность запроса в свежести» через QtoA (Query-to-Answer behavior) и QFval (Freshness Value). Если по запросу фиксируется всплеск поисков — запрос получает высокий QDF. Документы со свежим lastSignificantUpdate бустятся, старые — штрафуются.
Hex-поля
PerDocData.timeSensitivity PerDocData.lastSignificantUpdate PerDocData.freshboxArticleScores PerDocData.isHotdoc
Финансы: «ставка ЦБ 2024» — запрос с резким ростом запросов после заседания ЦБ → QDF высокий → timeSensitivity у документа максимальный → страница без свежего LSU выпадает за несколько часов.
US7797316B2
Link Velocity — скорость появления ссылок как freshness-сигнал
2004
Когда дата обновления документа неизвестна или ненадёжна — Google определяет свежесть по динамике появления входящих ссылок. Быстрый рост числа ссылок за короткий период → документ «горячий». Медленный или нулевой → стареет.
Hex-поля
AnchorsAnchor.firstseenDate AnchorsAnchor.creationDate AnchorsAnchor.deletionDate PerDocData.semanticDate
Финансы: выход обзора нового вклада с быстрым набором ссылок → Link Velocity высокий → Google видит firstseenDate множества свежих anchors → буст freshness.
US8577866B1
Copy History — определение первоисточника контента
2006
Google фиксирует время первого появления фрагментов текста (n-граммов) в индексе. Тот, кто опубликовал первым — первоисточник. Копии получают штраф, оригинал — буст. Это объясняет почему «перепакованные» финансовые новости проигрывают первоисточнику.
Hex-поля
PerDocData.OriginalContentScore CompositeDoc.ContentChecksum96 PerDocData.shingleInfo
Финансы: РБК публикует новость о ставке ЦБ → n-граммы фиксируются за РБК. Агрегатор перепечатывает через 2 часа — Google распознаёт Copy History → штраф за копирование.
US8909628B1
Site Originality Score — оригинальность на уровне сайта
2012
Google вычисляет, какая доля контента сайта впервые появилась именно на нём. Это site-level сигнал оригинальности — отдельный от page-level OriginalContentScore. Сайты с высоким SOS получают авторитетный статус источника.
Hex-поля
PerDocData.OriginalContentScore QualityNsrNsrData.tofu QualityNsrNsrData.articleScore
Финансы: финансовое медиа с оригинальными разборами vs контентная ферма с рерайтами — Site Originality Score вносит вклад в tofu/articleScore NSR.
AU2007200526B2
Исторические данные — контент, ссылки, поведение меняются со временем
2006 · Paul Haahr, Simon Tong
Патент описывает систему оценки качества на основе того, как меняются ссылочный профиль, контент и поведение пользователей со временем. Стабильный рост = доверие. Резкие скачки = подозрение. Именно это создаёт «Google Sandbox» для новых сайтов.
Hex-поля
PerDocData.domainAge PerDocData.hostAge AnchorsAnchor.firstseenNearCreation CrapsData.agingCounts
Финансы: новый финтех-стартап с доменом 2 месяца: hostAge минимальный + никаких исторических данных → «Google Sandbox» активен → ограниченное ранжирование даже при хорошем контенте и ссылках.
⚙️
US8924380B1
Намеренные задержки и «ложные понижения» для поимки спамеров
2010
Google намеренно вносит непредсказуемые задержки и временные понижения после изменения контента или получения новых ссылок. Это «ловушка»: если SEO-манипулятор видит падение и продолжает накачивать ссылки — система фиксирует аномальное поведение. Объясняет нестабильность позиций после ссылочных кампаний.
Hex-поля
CompressedQS.pandaDemotion CompressedQS.serpDemotion PerDocData.spamCookbookAction
Финансы: агрессивная ссылочная кампания для финансового агрегатора → нестабильность позиций первые 2–3 месяца не баг, а «ловушка» для детекции манипуляций по патенту.
US9183499B1
«Плохое соседство» — качество сайта через связанные ресурсы
2013 · Vladimir Ofitserov
Quality Score сайта зависит не только от его собственных характеристик, но и от характеристик связанных ресурсов (сайты-доноры, партнёры, упомянутые источники). Если связанные ресурсы низкого качества → штраф переносится. Прямая реализация «Плохого соседства».
Hex-поля
CompressedQS.siteAuthority QualityNsrNsrData.spambrainLavcScores PerDocData.spambrainData
Финансы: банк разместил ссылки на партнёрские МФО с низким siteAuthority → LAVC-скор банка ухудшается по принципу «плохого соседства» → NSR снижается.
US10402457B1
Социальные связи администраторов — детекция ссылочных сговоров
2016
Google анализирует взаимоотношения между владельцами сайтов через данные соцсетей. Если сайты-доноры управляются людьми, связанными между собой — ссылки классифицируются как «предвзятые» (Biased) и их вес снижается. Прямой механизм против PBN.
Hex-поля
PerDocData.ScaledIndyRank AnchorsAnchor.sourceType CompressedQS.anchorMismatchDemotion
Финансы: сеть «независимых» финансовых блогов, управляемых одной командой → Google определяет связь через аккаунты → ScaledIndyRank низкий → ссылочный вес минимален несмотря на количество.
US8250114B2
Производная PageRank — выявление Link Farms через математику
2004
Резкое изменение производной функции PageRank по «фактору связности» = аномалия. Link Farm создаёт ненормально высокую локальную концентрацию ссылок → математическая производная резко растёт → система флагирует.
Hex-поля
PerDocData.pagerank0/1/2 PerDocData.spamrank PerDocData.WhirlpoolDiscount
Финансы: резкий рост ссылок на кредитный агрегатор за 2 недели (PBN-кампания) → производная PR аномальна → система флагирует → spamrank растёт → демоция.
US9623119B1
Динамический вес факторов — ненадёжные сигналы отключаются
2010 · Hyung-Jin Kim
Google динамически переоценивает значимость факторов ранжирования на основе их «надёжности» в конкретном контексте. Если в нише массово манипулируют ссылками — ссылочный фактор автоматически снижается для всей ниши. Объясняет почему разные ниши реагируют на ссылки по-разному.
Hex-поля
CompressedQS.siteAuthority QualityNsrNsrData.nsr PerDocData.ymylHealthScore
Финансы: вся ниша «кредиты онлайн» под манипуляциями → Google автоматически снижает вес ссылочного фактора для этой ниши → поведенческие сигналы становятся важнее. Именно поэтому YMYL-финансы так «трудно» продвигаются ссылками.
🏅
US8839088B1
«Скажи мне, кто твой друг» — авторитет через связи
2008 · Manjunath Srinivasaiah
Google определяет характеристики сущности (сайта, автора, организации) через анализ характеристик связанных с ней сущностей. Если сайт упоминается рядом с авторитетными сущностями KG — авторитет переносится. Обратное тоже верно.
Hex-поля
PerDocData.webrefEntities CompressedQS.authorityPromotion CompressedQS.siteAuthority
Финансы: статья упоминает «ЦБ РФ», «Московская биржа», «ОФЗ» → WebRef entities распознают авторитетные финансовые сущности → authorityPromotion активируется. Обратно: статья упоминает сомнительных «экспертов» → штраф.
US20250190881A1
Качество × популярность автора — единый E-E-A-T скор
2020 · Vladimir Ofitserov
ML-система объединяет сигналы качества (E-E-A-T: экспертиза, авторитетность) и популярности (взаимодействия пользователей) в единый авторский скор. Высокий скор → контент продвигается. Низкий → фильтруется. Первое патентное подтверждение E-E-A-T как числового скора.
Hex-поля
PerDocData.authorObfuscatedGaiaStr CompressedQS.siteAuthority CompressedQS.pqData
Финансы: автор статей про ипотеку с профилем на нескольких авторитетных финансовых ресурсах + высокое engagement → единый E-E-A-T скор автора повышает pqData всех его публикаций.
US20100070510A1
Trust Score асессоров — система агрегации человеческих оценок
2004
Google присваивает асессорам «Trust Score» на основе того, насколько их оценки совпадают с консенсусом. Асессоры с высоким TS влияют на ранжирование сильнее. Это инфраструктура, через которую human rater данные попадают в CHARD и tofu.
Hex-поля
QualityNsrNsrData.chardEncoded QualityNsrNsrData.tofu CompressedQS.pqData
Финансы: CHARD (CHrome And Review Data) = прокси оценок асессоров через поведение Chrome-пользователей. Финансовый сайт, который асессоры оценивают как «надёжный» → chardEncoded высокий → NSR выше.
US9465871B1
Внешняя верификация популярности — соцсети, новости, блоги
2013
Google верифицирует популярность контента через внешние источники: если статья или видео упоминается в новостях, блогах и соцсетях — это независимое подтверждение популярности. Фильтрует накрутки метрик внутри платформы.
Hex-поля
AnchorsAnchor.encodedNewsAnchorData QualityNsrNsrData.nsr CompressedQS.authorityPromotion
Финансы: обзор брокера упомянут в РБК и Forbes → encodedNewsAnchorData у этих ссылок заполнен → NSR буст. Тот же обзор только на affiliate-сетях без упоминаний в медиа — ноль верификации.
🔗
US9569504B1
Навигационный авторитет сайта — доминирование в кликах по бренду
2005
Если пользователи целенаправленно ищут конкретный сайт (навигационный интент подтверждается через доминирование кликов, анкорных текстов или совпадение с URL/заголовком) — сайт получает глобальный авторитетный статус. Это directFrac в NSR.
Hex-поля
QualityNsrNsrData.directFrac QualityNsrNsrData.pnav QualityNsrNsrData.titlematchScore
Финансы: Тинькофф, Сбербанк — люди вводят бренд напрямую → высокий directFrac + pnav. Это невозможно «накрутить» без реальной аудитории. Именно поэтому бренд-строительство важно для NSR.
US20250103662A1
LLM-трансформеры обучаются на PageRank и авторстве
2023
Google встраивает сигналы PageRank, авторства, свежести и вовлечённости напрямую в Attention Mechanism при обучении LLM. Авторитетный контент получает больший вес при генерации ответов. Первый патент, прямо связывающий ранжирование с LLM-обучением.
Hex-поля
PerDocData.pagerank0/1/2 MustangRankEmbedInfo.compressedDocumentEmbedding QualityNsrNsrData.site2vecEmbedding
Финансы: авторитетный банковский контент с высоким PageRank → LLM-модели Google обучены «доверять» ему → при генерации AI Overviews финансовые ответы берутся из авторитетных источников, а не просто релевантных.
US8812520B1
Дополненный граф ресурсов — ссылки + клики + сессии вместе
2010
Google строит «Дополненный Граф Ресурсов» где узлы — не только страницы, но и запросы, клики, сессии пользователей. PageRank-подобный алгоритм запускается по этому объединённому графу. Независимый от запроса скор качества страниц, учитывающий поведение.
Hex-поля
PerDocData.pagerank0/1/2 PerDocData.ScaledIndyRank QualityNsrNsrData.impressions QualityNsrNsrData.pnav
Финансы: именно этот граф объясняет почему NSR (nsr) сильнее чем просто PageRank — он объединяет ссылочный граф с поведенческим. Финансовый сайт с высоким трафиком, но слабыми ссылками может обгонять хорошо слинкованный, но непопулярный.
📝
US7599914B2
Phrase-based searching — «хорошие» и «плохие» фразы как сигнал качества
2004 · Anna Patterson
Система строит индекс на основе предсказательных фраз. «Хорошая» фраза — предсказывает присутствие других фраз: «ипотека под залог» предсказывает «первоначальный взнос», «ставка ЦБ», «страхование». Страница со слабым набором предсказательных фраз → спам-сигнал. Спам-документ идентифицируется именно по числу релевантных фраз в документе. Одновременно это основа для snippet generation и duplicate detection.
Hex-поля
PerDocData.KeywordStuffingScore PerDocData.GibberishScore PerDocData.salientTerms PerDocData.asteroidBeltIntents
Финансы: страница «кредит кредит кредит онлайн срочно кредит без отказа кредит» — нет предсказательных фраз («процентная ставка», «срок погашения», «поручитель») → высокий KeywordStuffingScore → спам-флаг ещё до SpamBrain. Качественная страница про ипотеку содержит весь предсказуемый фразовый контекст → низкий score.
US8321409B2
Word Graph — граф совместной встречаемости слов, term score по позиции и частоте
2011 · Sharad Jain
Для каждого документа строится граф: узлы = слова, рёбра = совместная встречаемость в одном предложении/параграфе. Term score = частота появления + бонус за раннее появление (первое предложение весит больше). Named entity, proper noun → +1 к score, topic-specific term → +3. Затем сравниваются графы документов между собой → re-ranking для разнообразия выдачи.
Hex-поля
PerDocData.webrefEntities PerDocData.salientTerms PerDocData.bodyWordsToTokensRatioBegin PerDocData.asteroidBeltIntents
Финансы: статья «Что такое ОФЗ» начинается с «Облигации федерального займа — государственные ценные бумаги» → named entity «ОФЗ» в первом предложении → term score максимальный → webrefEntities распознаёт финансовые сущности → буст в salientTerms → Google понимает тему без опоры на title.
Практический вывод: вводите ключевые сущности в первом абзаце — это напрямую влияет на term score и webrefEntities recognition.
US9767157B2
Predicting Site Quality — n-gram Panda: буквально сам алгоритм Panda
2013 · Navneet Panda, Yun Zhou
Это и есть технический механизм обновления Panda. Сайт разбивается на n-граммы (2–5 токенов включая пунктуацию). Строится «phrase model»: маппинг относительной частоты n-грамм → baseline site quality score по обучающей выборке «хороших» сайтов. Новый сайт: если его n-граммы по частоте совпадают с паттернами высококачественных сайтов → высокий site quality score → output в ranking engine.
Hex-поля
CompressedQS.pandaDemotion CompressedQS.babyPandaV2Demotion QualityNsrNsrData.tofu PerDocData.GibberishScore QualityNsrNsrData.chardEncoded
Финансы: контентная ферма с 5000 страниц «кредит в [городе]» — n-граммы везде одинаковые, паттерн частоты не совпадает с образцами качественных сайтов → site quality score низкий → pandaDemotion активируется для всего домена, включая потенциально хорошие страницы.
⚠ Panda — site-level демоция. Удаление плохих страниц с домена и улучшение оставшихся = изменение n-gram distribution = выход из под фильтра.
US9116945B1
ML прогнозирует оценки асессоров по click logs — машина учится быть ассесором
2005
Google обучает статистические модели прогнозировать, как асессоры (Quality Raters) оценят релевантность, используя детальные поведенческие данные: pogo-sticking (быстрый возврат), последовательность кликов, время до выбора финального результата. Модель заменяет дорогостоящих асессоров на автоматическую оценку через клики. Прямая связь click logs → predicted rater score → ranking.
Hex-поля
QualityNsrNsrData.chardEncoded QualityNsrNsrData.tofu CrapsData.goodClicks / lastLongestClicks CompressedQS.pqData
Финансы: CHARD (CHrome And Review Data) — это буквально реализация данного патента. Поведение Chrome-пользователей на финансовых страницах прогнозирует оценку асессора → chardEncoded = автоматический proxy рейтинга качества.
🎯
US8548995B1
Агрегированная релевантность сайта / автора — буст для отдельных страниц
2003
Google анализирует набор документов, связанных с целевой страницей (другие страницы того же сайта или автора). Вычисляется агрегированная тематическая релевантность всего набора. Если набор тематически сильный → отдельная страница получает буст, даже если её собственные сигналы слабее. Это site-level topic authority, перенесённый на отдельные страницы.
Hex-поля
QualityAuthorityTopicEmbeddingsVersionedItem.siteFocusScore QualityAuthorityTopicEmbeddingsVersionedItem.siteEmbedding QualityNsrNsrData.nsr
Финансы: сайт с 200 глубокими статьями про ипотеку публикует новую страницу «ипотека на вторичку» — даже без ссылок, NSR всего сайта + siteFocusScore + siteEmbedding работают как буст для новой страницы. Новый домен с одной страницей про ипотеку: нет агрегированного набора → нет буста.
US8739066B1
Тематика из внешних сигналов — не только текст страницы
2004
Google определяет тему документа не только из его текста, но и из: откуда приходят пользователи (входящие ссылки и запросы), куда уходят (исходящие ссылки и клики), какая реклама показывается на странице. Три источника тематического сигнала: контент + ссылки + поведение + реклама. Страница может «стать более финансовой» без изменения контента — за счёт поведенческого профиля аудитории.
Hex-поля
QualityAuthorityTopicEmbeddingsVersionedItem.pageEmbedding PerDocData.asteroidBeltIntents PerDocData.labelData
Финансы: блог про образ жизни с разделом «инвестиции» — входящий трафик с финансовых сайтов + аудитория кликает на финансовые статьи → pageEmbedding раздела смещается в финансовую зону → asteroidBeltIntents определяет commercial investigation intent → раздел конкурирует с финансовыми СМИ.
US9824161B1
Schema.org консенсус — верификация фактов для Featured Snippets
2013
Перед показом данных в Featured Snippet Google ищет «согласованное значение» (Consistent Value) — одно и то же значение у нескольких независимых источников через Schema.org разметку. Единственный источник = не показывает как прямой ответ. Несколько независимых источников с одинаковым значением = показывает.
Hex-поля
CompositeDoc.richsnippet PerDocData.webrefEntities CompositeDoc.labelData
Финансы: актуальная ставка по ипотеке — Featured Snippet появляется только если несколько банков разметили данные через Schema.org/LoanOrCredit с одинаковыми значениями. Один источник → нет Featured Snippet. Практический вывод: Schema.org разметка критична для попадания в direct answers по финансовым запросам.
US7392244B1
Автоматическое обнаружение синонимов через поисковые сессии
2002
Если пользователь делает последовательные запросы с общими словами, но разными — «различающиеся» слова становятся кандидатами в синонимы. Анализируются анкорные тексты ссылок на одни и те же страницы: разные анкоры → страница об одном и том же. Система постоянно обновляет свой словарь синонимов из поисковых логов.
Hex-поля
PerDocData.salientTerms AnchorsAnchor.text QualityNsrNsrData.titlematchScore
Финансы: «ипотека» и «жилищный кредит» — Google знает что это синонимы из миллиардов сессий. Страница, оптимизированная только под «ипотека», автоматически ранжируется и по «жилищный кредит». Но: titlematchScore выше у страниц с явным совпадением по обоим терминам.
🧬
US8631094B1
Кратчайшие пути до Seeds — TrustRank-аналог Google
2009
Google вычисляет кратчайшие пути от каждого узла (сайта) в веб-графе до набора предопределённых авторитетных Sources («Seeds» — Википедия, официальные сайты, крупные СМИ). Чем ближе сайт к Seeds через граф ссылок — тем выше его авторитет. Это распределённая система TrustRank без единой точки отказа, работающая на петабайтах данных.
Hex-поля
CompressedQS.siteAuthority PerDocData.ScaledIndyRank PerDocData.pagerank0/1/2
Финансы: ЦБ РФ — прямой Seeds-источник → siteAuthority максимальный. Банк первого уровня → 1 шаг от Seeds через ссылку с ЦБ → высокий siteAuthority. Новый финтех → 4–5 шагов от ближайшего Seeds → низкий. Именно поэтому одна ссылка с cbr.ru стоит дороже 100 ссылок с агрегаторов.
US8732167B1
Определение главной сущности страницы + Disambiguation
2009 · Manjunath Srinivasaiah
Когда сущность неоднозначна («Сбербанк» — банк, название компании или бренд?), система анализирует: доминирование упоминаний на странице (соотношение), анкорные тексты входящих ссылок, структуру контента. Определяется «основная сущность» страницы (Primary Entity) → используется для KG disambiguation и ранжирования в вертикальных поисках.
Hex-поля
PerDocData.webrefEntities PerDocData.salientTerms AnchorsAnchor.text
Финансы: страница с 80% упоминаний «Тинькофф Банк» + входящие ссылки с анкорами «тинькофф» → webrefEntities распознаёт Primary Entity = Тинькофф (финансовый институт) → страница получает Knowledge Panel и ранжируется в брендовых запросах с приоритетом.
US20140280133A1
Schema.org отслеживает вовлечённость на уровне сущностей, не URL
2013
Google связывает поведение пользователей (время на странице, клики) не с URL, а с конкретными сущностями через Schema.org разметку. Если пользователь провёл 10 минут на странице про «вклад Максимум Сбербанк» — поведенческий сигнал привязывается к сущности «вклад Максимум», а не просто к URL страницы. Это позволяет переносить reputation между URL при редизайне/переезде.
Hex-поля
CompositeDoc.richsnippet PerDocData.webrefEntities RepositoryWebrefDocumentMetadata.totalClicks
Финансы: банк переехал с mybank.ru/vklady на mybank.ru/deposits — при наличии Schema.org разметки поведенческие сигналы (totalClicks, вовлечённость) сохраняются на уровне сущности «вклады Mybank», а не теряются при смене URL. Без разметки — всё обнуляется.