Обход

Краулер с рендерингом JavaScript

Опциональный обход с рендерингом открывает страницы в Chromium через Playwright и хранит сырой и отрендеренный DOM рядом — видно, что появляется только после выполнения скриптов.

Краулер с рендерингом JavaScript

Сырое против отрендеренного

render-check и обходы с рендером сравнивают HTML, отправленный сервером, с DOM после рендеринга: тайтлы, canonical, ссылки и контент, который появляется или исчезает.

  • Отрендеренные маршруты и наблюдаемая навигация
  • Лабораторные тайминги, не полевые Core Web Vitals
Краулер с рендерингом JavaScript

Только когда нужно

Браузер — опциональная надстройка (группа render, около 150 МБ для Chromium). Базовый обход работает без него.

  • pip install -e ".[render]"
  • python -m playwright install chromium
Как это работает

Три шага — один сохранённый скан

  1. Скачать сырой HTML и отрендеренный DOM

    render-check загружает URL дважды: как отдаёт сервер и в Chromium через Playwright после выполнения скриптов.

  2. Сравнить то, что появляется после скриптов

    Сравнение считает слова и ссылки, существующие только после рендеринга, и помечает пустой app shell — голую точку монтирования #root или #app.

  3. Прочитать ошибки консоли и лабораторные тайминги

    Ошибки скриптов из консоли рендера попадают в JS_CONSOLE_ERRORS. Тайминги — один локальный запуск, лаборатория, а не полевые Core Web Vitals.

Что проверяется

Проверки в этой возможности

ПроверкаЧто значитКритичностьДоказательство
JS_CONSOLE_ERRORSСтраница писала ошибки JavaScript в консоль браузера во время рендераImportantТекст ошибки консоли из рендер-прогона
ROBOTS_BLOCKS_RESOURCESrobots.txt блокирует .js, .css или _next/static, нужные для рендерингаTipПравило robots.txt, совпавшее с путём ресурса (из robots-check)
AJAX_CRAWLING_SCHEME_URLСтраница или её ссылка использует устаревшую AJAX-схему #! или _escaped_fragment_TipURL со схемой
Как запустить

Одна команда

bash
seohead render-check --url https://example.com/

Сначала установите: руководство по установке. Каждая команда работает и как MCP-инструмент для ИИ-агентов.

Смежные проверки

Из реестра проверок

ROBOTS_BLOCKS_RESOURCESAJAX_CRAWLING_SCHEME_URL
FAQ

Вопросы

Краулер с рендерингом JavaScript
Нужен ли браузер для каждого обхода?
Нет. Базовый обход работает без него. Chromium — опциональная надстройка для render-check и обходов с рендером: pip install -e ".[render]", затем python -m playwright install chromium (около 150 МБ).
Меняет ли проверка рендера что-то на сайте?
Нет. Она отправляет ограниченные запросы только на чтение по указанному URL. На сайте ничего не правится.
Цифры скорости — это Core Web Vitals?
Нет. LCP, CLS и тайминги — один запуск на одной машине. Это лабораторные измерения, а не полевые данные Chrome UX Report.
Можно отрендерить как телефон?
Да. Добавьте --viewport mobile — встроенный смартфон-профиль и вьюпорт. Свой агент — через --user-agent.
А если страница никогда не догружается?
Используйте --wait domcontentloaded; по умолчанию load. networkidle на сайтах с постоянными соединениями не наступает никогда — там избегайте его.