
Патент Google, описывающий фундаментальный механизм индексирования динамического контента, генерируемого на стороне клиента (JavaScript/AJAX). Система идентифицирует «индексируемые фрагменты» в URL (часть после '#'), выполняет клиентский код для генерации финального состояния страницы (DOM) и преобразует его в статический HTML для индексации. Это основа работы современного сервиса рендеринга (WRS).
Патент решает фундаментальную проблему индексирования динамического контента, генерируемого на стороне клиента (например, JavaScript/AJAX). Исторически поисковые системы игнорировали URL-фрагменты (часть после #), так как они использовались для навигации внутри документа (Pointer Fragments). Однако веб-приложения (SPA/AJAX) начали использовать фрагменты для идентификации уникальных состояний контента. Если краулер игнорирует такие фрагменты (Indexable Fragments), он индексирует только базовую страницу, упуская динамический контент.
Запатентована система для индексации контента, доступного по URL-адресам, содержащим Indexable Fragments. Система распознает, что фрагмент указывает на динамический контент, требующий выполнения клиентского кода. Ключевым элементом является Rendering System, который выполняет этот код для достижения финального состояния страницы (DOM tree), которое затем конвертируется в индексируемый формат (HTML).
Система работает как расширение процесса индексирования:
#!) или просто указателем.Base URL).Rendering System загружает базовый контент и выполняет клиентский код (JavaScript), связанный с фрагментом, для генерации финального состояния страницы (Rendered Content).DOM tree) преобразуется (сериализуется) в статический HTML.Высокая (Фундаментальное значение). Этот патент описывает механизм, который лег в основу «AJAX Crawling Scheme» (использование #! или «hashbang»), которая сейчас устарела. Однако сам запатентованный механизм — обнаружение динамического контента, его рендеринг на стороне сервера и последующая индексация отрендеренного HTML — является точным описанием работы современного Googlebot (Web Rendering Service - WRS). Понимание этого патента критически важно для JavaScript SEO.
Патент имеет критическое значение (9/10). Он описывает инфраструктуру, которая позволяет Google индексировать динамический контент (React, Angular, Vue и т.д.). Это подчеркивает необходимость обеспечения того, чтобы JavaScript мог быть корректно и быстро выполнен Googlebot, а весь важный контент присутствовал в финальном DOM.
DOM tree) в индексируемый формат (например, сериализованный HTML).#), который идентифицирует уникальное состояние страницы, сгенерированное путем выполнения клиентского кода (dynamic content). Отличается от Pointer Fragment. Патент упоминает использование специальных символов (например, !) для их идентификации (т.е. #!).embedded resources). Обычно представлено в виде DOM tree.Indexable или Pointer).Base URL и полный URL.Claim 1 (Независимый пункт): Описывает основной процесс индексации URL с динамическим контентом.
indexable fragment. Уточняется, что этот фрагмент связан с динамическим контентом, генерируемым исполняемым кодом (браузером) для частичной модификации страницы.Base URL (часть до фрагмента).Base URL для получения обработанного контента. Важное уточнение: этот контент не включает встроенные ресурсы, подлежащие рендерингу (т.е. это исходный код до выполнения JS).Rendering System рендерит этот обработанный контент вместе с контентом, идентифицируемым полным URL (включая фрагмент), для получения rendered content. Важное уточнение: этот контент включает рендеринг встроенных ресурсов (т.е. после выполнения JS).Content Converter преобразует rendered content в indexable content (код на языке разметки).Ядро изобретения — это использование фрагмента URL как триггера для выполнения клиентского кода и последующего захвата результата для индексации.
Claim 3 (Зависимый от 1): Уточняет процесс идентификации.
Система способна отличить indexable fragment от pointer fragment (который только указывает на специфическую часть веб-сайта).
Claim 9 (Зависимый от 1): Детализирует результат работы Rendering System.
Рендеринг включает вывод Document Object Model (DOM) tree, который содержит динамически обновленные части веб-сайта, связанные с indexable fragment.
Claim 10 (Зависимый от 9): Детализирует работу Content Converter.
Конвертация отрендеренного контента включает сериализацию DOM tree для получения кода HyperText Markup Language (HTML).
Изобретение является ключевой частью инфраструктуры сканирования и индексирования Google, обеспечивающей обработку динамического контента.
CRAWLING – Сканирование и Сбор данных
На этом этапе краулер (Crawler) обнаруживает ссылки. URL Inspector анализирует эти ссылки на наличие фрагментов и классифицирует их. Если фрагмент идентифицирован как Indexable Fragment, запускается специальный процесс обработки, и URL Separator разделяет URL.
INDEXING – Индексирование и извлечение признаков
Это основной этап применения патента, соответствующий современному процессу рендеринга (Web Rendering Service - WRS).
Rendering System эмулирует браузер, объединяя контент Base URL и полный URL с фрагментом. Это заставляет систему выполнить JavaScript и AJAX-запросы для построения финального состояния страницы.Content Converter сериализует полученный DOM tree в HTML.Входные данные:
Base URL.Выходные данные:
Indexable Content), представляющий финальное состояние динамической страницы.URL Inspector классифицирует фрагмент в URL как Indexable Fragment. Патент предлагает несколько методов для этой классификации (варианты реализации): ! после #, т.е. hashbang #!).Процесс обработки URL с индексируемым фрагментом:
www.example.com#!page1).URL Inspector анализирует фрагмент. URL Separator разделяет URL на Base URL (www.example.com) и полный URL (www.example.com#!page1).Index Table с общим флагом) для последующей совместной обработки.Base URL сканируется и обрабатывается (это может произойти независимо или быть инициировано на данном этапе).Base URL и ищет все связанные с ним URL с фрагментами (если используется механизм ассоциации).Base URL вместе с полным URL (с фрагментом) передается в Rendering System.Rendering System эмулирует браузер, загружает ресурсы и выполняет JavaScript. Фрагмент используется для запуска скриптов, которые генерируют динамический контент.DOM Tree.Content Converter сериализует DOM Tree в статический HTML (Indexable Content).Патент фокусируется на инфраструктуре обработки и использует следующие типы данных:
# и последующих символов (например, !) для идентификации Indexable Fragments.Base URL используется как основа для рендеринга.embedded resources), такие как JavaScript, CSS, изображения, а также данные, получаемые через API (AJAX-запросы), необходимы Rendering System для построения финального DOM.Патент не описывает конкретных метрик ранжирования, но описывает механизмы классификации и обработки:
Indexable vs Pointer). Может основываться на синтаксисе (#!), списках сайтов или оценках уверенности от моделей машинного обучения (хотя конкретные модели не детализированы).DOM tree на основе выполнения JavaScript и других ресурсов.DOM tree после выполнения скриптов. Content Converter сериализует этот DOM в HTML. Если контент не попал в DOM, он не будет проиндексирован.Base URL (исходный HTML) и последующий, отдельный этап рендеринга, необходимый для выполнения динамического контента.Pointer Fragments) и фрагменты, используемые для маршрутизации в SPA (Indexable Fragments). Это было критически важно для реализации AJAX Crawling Scheme.Rendering System, Content Converter), являются основой того, как Google обрабатывает JavaScript сегодня, даже несмотря на то, что триггер в виде #! больше не требуется.Хотя патент описывает механизм, связанный с устаревшей AJAX Crawling Scheme (#!), его принципы критически важны для современного JavaScript SEO.
Rendering System нуждается в них для построения DOM.Content Converter (сериализованный DOM). Убедитесь, что весь ключевой контент и ссылки присутствуют в этом коде, а не только в исходном коде (View Source).# или #!) для маршрутизации в SPA, используйте History API (pushState) для генерации чистых URL. Это современный стандарт, который более надежен для поисковых систем.#!) или простых хэшей (#) для нового сайта: Не используйте схему #!, она официально устарела. Использование простых хэшей (#state) для уникального контента рискованно, так как они могут быть восприняты как Pointer Fragments.Rendering System, что приведет к индексации пустого или неполного контента.DOM.Rendering System выполняет скрипты при загрузке, но обычно не симулирует сложные взаимодействия с пользователем (например, клики). Основной контент должен быть доступен в DOM после начальной загрузки.Этот патент знаменует собой важный переход в истории поиска: от сканирования статического HTML к необходимости рендеринга динамического контента. Он подтверждает, что JavaScript SEO — это необходимость, продиктованная архитектурой поисковой системы. Стратегически, это подчеркивает важность оптимизации под процесс выполнения JavaScript (рендеринг) и признания того, что отрендеренный DOM является каноническим контентом.
Сценарий 1: Индексация каталога товаров в ранней версии SPA (Исторический контекст)
www.shop.com#!category=shoes. Список товаров генерируется JavaScript.#!category=shoes и индексировал только www.shop.com. Контент категории «Обувь» терялся.URL Inspector видит #! и классифицирует фрагмент как Indexable.Rendering System загружает www.shop.com и использует #!category=shoes для запуска JavaScript, который загружает товары категории «Обувь».Content Converter сериализует финальный DOM, содержащий список товаров, в HTML.Сценарий 2: Отладка отсутствующего динамического контента (Современный контекст)
Rendering System не смогла выполнить вызов AJAX или завершить рендеринг.Content Converter зафиксировать конечное состояние DOM.Что такое «Indexable Fragment» и чем он отличается от обычной анкорной ссылки?
Indexable Fragment, согласно патенту, — это фрагмент URL (после #), который указывает на уникальное состояние страницы, сгенерированное динамически (JavaScript). Система должна выполнить код, чтобы увидеть этот контент. Анкорная ссылка (Pointer Fragment) просто указывает на место в уже существующем контенте и не требует дополнительного рендеринга.
Какая связь между этим патентом и современным Googlebot (Web Rendering Service - WRS)?
Патент описывает фундаментальный механизм, который используется и сегодня. Компоненты Rendering System (выполнение JavaScript) и Content Converter (сериализация DOM в HTML) являются ядром современного WRS. Изменился в основном триггер: раньше система активно искала сигналы вроде #!, теперь она пытается рендерить большинство страниц по умолчанию.
Актуален ли еще механизм `#!` (hashbang), упомянутый в патенте?
В патенте упоминается использование специального символа (например, !) для явного указания на Indexable Fragment. Это привело к созданию AJAX Crawling Scheme. Однако Google официально прекратил поддержку этой схемы. Современная рекомендация — использовать History API для создания чистых URL вместо хэш-маршрутизации.
Что такое сериализация DOM в HTML и почему она важна?
После выполнения JavaScript финальное состояние страницы существует в виде структуры данных — DOM Tree. Сериализация — это процесс преобразования DOM Tree в статический HTML-код, выполняемый Content Converter. Это критически важно, потому что индексатор Google анализирует именно этот статический HTML, а не живой DOM или исходный код страницы.
Как этот патент связан с двухфазной индексацией (Two Waves of Indexing)?
Патент явно описывает двухфазный процесс. На первом этапе обрабатывается контент Base URL (исходный HTML). На втором этапе Rendering System выполняет ресурсы и генерирует финальный контент. Это техническое описание того, как Google разделяет сканирование HTML и рендеринг JavaScript.
Почему важно проверять именно отрендеренный HTML в Google Search Console?
Потому что именно этот HTML является результатом работы системы, описанной в патенте (сериализованный DOM). Исходный код страницы (View Source) может не содержать динамического контента. Только анализ отрендеренного HTML показывает, что именно Googlebot смог увидеть и что будет проиндексировано.
Влияет ли этот механизм на бюджет сканирования (Crawl Budget)?
Да, косвенно. Процесс рендеринга (работа Rendering System) требует значительно больше вычислительных ресурсов, чем сканирование статического HTML. Это привело к появлению концепции «бюджета рендеринга». Медленный рендеринг может замедлить общую скорость индексации сайта.
Что произойдет, если JavaScript выдаст ошибку во время работы Rendering System?
Если произойдет критическая ошибка JavaScript, Rendering System может прекратить выполнение скриптов. Контент, который должен был быть сгенерирован после точки ошибки, не попадет в финальный DOM Tree и, следовательно, не будет проиндексирован.
Должен ли я использовать маршрутизацию на основе хэшей для моего нового SPA?
Нет. Хотя этот патент описывает, как Google научился обрабатывать такие URL, современная лучшая практика настоятельно рекомендует использовать History API для создания чистых, обычных URL для каждого состояния приложения. Это лучше для пользователей и более надежно для поисковых систем.
Что самое важное для SEO специалиста в этом патенте?
Самое важное — это подтверждение того, что Google выполняет JavaScript для генерации DOM tree и индексирует именно результат этого рендеринга. Это подчеркивает критическую важность технического SEO для JavaScript: обеспечение доступности ресурсов, отсутствие ошибок при выполнении скриптов и наличие всего важного контента в финальном DOM.

Техническое SEO
Индексация
SERP

Индексация
Краулинг
Техническое SEO

Индексация
SERP
Краулинг

Антиспам
Структура сайта
Индексация

Индексация
Техническое SEO
Структура сайта

Поведенческие сигналы
SERP
EEAT и качество

EEAT и качество
SERP
Knowledge Graph

Персонализация
SERP
Семантика и интент

Персонализация
SERP
Ссылки

Поведенческие сигналы
SERP

Мультимедиа
EEAT и качество
Ссылки

Техническое SEO
SERP
Ссылки

Персонализация
Поведенческие сигналы
Семантика и интент

Поведенческие сигналы
Семантика и интент
SERP

Семантика и интент
Персонализация
Поведенческие сигналы
