Обход

Своя экстракция со обойдённых страниц

CSS-селекторы и декларативные правила экстракции работают по сохранённым телам страниц, а поиск по исходникам скана находит, на каких страницах стоит маркер — например, сниппет GTM.

Своя экстракция со обойдённых страниц

Правила экстракции

Декларативные правила по сохранённым телам — извлекайте заново без повторного обхода.

Своя экстракция со обойдённых страниц

Поиск по сохранённому HTML

Найдите все страницы, содержащие строку или шаблон, в сохранённом скане.

  • scan-content-search
  • Ограниченные, пагинированные результаты
Как это работает

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

  1. Обойдите один раз и сохраните тела

    Сохранённый скан держит полные тела страниц в пределах лимита хранения. Правила и поиски идут по этой копии, а не по живому сайту.

  2. Запустите правила офлайн

    Правила пишутся JSON-ом с типом text, attribute, structured, presence или count и оператором equals, contains, matches или exists. Запуск — seohead scan extract; ничего не скачивается, результат не сохраняется.

  3. Найдите маркер в сохранённом HTML

    scan-content-search ищет строку или регулярку в сыром HTML, разметке head, тексте body или CSS-селекторе и пишет локальный пакет. Читайте по 100 строк за раз через scan-content-search-page.

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

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

ПроверкаЧто значитКритичностьДоказательство
TITLE_MISSINGЭлемент title отсутствует. Правило kind text по селектору title найдёт тот же пробел по всему скану.CriticalСтрока реестра docs/CHECKS.md: критичность critical, исправление: добавить уникальный описательный тайтл.
CANONICAL_MISSINGУ индексируемой страницы нет canonical. Правило presence по link[rel=canonical] перечислит страницы без него.ImportantСтрока реестра docs/CHECKS.md: критичность warning (маппинг в Important).
SCHEMA_VALIDATION_ERRORОшибки валидации структурированных данных. Правило structured с JSON-pointer прочитает значения JSON-LD за ошибкой.ImportantСтрока реестра docs/CHECKS.md: критичность warning, источник SF Structured Data Validation Errors.
STRUCTURED_DATA_MISSINGСтруктурированных данных нет там, где вы их ждёте. Правило presence по блоку JSON-LD покажет страницы без него.TipСтрока реестра docs/CHECKS.md: критичность notice (маппинг в Tip).
LOREM_IPSUM_PLACEHOLDERВ контентной области страницы плейсхолдер Lorem Ipsum. Поиск по контенту найдёт фразу по всему скану.ImportantСтрока реестра docs/CHECKS.md: критичность warning, источник crawl:lorem_ipsum_count.
Как запустить

Одна команда

bash
seohead scan-content-search --scan ./scans/audit.sqlite --query gtm.js

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

Узнать больше

Из блога и глоссария

FAQ

Вопросы

Своя экстракция со обойдённых страниц
Экстракция снова скачивает сайт?
Нет. scan-extract и scan-content-search читают сохранённые тела в файле скана. Они не запрашивают ни одного URL — правило можно менять и перезапускать без нового обхода.
Если найден тег GTM — он сработал?
Не обязательно. Попадание в поиск значит, что тег есть в HTML, но не доказывает срабатывание для посетителя. Поиск сообщает, где код присутствует.
Что если тело страницы не сохранилось?
Страница отмечается как unknown, а не как «нет маркера». Поиск никогда не говорит, что маркера нет, когда тела нет в скане.
Результат экстракции сохраняется?
scan-extract не сохраняет результат — печатает его за текущий запуск. scan-content-search пишет новый локальный пакет, и его совпадения остаются у вас.
Можно регулярные выражения?
Да, с --kind regex для регулярных выражений Python. Если страница превышает бюджет времени регулярки, она отмечается как недоступная, а не как «нет совпадения».