Разбор алгоритма DomDistiller в Chrome (это движок режима для чтения)
173
Разбор алгоритма DomDistiller в Chrome (это движок режима для чтения)
Движок парсит *отрендеренный* DOM, а не сырой HTML.
Процесс идет в несколько этапов.
1. Сегментация и оценка блоков
Страница разбивается на текстовые блоки.
Каждый блок оценивается с помощью эвристик:
— Плотность ссылок: Высокое соотношение анкорного текста ко всему тексту — мощный негативный сигнал (так он отсекает навигацию/футеры).
— Плотность текста: Сплошной текст — позитивный сигнал.
— Семантический HTML:
— Позитивные: <article>, <p>, <blockquote>, теги заголовков.
— Негативные: <nav>, <aside>, <footer>, <header>, <form>.
— Черный список классов/ID в CSS: Мощный негативный сигнал. Подстроки в классе или ID типа comment, ad, share, sidebar, social, footer или related жестко пеналят блок.
— Структурные подсказки: Анализируются глубина DOM и соседские связи для поиска паттернов.
2. Кластеризация контента
Алгоритм находит самый большой непрерывный кластер блоков с высоким скором и отбрасывает все, что за его пределами.
Это отделяет основной контент от всякой шелухи вроде встроенной в статью рекламы.
3. Извлечение метаданных и структурированных данных
— В приоритете свойства og: и Schema.org (Article, NewsArticle), чтобы вытащить каноничный тайтл, автора, дату и главное изображение.
— Пагинация определяется по анкорам ("next", "continue", "»", ">") и инкрементным паттернам в URL (например, /page/2, ?p=2).
4. Очистка (санитизация)
На последнем шаге вырезаются все <script>, <style> и обработчики событий; сносится большинство атрибутов class/ID; и превращаются относительные URL в абсолютные.
Суть в том, что сеошники могут использовать алгоритм DomDistiller как наглядную модель, чтобы делать свой контент более машиночитаемым.
Главное — рассматривать его как прокси-модель того, как основные системы Гугла могут анализировать и разбирать страницу в поисках ее основного контента.
Ключевые выводы:
Этот алгоритм — прокси того, как системы Гугла вычленяют основной контент.
Выводы прямые:
1. Юзайте семантический HTML: Используйте <article>, <main>, <aside> и т.д. вместо общих <div>. Это однозначные сигналы.
2. Проведите аудит структуры DOM: Убедитесь, что иерархия DOM отражает логическую структуру контента, а не только визуальную верстку. Парсеры читают код.
3. Следите за именами в CSS: Движок использует черный список классов/ID. Проверьте свой CSS на наличие терминов вроде comment, ad, sidebar, share, related в элементах, которые являются частью вашего основного контента.
4. Используйте структурированные данные для однозначности: Schema.org и OpenGraph — основной источник правды для парсеров, чтобы вытащить каноничный тайтл, автора и дату.
5. Убирайте раздутый DOM: Чистый, плоский DOM с минимальной вложенностью делает извлечение контента проще и точнее.
@MikeBlazerX
Ссылки из поста:– https://t.me/MikeBlazerX
Источник новости https://t.me/mikeblazerx/5733...

