Секции результата
client.analyze() возвращает словарь со следующими ключами верхнего уровня.
umbrella_analysis
Зонтичный анализ — слова, которые конкуренты используют рядом с целевыми запросами, а ваша страница пропускает или использует недостаточно. Оцениваются по близости к запросам на страницах конкурентов.
gaps = result["umbrella_analysis"]
# [
# {
# "lemma": "гарантия",
# "competitor_avg_score": 1.84,
# "own_score": 0.0,
# "gap": 1.84,
# "coverage_percent": 75.0,
# "recommendation": "Добавить в H2/H3",
# "context_snippet": "12-месячная гарантия включена"
# },
# ...
# ]| Поле | Тип | Описание |
|---|---|---|
lemma | str | Базовая (лемматизированная) форма слова |
competitor_avg_score | float | Средний балл близости среди конкурентов |
own_score | float | Балл на вашей странице (0.0 = отсутствует или далеко от контекста запроса) |
gap | float | competitor_avg_score − own_score. Больше = более срочно |
coverage_percent | float | % конкурентов, где лемма встречается в сильном контексте |
recommendation | str | Где разместить слово: Title/H1, H2/H3, body и т.д. |
context_snippet | str | Пример фразы со страниц конкурентов |
Результаты отсортированы по gap по убыванию. API применяет адаптивные пороги — вы всегда получите результаты, если конкуренты действительно покрывают тему по-другому.
block_comparison
Сравнение плотности слов TF-IDF — каждое слово на страницах конкурентов в сравнении с вашей.
words = result["block_comparison"]
# [
# {
# "word": "гарантия",
# "lemma": "гарантия",
# "frequency": 8.3,
# "frequency_own_page": 0,
# "pct_target_comp_avg": -100.0,
# "action_needed": "add",
# "present_on_own_page": false
# },
# ...
# ]| Поле | Описание |
|---|---|
word | Исходная форма |
lemma | Лемматизированная форма |
frequency | Средняя частота на страницах конкурентов |
frequency_own_page | Частота на вашей странице |
pct_target_comp_avg | Разница плотности vs средняя по конкурентам (%) |
action_needed | add / increase / decrease / ok |
present_on_own_page | Встречается ли слово вообще |
ngrams_analysis
Шаблоны фраз 2–3 слова, извлечённые со страниц конкурентов.
ngrams = result["ngrams_analysis"]
# [
# {
# "ngram": "бесплатная доставка",
# "ngram_type": "bigrams",
# "pages_count": 4,
# "frequency_avg": 2.5,
# "present_on_own_page": false
# },
# ...
# ]| Поле | Описание |
|---|---|
ngram | Сама фраза |
ngram_type | bigrams (2 слова) или lemma_trigrams (3 слова) |
pages_count | Число страниц конкурентов с этой фразой |
frequency_avg | Среднее число вхождений на страницу конкурента |
present_on_own_page | Содержит ли ваша страница точную эту фразу |
anchors_analysis
Сравнение текстов якорей на всех страницах, включая URL href.
anchors = result["anchors_analysis"]
# [
# {
# "anchor": "купить сейчас",
# "frequency_own": 0,
# "frequency_comp_avg": 3.2,
# "pages_count": 3,
# "links": ["https://comp1.com/shop", "https://comp2.com/store"]
# },
# ...
# ]| Поле | Описание |
|---|---|
anchor | Текст якоря (нижний регистр) |
frequency_own | Количество на вашей странице |
frequency_comp_avg | Среднее количество по страницам конкурентов |
pages_count | Число страниц конкурентов с этим якорем |
links | Все уникальные URL href, где найден якорь |
page_structure
Мета-теги, заголовки и метрики контента для каждой страницы (вашей + всех конкурентов).
struct = result["page_structure"]
own = struct[0] # первый элемент обычно ваша страница
# {
# "url": "https://example.com/page",
# "meta_tags": {
# "title": "Купить виджет — Example Store",
# "title_length": 30,
# "description": "Качественные виджеты с бесплатной доставкой.",
# "description_length": 45
# },
# "content": {
# "h1_heading": "Премиум виджеты",
# "heading_structure_raw": "H1: Премиум виджеты; H2: Функции; H2: Доставка"
# },
# "metrics": {
# "char_count_no_spaces": 4821,
# "uniqueness_percentage": 91.3
# }
# }triplets_analysis (только расширенный режим)
Доступно при triplet_analysis=True. Содержит граф знаний, извлечённый со всех страниц конкурентов.
ta = result["triplets_analysis"]
# Ключи верхнего уровня:
ta["entities"] # Список сущностей-субъектов с фактами
ta["missing_triplets"] # Тематические пробелы, отсутствующие на вашей странице
ta["stats"] # Сводные счётчикиentities
# [
# {
# "subject": "GPU",
# "tier": "core", # core / main / additional / unique
# "triplets_count": 12,
# "sources_count": 4,
# "triplets": [
# {
# "predicate": "память",
# "object": "8 GB GDDR6",
# "sources": ["comp1.com", "comp2.com"]
# },
# ...
# ]
# },
# ...
# ]Значения tier:
| Tier | Описание |
|---|---|
core | Появляется на 3+ источниках конкурентов |
main | Появляется на 2 источниках |
additional | Появляется на 1 источнике |
unique | Упомянуто один раз одним конкурентом |
missing_triplets
Субъекты, которые встречаются на страницах конкурентов, но не на вашей странице, сгруппированные по важности:
mt = ta["missing_triplets"]
mt["critical"] # субъекты на 3+ сайтах конкурентов
mt["important"] # субъекты на 2 сайтах конкурентов
mt["unique"] # субъекты на 1 сайте конкурентаstats
ta["stats"] = {
"total_triplets": 87,
"sources_with_content": 5,
"gaps_critical": 3,
"gaps_important": 8,
"gaps_unique": 21,
"gaps_total": 32,
"batches": 5
}_meta
result["_meta"] = {
"task_id": "550e8400-e29b-41d4-a716-446655440000",
"triplet_analysis": False,
"credits_spent": 1
}