Анализ сайта нейросетью: аудит страниц, текстов и структуры через API

Собираем данные страниц скриптом, отправляем модели компактный JSON и получаем отчёт по заголовкам, мета-тегам и структуре текста. С расчётом цены и честными ограничениями.

4 мин · · автоматизация · API-ключи

Нейросеть для анализа сайта не заходит на страницу сама и не знает, как её видит поисковик. Ей нужно передать данные, поэтому рабочая схема такая: скрипт собирает с каждой страницы заголовки, мета-теги и текст, а модель превращает набор полей в понятный отчёт и предложения. Ниже на Python показан такой аудит, как держать расход токенов под контролем и чего этот метод не умеет. Нейросеть для SEO здесь помощник, а не замена инструментов, которые видят позиции и трафик.

Что можно проверить с моделью

Подходят задачи по содержимому страницы, которые трудно описать правилами:

  • Заголовки и их иерархия. Есть ли один H1, не дублируются ли H2, отражают ли они содержание.
  • Title и meta description. Соответствие тексту страницы, повторы между страницами, читаемость.
  • Тексты. Размытые формулировки, повторы, абзацы без конкретики, пропуск ответа на главный вопрос страницы.
  • Структура. Нет ли страниц-близнецов, на которые стоит объединить, достаточно ли внутренних ссылок.
  • Соответствие запросу. Отвечает ли страница на запрос, под который написана (вы называете запрос сами).

Проверки по правилам лучше делать кодом, не тратя токены: длина title, наличие alt у картинок, наличие canonical, число H1. Модель нужна там, где нужен смысл.

Чего нейросеть не увидит

  • Реальные позиции, трафик, показы и клики. Их даёт аналитика и инструменты вебмастера, а не модель.
  • Скорость загрузки и технические ошибки сервера, индексацию, битые ссылки по всему сайту: нужны краулеры и мониторинг.
  • Страницы, которые строятся скриптом в браузере. Если контент подгружается JavaScript, простой запрос HTML его не получит.
  • Внешние ссылки на ваш сайт.
  • Конкурентов: без их данных модель ничего достоверного не скажет.

Поэтому нейросеть для анализа сайта дополняет обычный SEO-аудит, а не заменяет его. Выводы модели по оптимизации воспринимайте как гипотезы, которые стоит проверить. Анализировать стоит только свой сайт или тот, где у вас есть разрешение.

Шаг 1. Собираем данные страницы

Не отправляйте в модель сырой HTML: на странице много служебной разметки и скриптов, а токены стоят денег. Вытащим только нужное:

bash
import requests
from bs4 import BeautifulSoup

def page_summary(url: str) -> dict:
    r = requests.get(url, timeout=20, headers={"User-Agent": "site-audit-script"})
    r.raise_for_status()
    soup = BeautifulSoup(r.text, "html.parser")

    def attr(tag, name):
        return tag.get(name, "").strip() if tag else ""

    for t in soup(["script", "style", "noscript", "svg"]):
        t.decompose()
    text = " ".join(soup.get_text(" ").split())

Библиотеки ставятся командой pip install requests beautifulsoup4. Перед массовым обходом проверьте robots.txt и не создавайте нагрузку: делайте паузу между запросами.

Шаг 2. Проверки по правилам

Простые вещи посчитайте сами, это бесплатно и надёжно:

bash
def rule_checks(s: dict) -> list[str]:
    issues = []
    if not 30 <= len(s["title"]) <= 65:
        issues.append(f"длина title {len(s['title'])}")
    if not 70 <= len(s["meta_description"]) <= 170:
        issues.append(f"длина description {len(s['meta_description'])}")
    if len(s["h1"]) != 1:
        issues.append(f"H1 на странице: {len(s['h1'])}")
    if s["images_without_alt"]:
        issues.append(f"картинок без alt: {s['images_without_alt']}")
    return issues

Пороги здесь условные, подберите свои. Они не являются требованиями поисковых систем.

Шаг 3. Смысловой отчёт от модели

Отправляем модели компактный JSON и главный запрос страницы. Эндпоинт в OpenAI-формате, подробности в документации по Python:

bash
import json
from openai import OpenAI

client = OpenAI(base_url="https://api.zukko.pro/v1", api_key="fetch_ваш_ключ")

SYSTEM = """Ты проводишь аудит страницы сайта по данным, которые тебе передали.
Не придумывай того, чего нет в данных, и не делай выводов о позициях и трафике.
Верни JSON: {"оценка_заголовков": "...", "оценка_title_description": "...",
"проблемы_текста": ["..."], "что_исправить_в_первую_очередь": ["..."]}.
Каждый пункт опирай на цитату из данных. Только JSON."""

def audit(summary: dict, query: str, model: str = "deepseek-v4.1-flash"):
    user = f"Главный запрос страницы: {query}\nДанные страницы:\n" + json.dumps(summary, ensure_ascii=False)
    resp = client.chat.completions.create(

Для списка страниц запускайте цикл с паузой или несколько запросов параллельно. Если модель иногда возвращает невалидный JSON, посмотрите способы получить структурированный JSON-ответ.

Нейросеть для анализа сайта бесплатно: что реально

Бесплатного доступа к платным моделям через API мы не обещаем. Но аудит стоит очень мало. Цены на 18 октября 2026, $ за 1M токенов (вход / выход): deepseek-v4.1-flash 0.013 / 0.038, claude-sonnet-5-5 0.4 / 2.

Расчёт для сайта на 50 страниц. Компактная сводка страницы с инструкцией занимает около 1 500 токенов, отчёт 500 токенов. Всего 75 000 токенов входа и 25 000 выхода.

  • deepseek-v4.1-flash: 75 000 × 0.013 + 25 000 × 0.038 = 975 + 950 = 1 925, то есть $0.001925
  • claude-sonnet-5-5 (OpenAI-формат, без скидки за кэш): 75 000 × 0.4 + 25 000 × 2 = 30 000 + 50 000 = 80 000, то есть $0.08

Теперь сравните с отправкой сырого HTML. Допустим (условная цифра, у разных сайтов по-разному), что сырая страница занимает 40 000 токенов: это 50 × 40 000 = 2 000 000 токенов входа. На claude-sonnet-5-5 это 2 000 000 × 0.4 / 1 000 000 = $0.80 только за вход. Экономия токенов за счёт предварительной очистки здесь главная. Больше способов: как сократить расход токенов. Хватит ли дешёвой модели для ваших отчётов, проверьте на нескольких страницах. Актуальные цены: GET https://api.zukko.pro/v1/models.

Чтобы попробовать, создайте ключ в кабинете, поставьте на него небольшой дневной лимит и запустите скрипт на 5 страницах своего сайта.

Частые вопросы

Может ли нейросеть заменить SEO-специалиста?

Нет. Она быстро разбирает тексты и структуру, но не видит позиции, трафик, индексацию и конкурентов. Результат используйте как список гипотез для проверки.

Можно ли дать модели просто ссылку на сайт?

Это зависит от инструмента. Через обычный API модель сама страницу не открывает, поэтому данные собирают скриптом и передают в запросе.

Подойдёт ли метод для сайта на JavaScript?

Для страниц, где контент подгружается скриптом, обычный запрос HTML содержимое не получит. Нужен инструмент, исполняющий страницу в браузере, и это отдельная настройка.

Какая модель нужна для аудита?

Для сводок по заголовкам и мета-тегам обычно хватает дешёвой модели, для глубокого разбора текстов сравните её с более сильной на нескольких страницах.

zukko

Платите в 25×
меньше

за Claude Code & ChatGPT

Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.