Google использует комплексную систему для обнаружения дубликатов, которая сравнивает как исходный HTML-код (Fetched Body), так и финальную версию страницы после выполнения JavaScript (Synthetic Body). Система вычисляет множество сигналов сравнения, включая основанные на контексте запроса (сниппеты), и использует модель машинного обучения для определения вероятности того, что страницы являются дубликатами.
Описание
Какую задачу решает
Патент решает проблему неточного обнаружения дубликатов контента. Традиционные методы часто дают сбой из-за различий в окружающем контенте (boilerplate), таком как навигация или реклама, при идентичном основном содержании (core content). Кроме того, они неэффективны при обработке динамического контента (JavaScript, AJAX), который изменяет страницу во время рендеринга, и уязвимы к спам-тактикам (например, скрытым ключевым словам). Цель изобретения — повысить точность (precision) и полноту (recall) обнаружения дубликатов, что позволяет улучшить качество выдачи и оптимизировать ресурсы сканирования.
Что запатентовано
Запатентована система обнаружения дубликатов, использующая гибридный подход, который анализирует как нерендеренные (non-rendered), так и рендеренные (rendered) версии документов. Система генерирует множество сигналов (signals) сравнения различных атрибутов обеих версий. Эти сигналы, включая сигналы, основанные на контексте запроса (query-based signals), объединяются в вектор и передаются обученной модели машинного обучения (Machine Learning classifier model), которая вычисляет уверенность (confidence) в том, что два документа являются дубликатами.
Как это работает
Ключевой механизм заключается в сравнении двух состояний документа:
- Fetched Body (Исходный код): Анализ сырого HTML, полученного с сервера.
- Synthetic Body (Рендеренная версия): Анализ сериализованной объектной модели документа (DOM) после выполнения динамического контента (например, JavaScript).
Система выполняет множество тестов для сравнения атрибутов (текст, заголовки, ссылки, сниппеты) в обоих состояниях. Результаты этих тестов формируют Signal Vector. Этот вектор обрабатывается ML Model, которая обучена распознавать паттерны, характерные для дубликатов, игнорируя различия в динамическом или шаблонном контенте.
Актуальность для SEO
Высокая. Рендеринг контента и каноникализация являются фундаментальными процессами в современном поиске. Архитектурный подход, описанный в патенте — сравнение контента до и после рендеринга с использованием машинного обучения для принятия окончательного решения — остается крайне актуальным, особенно с учетом повсеместного использования JavaScript-фреймворков. Хотя конкретные сигналы и модели ML могли эволюционировать, общая методология является стандартом.
Важность для SEO
Патент имеет высокое значение для SEO (8/10). Он описывает инфраструктуру, лежащую в основе каноникализации и индексирования. Он подчеркивает, что Google оценивает контент в его финальном, отрендеренном состоянии (Synthetic Body). Это означает, что SEO-специалисты должны анализировать DOM после выполнения JavaScript, чтобы понять, как поисковая система видит уникальность контента. Это критически важно для технического SEO и оптимизации сайтов, активно использующих динамический контент.
Детальный разбор
Термины и определения
- Attributes (Атрибуты)
- Характеристики документа, используемые для сравнения (текст, длина, заголовок, URL, сниппеты, ссылки, количество изображений, данные о кликах и т.д.). Описаны в TABLE 1 патента.
- Distance-based Signals (Сигналы, основанные на расстоянии)
- Класс сигналов, измеряющих степень различия между документами с использованием метрик расстояния (например, расстояние Левенштейна, tf-idf, Jaccard distance).
- DOM (Document Object Model)
- Иерархическое представление отрендеренного документа (Rendered Body).
- Fetched Body (Загруженное тело / Исходный код)
- Нерендеренная версия документа (non-rendered version). Исходный HTML-код, полученный с сервера.
- ML Model (Machine Learning Classifier Model)
- Модель машинного обучения (например, дерево решений, нейронная сеть), обученная классифицировать пары документов как дубликаты на основе входного вектора сигналов.
- Query-based Signals (Сигналы, основанные на запросе)
- Класс сигналов, учитывающих контекст поискового запроса. Включают сравнение сниппетов, частоту терминов запроса, данные о релевантности.
- Rendered Body (Отрендеренное тело)
- Версия документа после его обработки (рендеринга), включающая динамический контент.
- Signal Vector (Вектор сигналов)
- Структура данных, объединяющая все сгенерированные сигналы для пары документов. Служит входом для ML Model.
- Simple Signals (Простые сигналы)
- Класс сигналов, основанных на сравнении базовых атрибутов: заголовков, URL, длины тела, языка документа или классификации спама.
- Synthetic Body (Синтетическое тело)
- Рендеренная версия документа (rendered version), используемая для анализа. Сериализованная версия DOM, включающая весь контент после рендеринга.
Ключевые утверждения (Анализ Claims)
Claim 1 (Независимый пункт): Описывает основной метод обнаружения дубликатов с использованием машинного обучения и анализа двух версий документов.
- Выполнение первого набора тестов на нерендеренных версиях (Fetched Body) первого и второго документов для определения первого набора сигналов. Сравниваются атрибуты тела документа (document body attributes).
- Выполнение второго набора тестов на рендеренных версиях (Synthetic Body) документов для определения второго набора сигналов. Сравниваются атрибуты синтетического тела (synthetic body attributes).
- Обязательное условие: Утверждается, что как минимум один сигнал в каждом наборе должен быть сигналом, основанным на запросе (query-based signal), который базируется на сравнении соответствующих сниппетов (snippet) документов.
- Генерация вектора сигналов (signal vector), включающего первый и второй наборы сигналов.
- Предоставление вектора сигналов на вход ML Model, обученной определять уверенность (confidence) в том, являются ли документы дубликатами.
Ядром изобретения является обязательная комбинация анализа сырого HTML и финального отрендеренного DOM, использование широкого спектра сигналов, включая специфичные для запроса (сниппеты), и применение ML для принятия финального решения.
Claims 3-6 (Зависимые): Уточняют типы и примеры сигналов.
- Сигналы делятся на три класса: distance-based, simple или query-based (Claim 3).
- Приводятся конкретные примеры алгоритмов и метрик для каждого типа (например, расстояние Левенштейна, TF-IDF, сравнение заголовков, URL, частота терминов запроса).
Claim 9 (Зависимый): Описывает процесс улучшения модели ML (Active Learning).
Если уверенность (confidence), выданная моделью, ниже порога, система может запросить оценку у человека-асессора (human comparison). Эта оценка затем используется для дообучения классификатора и создания новой модели с улучшенной точностью.
Где и как применяется
Изобретение применяется преимущественно на этапе индексирования для управления качеством индекса и каноникализации.
CRAWLING – Сканирование и Сбор данных
Система может использовать результаты обнаружения дубликатов для оптимизации краулингового бюджета, избегая сканирования зеркального контента (mirrored content) и бесконечных хостов (infinite hosts).
INDEXING – Индексирование и извлечение признаков
Основной этап применения.
- Рендеринг (WRS): Система обрабатывает Fetched Body и выполняет рендеринг для получения DOM и Synthetic Body.
- Извлечение признаков и Генерация Сигналов: Извлекаются атрибуты из обеих версий, вычисляются сигналы сравнения с другими документами.
- Каноникализация: ML Model используется для определения дубликатов. Результат (confidence score) влияет на выбор канонической версии и решение о включении документа в основной индекс.
RANKING – Ранжирование
На этом этапе могут вычисляться или учитываться query-based signals (например, сравнение сниппетов), так как они зависят от контекста конкретного запроса.
Входные данные:
- Fetched Body и Synthetic Body двух сравниваемых документов.
- Атрибуты, извлеченные из этих тел (текст, ссылки, метаданные и т.д.).
- Поисковый запрос (для query-based signals).
- Данные о релевантности (например, клики пользователей).
Выходные данные:
- Оценка уверенности (confidence), указывающая на вероятность того, что два документа являются дубликатами.
На что влияет
- Типы контента и технологии: Наибольшее влияние оказывается на контент, генерируемый динамически (JavaScript, AJAX, SPA), а также на синдицированный контент или контент в разных форматах (например, версия для печати, AMP).
- E-commerce: Влияет на страницы товаров, которые могут незначительно отличаться (например, только артикулом или цветом).
- Специфические запросы: Патент требует использования query-based signals. Это означает, что решение о дублировании может зависеть от контекста запроса. Два документа могут быть признаны дубликатами для одного запроса, но уникальными для другого.
Когда применяется
Алгоритм применяется в процессе индексирования для определения уникальности нового или обновленного документа и выбора канонической версии.
- Оптимизация: В патенте упоминается возможность использования «простых скрининговых тестов» (simple screening tests). Если предварительные тесты показывают низкую вероятность дублирования, полный анализ может не проводиться.
- Пороговые значения: Порог уверенности используется для принятия решения. Если уверенность низкая, может быть задействован процесс с участием асессоров (Claim 9).
Пошаговый алгоритм
Процесс обнаружения дубликатов для пары документов (Документ 1 и Документ 2):
- Получение исходных данных: Система получает Fetched Body (исходный код) для обоих документов.
- Рендеринг и генерация DOM: Система выполняет рендеринг обоих документов, включая выполнение JavaScript и загрузку динамического контента, для создания DOM.
- Генерация Synthetic Body: DOM сериализуется в Synthetic Body для обоих документов.
- Выбор атрибутов (Attribute Selection): Система выбирает атрибуты для сравнения из Fetched Bodies и Synthetic Bodies. Может применяться фильтрация для исключения изменчивого контента (например, рекламы) из некоторых тестов.
- Генерация первой группы сигналов (Non-Rendered): Выполняется набор тестов (Distance-based, Simple, Query-based) для сравнения атрибутов Fetched Bodies.
- Генерация второй группы сигналов (Rendered): Выполняется набор тестов для сравнения атрибутов Synthetic Bodies.
- Формирование Signal Vector: Все сгенерированные сигналы объединяются в единый Signal Vector.
- Классификация (ML Model): Signal Vector подается на вход обученной модели машинного обучения.
- Определение Confidence Score: Модель вычисляет уверенность в том, что документы являются дубликатами.
- Пост-обработка (Опционально): Если Confidence Score ниже порога, документы могут быть отправлены на ручную проверку асессорам для дообучения модели.
Какие данные и как использует
Данные на входе
Патент предоставляет обширный список атрибутов (TABLE 1), которые могут использоваться:
- Контентные факторы: Содержимое тела, заголовок (title), видимый текст (для сниппетов), коллекции слов и N-грамм, самая длинная общая подстрока.
- Технические факторы: URL, домен, длина документа (length), длина сжатой версии.
- Ссылочные факторы: Количество входящих ссылок (anchors), домены входящих и исходящих ссылок и их частота.
- Поведенческие факторы (Relevance Data): Данные о релевантности документа запросу. Пропорция или абсолютное число кликов (clicks) в результатах поиска.
- Мультимедиа факторы (для Rendered Body): Количество изображений. Количество пикселей, занятых изображениями по сравнению с текстом.
- Системные факторы: Классификация документа как спам. Определение языка документа. Список и частота запросов, по которым документ был показан.
Какие метрики используются и как они считаются
Система использует комбинацию метрик для генерации сигналов (TABLE 2):
1. Метрики схожести (Distance-based signals):
- Строковые метрики: Расстояние Хэмминга, Левенштейна, Дамерау-Левенштейна. Самая длинная общая подпоследовательность (longest subsequence). Расстояние Жаккара (Jaccard distance).
- Векторные метрики: Term frequency-inverse document frequency (TF-IDF). Упоминается сравнение топ-100 TF-IDF терминов.
- Хеширование: Алгоритм Charikar random-hyperplane hashing.
- Метрики сжатия: Modified normal compression distance (MCD).
2. Простые метрики (Simple signals):
- Сравнение заголовков, URL, доменов.
- Сравнение длин документов (Body length distance — BLD).
3. Метрики на основе запроса (Query-based signals):
- Сравнение сниппетов (обязательно согласно Claim 1).
- Частота терминов запроса.
- Сравнение данных о релевантности (клики).
Методы машинного обучения:
Для агрегации сигналов используется обученный классификатор. Упоминаются propositional rule learner (JRIP, RIPPER), decision tree classifier (J48, ID3, C4.5), нейронные сети, байесовские сети, логистическая регрессия и другие.
Выводы
- Рендеринг критичен для оценки уникальности: Ключевой вывод — необходимость анализа контента как до (Fetched Body), так и после (Synthetic Body) рендеринга. Google оценивает дублирование на основе того, что пользователь видит в браузере, включая контент, загруженный динамически через JavaScript.
- Комплексный подход (Beyond Text Similarity): Обнаружение дубликатов — это не результат работы одного алгоритма. Это результат работы системы машинного обучения, которая взвешивает множество разнообразных сигналов (текстовых, структурных, ссылочных и поведенческих).
- Устойчивость к манипуляциям и Boilerplate: Использование ML Model, агрегирующей множество сигналов, делает систему устойчивой к попыткам обмана отдельных алгоритмов. Различия в шаблонном или динамическом контенте (например, рекламе) могут игнорироваться, если основной контент идентичен.
- Дублирование зависит от контекста запроса: Патент явно требует использования query-based signals (в частности, сравнение сниппетов). Это означает, что оценка уникальности контента может меняться в зависимости от того, какой запрос ввел пользователь.
- Итеративное улучшение модели (Active Learning): Система предусматривает механизм обратной связи, при котором низкая уверенность модели приводит к ручной оценке асессорами, что позволяет постоянно улучшать точность классификатора.
Практика
Best practices (это мы делаем)
- Анализ контента после рендеринга (DOM): SEO-специалисты должны оценивать уникальность контента, анализируя DOM (или Synthetic Body), а не только исходный HTML-код. Это особенно важно для сайтов на JavaScript (SPA). Используйте инструменты Google (GSC URL Inspection, Mobile-Friendly Test) для проверки отрендеренного контента.
- Обеспечение корректного рендеринга (JavaScript SEO): Гарантируйте доступность критических ресурсов (JS/CSS) для Googlebot. Для сайтов с Client-Side Rendering (CSR) необходимо убедиться, что контент рендерится корректно, или рассмотреть использование SSR/Dynamic Rendering.
- Обеспечение уникальности основного контента (Core Content): Сосредоточьтесь на создании уникального основного контента. Система разработана так, чтобы игнорировать различия в шаблонных элементах (boilerplate), таких как навигация или футер.
- Оптимизация сниппетов для демонстрации уникальности: Поскольку query-based signals и сравнение сниппетов являются обязательной частью системы (Claim 1), важно, чтобы видимый текст на странице позволял генерировать уникальные сниппеты для целевых запросов. Это поможет дифференцировать похожие страницы (например, карточки товаров).
- Управление каноникализацией: Внедряйте четкие сигналы каноникализации (rel=»canonical»). Хотя система Google может принимать собственное решение на основе ML, ваши указания являются важным сигналом.
Worst practices (это делать не надо)
- Блокировка критических ресурсов: Блокировка JS/CSS файлов, необходимых для рендеринга основного контента. Это может привести к тому, что Synthetic Body будет неполным, вызывая неправильную классификацию страницы.
- Попытки скрыть дублирование мелкими правками кода: Незначительные изменения в исходном коде, перестановка блоков или добавление невидимого текста не помешают системе обнаружить дубликаты, так как анализируется рендеренная версия и используется множество сигналов.
- Клоакинг (Cloaking): Показ разного контента в Fetched Body и Synthetic Body с целью манипуляции поисковой системой. Система анализирует обе версии.
- Создание множества страниц с минимальными отличиями (Near-Duplicates): Создание страниц (например, вариантов товаров или локальных лендингов), отличающихся только незначительными деталями. Если система не считает эти отличия существенными для основного содержания или контекста запроса, они будут классифицированы как дубликаты.
Стратегическое значение
Патент подтверждает фундаментальную важность этапа рендеринга в архитектуре Google. Стратегии, основанные только на анализе статического HTML, устарели. Для успешного SEO необходимо глубокое понимание того, как Googlebot сканирует, рендерит и интерпретирует контент. Кроме того, патент демонстрирует, что каноникализация — это сложный процесс, основанный на машинном обучении и учитывающий контекст запроса, а не просто набор жестких правил. Это подчеркивает необходимость комплексного подхода к созданию уникального контента и технической оптимизации рендеринга.
Практические примеры
Сценарий 1: Сравнение AMP и основной версии страницы
- Ситуация: Есть основная страница (Doc 1) и ее AMP-версия (Doc 2). Их HTML-код (Fetched Body) сильно различается из-за спецификаций AMP.
- Анализ Fetched Body: Сигналы показывают значительные различия.
- Анализ Synthetic Body: После рендеринга основной контент, заголовки и видимый текст практически идентичны. Сигналы показывают высокую степень сходства.
- Решение ML Model: Модель получает противоречивые сигналы, но, будучи обученной фокусироваться на основном контенте, она присваивает больший вес сигналам из Synthetic Body.
- Результат: Система классифицирует страницы как дубликаты с высокой степенью уверенности, несмотря на разный исходный код.
Сценарий 2: Управление вариантами товара в E-commerce
- Ситуация: Футболка доступна в цветах: Красный (Doc 1) и Синий (Doc 2). Описание идентично, отличаются только цвет и артикул в тексте и заголовке.
- Анализ Synthetic Body: Distance-based signals (например, TF-IDF) покажут очень высокую степень сходства.
- Детальный анализ: Simple signals зафиксируют разницу в заголовке и тексте. Query-based signals по запросу «красная футболка» покажут разницу в сниппетах.
- Результат: ML Model учитывает эти различия. Если модель обучена распознавать значимость таких атрибутов в контексте E-commerce, она может классифицировать страницы как уникальные. Если различия минимальны и не влияют на сниппеты, они могут быть признаны дубликатами, что требует использования rel=»canonical».
Вопросы и ответы
В чем разница между Fetched Body, Rendered Body и Synthetic Body?
Fetched Body — это исходный HTML-код, полученный от сервера до рендеринга (как «View Source»). Rendered Body — это то, как страница выглядит в браузере после обработки HTML, CSS и выполнения JavaScript. Synthetic Body — это техническое представление Rendered Body (сериализованная версия DOM), которое система использует для анализа отрендеренного контента.
Означает ли этот патент, что Google всегда выполняет JavaScript перед определением дубликатов?
Да, патент описывает систему, которая специально разработана для анализа как исходного кода, так и контента после рендеринга (Synthetic Body), что включает выполнение JavaScript. Это позволяет системе видеть финальную версию страницы и принимать более точные решения о дублировании, особенно для динамических сайтов.
Как система обрабатывает шаблонный контент (boilerplate), например, навигацию или футер?
Система использует несколько механизмов. Во-первых, использование множества сигналов и ML Model позволяет системе научиться распознавать и игнорировать несущественные различия в шаблонных элементах. Во-вторых, в патенте упоминается возможность выбора атрибутов (Attribute Selection), что позволяет исключать изменчивый или нерелевантный контент (например, рекламу или boilerplate) из некоторых тестов сравнения.
Что такое «сигналы, основанные на запросе» (query-based signals) и почему они важны?
Query-based signals — это сравнения, которые выполняются в контексте конкретного поискового запроса, например, сравнение сниппетов (обязательное по Claim 1) или анализ данных о кликах. Они важны, потому что позволяют определить, являются ли два документа взаимозаменяемыми ответами на данный запрос. Две похожие страницы могут быть признаны дубликатами для общего запроса, но уникальными для более специфического.
Могут ли две страницы с разным HTML-кодом быть признаны дубликатами?
Да, абсолютно. Если разный HTML-код (включая скрипты) в результате рендеринга приводит к созданию идентичных или очень похожих Synthetic Bodies (финального контента), система классифицирует их как дубликаты. Система анализирует результат рендеринга, а не только путь его достижения.
Могут ли две страницы с одинаковым HTML-кодом быть признаны уникальными?
Да, это возможно. Если в HTML-коде содержатся скрипты, которые при рендеринге загружают разный динамический контент (например, в зависимости от времени суток или параметров пользователя), то их Synthetic Bodies будут отличаться. Если эти отличия затрагивают основной контент, ML Model может классифицировать их как уникальные.
Использует ли эта система поведенческие факторы (например, CTR) для определения дубликатов?
Да, патент явно упоминает использование поведенческих данных. В списке атрибутов указаны «пропорция или абсолютное число кликов», а в списке query-based signals упоминается «сравнение данных о релевантности» (relevance data), например, количество кликов на документ в результатах поиска.
Как этот патент влияет на SEO для сайтов на JavaScript-фреймворках (SPA)?
Влияние значительно. Для SPA критически важно, чтобы Googlebot мог корректно отрендерить контент и получить полный Synthetic Body. Если рендеринг не удается, система не сможет оценить уникальность контента. SEO-специалисты должны уделять особое внимание технической оптимизации рендеринга (например, используя Dynamic Rendering или SSR), чтобы гарантировать корректную индексацию и каноникализацию.
Может ли система проигнорировать тег rel=»canonical», если обнаружит дубликат?
Да. Тег rel=»canonical» является сильной подсказкой, но не директивой. Описанная в патенте система — это механизм, который Google использует для определения дубликатов на основе анализа контента и других сигналов. Если ML Model с высокой уверенностью определяет, что страница А является дубликатом Б, она может выбрать Б в качестве канонической версии, даже если теги указывают иначе.
Что происходит, если модель машинного обучения не уверена в своем решении?
Патент описывает механизм обратной связи (Claim 9). Если оценка уверенности (confidence) модели ниже определенного порога, пара документов может быть отправлена на ручную проверку асессорам. Их вердикт затем используется для дообучения и улучшения точности ML Model в будущем (Active Learning).