About Portfolio Services Blog Contact 🎙 Talk to AI
EN DE RU
🎙 Talk to AI
May 14, 2026 · 3 min read

SEO-аудит с помощью LLM: автоматизация анализа кода и данных Search Console

Я — Денис Шохирев, Enterprise AI architect из Эрлангена. В DennisCraft AI Studio за последние полгода я внедрил 14 production AI-агентов для B2B-клиентов DACH, включая автоматизированные SEO-аудиты на стеке Claude, Supabase, n8n и self-hosted Postgres. На одном из проектов для финтех-компании я столкнулся с реальной проблемой: ручная проверка SEO-кода и данных Search Console занимала десятки часов и не выявляла часть критических ошибок в шаблонах и API-интеграциях. Автоматизация на базе LLM и ле

Denis Shokhirev
Denis Shokhirev
Enterprise AI Architect
Telegram LinkedIn

Я — Денис Шохирев, Enterprise AI architect из Эрлангена. В DennisCraft AI Studio за последние полгода я внедрил 14 production AI-агентов для B2B-клиентов DACH, включая автоматизированные SEO-аудиты на стеке Claude, Supabase, n8n и self-hosted Postgres. На одном из проектов для финтех-компании я столкнулся с реальной проблемой: ручная проверка SEO-кода и данных Search Console занимала десятки часов и не выявляла часть критических ошибок в шаблонах и API-интеграциях. Автоматизация на базе LLM и легковесных инструментов анализа позволила сократить время аудита и повысить качество отчётов.

Требования к production SEO-аудиту в B2B

В B2B-сегменте, особенно в регламентированных рынках DACH, SEO-аудит — это не просто чек-лист на title и robots.txt. Ошибки в структуре шаблонов, дублях, hreflang, API-интеграциях или неправильной обработке ошибок могут привести к потере трафика и штрафам. Решение должно быть воспроизводимым, масштабируемым и интегрируемым в CI/CD пайплайн.

Архитектура автоматизированного аудита: инструменты и паттерны

Компоненты стека

КомпонентЦельРеальный инструмент
LLM-интерпретацияАнализ кода шаблонов, генерация гипотезClaude Code
Статический анализПоиск паттернов ошибокsemgrep, bandit
Доступ к данным Search ConsoleИзвлечение позиций, CTR, ошибокGoogle Search Console API
ОркестрацияАвтоматизация пайплайнаn8n
Хранилище результатовИстория аудитов, отчётыSupabase/Postgres

Паттерн оркестрации через n8n

n8n управляет запуском аудита: триггер — push в main ветку или расписание, затем последовательно вызываются этапы анализа кода, извлечения данных Search Console, генерации отчёта через LLM. Такой подход позволяет повторно использовать пайплайн для разных проектов и заказчиков.

Статический анализ кода: шаблоны, middleware, API

Анализ HTML-шаблонов и middleware

semgrep позволяет быстро выявлять типовые ошибки: дублирующиеся title/description, отсутствие canonical, некорректные hreflang. Я использую кастомные правила для поиска ошибочных блоков.


rules:
  - id: missing-canonical
    pattern: |
      <head> ... 
      not: <link rel="canonical" ...>
    message: "Отсутствует canonical"
    languages: [html]
    severity: WARNING

Проверка API-интеграций

bandit помогает выявлять незащищённые места в Python-бэкенде (например, некорректная обработка user input в форматировании URL для SEO-страниц). В одном случае bandit поймал отсутствие escape в динамических URL, что приводило к XSS.


bandit -r ./project/backend/seo

LLM для генерации гипотез и аннотирования багов

Claude Code используется не для генерации кода, а для интерпретации результатов анализа и поиска неочевидных паттернов. Например, LLM может сопоставить данные о падении CTR из Search Console с изменениями в шаблонах и предложить возможные причины: неверный robots meta, ошибки в Open Graph, сломанные breadcrumbs.


from anthropic import Anthropic
client = Anthropic()
prompt = f"""
Вот diff шаблона: {diff}
Вот падение CTR по Search Console: {ctr_drop}
Определи возможные причины и дай рекомендации.
"""
response = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=400,
    messages=[{"role":"user","content":prompt}]
)
print(response.content)

Пример: связывание паттерна падения CTR с ошибкой в шаблоне

На одном из проектов LLM сопоставил уменьшение CTR по группе страниц с внедрением нового cookie banner, который перекрывал основной контент. Такой паттерн был неочевиден без анализа diff шаблонов и данных Search Console одновременно.

Интеграция с Google Search Console API

Через Google Search Console API можно автоматизировать сбор данных по позициям, CTR, ошибкам индексации по всем страницам сайта. Я использую n8n для извлечения сырых данных, после чего обрабатываю их через LLM для выявления аномалий.


import requests
from google.oauth2 import service_account
from googleapiclient.discovery import build

SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly']
SERVICE_ACCOUNT_FILE = 'key.json'
credentials = service_account.Credentials.from_service_account_file(
    SERVICE_ACCOUNT_FILE, scopes=SCOPES)
service = build('searchconsole', 'v1', credentials=credentials)

response = service.searchanalytics().query(
    siteUrl='https://client-site.de',
    body={
        'startDate': '2024-03-01',
        'endDate': '2024-04-01',
        'dimensions': ['page'],
        'rowLimit': 1000
    }).execute()
print(response['rows'])

Сохранение истории и отчётов: Supabase/Postgres

Результаты аудита, баги, рекомендации и ключевые метрики сохраняются в self-hosted Postgres через Supabase. Это позволяет строить дашборды, отслеживать динамику и автоматизировать рассылку отчётов.

FAQ

Какую LLM использовать для интерпретации багов?

В production у меня лучше всего показал себя Claude Code (Anthropic). GPT-4 тоже подходит, но требует более строгих промптов и дополнительных проверок.

Можно ли полностью исключить ручную проверку?

Нет. LLM и статический анализ сокращают рутину, но финальный отчёт я всегда смотрю сам, особенно в критичных интеграциях.

Сколько времени занимает полный цикл аудита?

В среднем — 20–40 минут на сайт (до 1000 страниц) при полной автоматизации. Ручной аудит такого же объема занимал 4–6 часов.

Какие паттерны ошибок чаще всего встречаются?

Дубли title, пропущенные canonical, неправильные robots meta, XSS в URL параметрах, ошибки в hreflang, некорректные Open Graph.

Как автоматизировать регулярные аудиты?

Оркестрация через n8n с запуском по расписанию или при пуше в main. Итоги — в Supabase/Postgres и дашборд для мониторинга.

На каком этапе у вас чаще всего всплывают критические SEO-ошибки — в шаблонах, API, или интеграции с Search Console? Мне реально интересно услышать опыт других. Я делаю бесплатный 30-минутный аудит стека для DACH-команд, строящих AI в регламентированных рынках. Пишите в LinkedIn или @ger_dennis_ai.

Ready to build?

Turn your process into an AI system

Fixed price. Production quality. DACH B2B focus.

Start a project → ← All articles