--- name: "cp-seo" description: "Ведёт поисковую оптимизацию под Яндекс и Google для российской аудитории с приоритетом ресурсов 70/25 и жёстко разделяет два уровня — что официально задокументировано в справке поисковика и что является отраслевым консенсусом без первоисточника. Яндекс список факторов ранжирования не публикует и прямо об этом заявляет, поэтому всё, что в рунете подаётся как «факторы ранжирования Яндекса», скилл помечает как гипотезу, а не как факт. Собирает семантику от спроса, кластеризует, ведёт техаудит, внутреннюю перелинковку и мониторинг на связке «API Мониторинга запросов Вебмастера плюс Logs API Метрики», которая в РФ заменяет Search Console и GA4. Знает Clean-param, ИКС и то, что его связь с ранжированием официально не подтверждена, пороги INP. robots.txt здесь — про поисковых роботов и склейку параметров; строки для ИИ-краулеров ведёт cp-geo. Use when the user needs search engine optimization, keyword research, a technical SEO audit, Yandex Webmaster work or search traffic growth. Триггеры — «сео», «SEO», «продвинуть сайт в поиске», «ключевые слова», «семантическое ядро», «кластеризация запросов», «Яндекс.Вебмастер», «Вордстат», «нет трафика из поиска», «техаудит сайта», «Clean-param», «ИКС»." --- Перед применением прочитай [правила интеграции «Блог с нуля»](../../context/10-blog-runtime.md). Они задают единый запуск, текущий проект и производственные ограничения; не начинай второй независимый бриф. # cp-seo · Поиск: Яндекс и Google Скилл делает сайт находимым в поиске и честно говорит, где заканчивается знание и начинается догадка. Второе важнее первого: рунет-материалы по SEO смешивают официальную механику и практику одним тоном, и на этом строятся бюджеты. Работает и для контентного проекта (блог, Дзен, медиа), и для коммерческого сайта, и для одной посадочной страницы. ## Когда не этот скилл - Нужно попасть в **ответы нейросетей** — Алиса AI, AI Overviews, ChatGPT — и настроить доступ ИИ-краулеров → `cp-geo`. Сюда — обычная выдача. - Нужно **собрать или починить сайт**: стек, хостинг, вёрстка, реально ускорить страницу → `cp-web`. Здесь — что мерить и какой порог, там — чем чинить. - Нужны **темы, рубрики и план публикаций** → `cp-content-plan`. Здесь — спрос и запросы, там — что из этого делать регулярно. - Нужен **текст посадочной страницы и её конверсия** → `cp-landing`. Нужна статистика соцсетей → `cp-analytics`. ## Контекст Читай из `context/`: `09-tech-ru.md` §1 (доли поиска), §2 (что у Яндекса официально, а что нет; Вебмастер, Метрика, ограничения API), §4 (технические требования), §5 (хостинг и его связь с индексом скорости); `07-evidence.md` (уровни достоверности — здесь это ядро скилла); `03-legal-ru.md` §7, если на сайте есть формы. Профиль бренда — `brands//`: `offer.md` (что продаём — от этого зависит коммерческая часть семантики), `audience.md` (какими словами люди формулируют задачу), `assets.md` (домен, доступы, счётчики), `facts.md` (что можно утверждать в текстах). Не нашлось — скажи одной строкой и работай по врезке ниже, факты спрашивай, не выдумывай. --- ## Врезка констант ### Два уровня — главное правило скилла Каждое утверждение о поиске маркируется до того, как попадёт в рекомендацию. **Уровень A — официально задокументировано.** Справка поисковика, блог поисковика, документация API. Подаётся как факт, со ссылкой и датой. **Уровень C — отраслевой консенсус без первоисточника.** Подаётся только так: «распространённая практика, первоисточника нет, проверяется тестом». > **Яндекс не публикует список факторов ранжирования.** Прямая формулировка сотрудника в официальном блоге: влияние конкретных факторов на ранжирование не комментируется. Значит, любые «230 факторов», «вес поведенческих 30%», «коммерческие факторы по приоритету» — уровень C, чья-то интерпретация. Самые цитируемые в рунете таблицы не содержат ни ссылок на справку и патенты, ни описания экспериментов. Смешивать уровни в одном абзаце нельзя. Это брак, даже если совет по сути разумный. ### Приоритет площадок Здесь две разные вещи, и их нельзя произносить как одну. **Замер.** По внешнему счётчику браузерных сессий за **май 2026**: Яндекс **70,6%**, Google **27,2%**. По собственной отчётности Яндекса за 2025 — 69,3%. Расхождение методологическое (счётчик считает переходы на сайтах со своим кодом, Яндекс — запросы своим инструментарием), подробности — `09-tech-ru.md` §1. Это измерение, и цитируется оно с этими числами и этой датой. **Рабочая формула распределения усилий — 70/25.** Это округлённая планировочная пропорция, а не результат замера: сумма намеренно не равна 100, запас уходит на прочие источники. В отчёт клиенту как доля рынка она не переносится. Google в РФ работает и трафик даёт: не игнорируется, но при конфликте требований приоритет за Яндексом. ### Что у Яндекса официально (уровень A) | Что | Суть | Практический вывод | |---|---|---| | **ИКС** | индекс качества сайта: насколько сайт полезен пользователям по данным сервисов Яндекса. Критерии — размер аудитории, удовлетворённость, доверие. Алгоритм обновлён 27.02.2026 | Само определение и критерии — уровень A. **Связь с ранжированием — уровень C:** прямого официального подтверждения, что ИКС на ранжирование не влияет, найти не удалось (справочная страница недоступна, в блоге такой фразы нет, в комментариях к анонсу звучит обратный тезис). Отраслевой консенсус: оптимизировать под сам показатель бессмысленно, но факторы, из которых он складывается, пересекаются с критериями качества выдачи. Мерить как индикатор — да; услуга «поднимем ИКС» — продажа воздуха | | **Индекс скорости** | считается по обезличенным данным переходов из выдачи в браузере Яндекса, пятибалльная шкала, пороги не раскрыты | расхождение с внешними измерителями скорости — норма, а не ошибка. Влияние на ранжирование не комментируется | | **Clean-param** | уникальная директива robots.txt Яндекса | блок ниже, обязателен к применению | | **Микроразметка** | поддерживаются Schema.org, Open Graph, микроформаты | **Оговорка:** последняя официальная сводка датируется 2014 годом, часть справочных страниц отдаёт 404. Актуальный отдельный документ есть по Schema.org для видео | ### Что официально у Google (уровень A) - **Core Web Vitals используются системами ранжирования Google.** Точная оговорка из документации: поиск стремится показать наиболее релевантный контент, даже если опыт страницы неидеален. То есть это фактор, а не выключатель. - **INP заменил FID.** Пороги: хорошо — **≤200 мс**, требует улучшения — 200–500 мс, плохо — **>500 мс**. INP меряет все взаимодействия за визит, FID мерил только первое. - Мобильная версия, структурированные данные, sitemap, индексируемость. ### Порог сравнения Позиции и трафик сравниваются **с собственной историей сайта**, а не с чужими кейсами и не с «средними по нише». На нескольких запросах и десятках визитов колебания неразличимы — так и говори вместо разбора шума. --- ## Вход Одним блоком. Что есть в профиле — не переспрашивай. 1. Домен, тип проекта (блог, услуги, магазин, одна посадочная), возраст сайта. 2. На чём сделан и кто может править код и robots.txt. 3. Что считается результатом: заявки, звонки, подписки, дочитывания. Не «позиции». 4. Подключены ли Яндекс.Вебмастер, Яндекс.Метрика, Google Search Console; есть ли доступ. 5. Что уже делали по SEO и что из этого покупали у подрядчиков. 6. География: вся Россия, регион, город. Регион в Вебмастере задан? 7. Есть ли формы сбора контактов (это меняет требования к хостингу — `cp-web`, `cp-compliance`). ## Процесс ### 1. Спрос → семантика Не «придумать ключевые слова», а снять существующий спрос. **Что делать.** Собери базовые формулировки из профиля (`offer.md`, `audience.md`) и расширь их: Вордстат Яндекса, поисковые подсказки обеих систем, блок связанных запросов, раздел «спрос по ключам» в Мониторинге запросов Вебмастера, живой язык аудитории — комментарии, вопросы в личку, переписка с клиентами. **Чем проверять.** Вордстат показывает **показы, а не людей**, и по умолчанию суммирует словоформы и вложенные запросы. Уточняющие операторы (кавычки, восклицательный знак) сужают до состава фразы и словоформы — **синтаксис сверять со справкой на дату**, он менялся. Частоту без уточнения не выдавать за «столько людей ищет». **Отсеки сразу:** запросы, по которым сайт не может дать лучший ответ, чем агрегатор или маркетплейс; запросы с чужим брендом; запросы, где спрос есть, а продукта под него нет. ### 2. Кластеризация Один кластер = одна страница. Две страницы под один кластер конкурируют между собой. **Что делать.** Группируй запросы по общности выдачи: если по двум запросам в топе стоят одни и те же URL, поисковик считает их одной задачей — значит, одна страница. Если выдачи разные, страницы тоже разные, даже если запросы похожи по словам. **Уровень.** Метод «по совместной выдаче» — практика без опубликованного первоисточника, но проверяемая напрямую: результат виден в выдаче за минуту. Пороги совпадения (сколько общих URL достаточно) — уровень C, подбирай под нишу. **Отдельно размечай интент:** информационный, коммерческий, навигационный, транзакционный. Информационный запрос на коммерческой странице не ранжируется, и наоборот. ### 3. Техаудит Минимальный набор, ниже которого смысла в контенте нет. | Проверка | Чем | |---|---| | Страницы в индексе, причины исключения | Вебмастер → Индексирование → Страницы в поиске; Search Console → Индексирование | | Критические ошибки и рекомендации | Вебмастер → Диагностика сайта | | robots.txt читается и не режет лишнего | анализатор robots.txt в Вебмастере (проверять конкретные URL, а не глазами) | | Дубли по параметрам | список URL в индексе + блок Clean-param ниже | | Мобильная версия | проверка мобильной юзабилити в Вебмастере | | Скорость и CWV | измеритель CWV по полевым данным для Google + индекс скорости в Вебмастере для Яндекса. **Расхождение нормально: измеряют разное на разной аудитории** | | Разметка | валидатор структурированных данных обеих систем | | sitemap.xml | отдан, указан в robots.txt, содержит только канонические 200-е URL | | HTTPS, один хост, редиректы | вручную: http → https, www → без www (или наоборот), слэш на конце — одна версия | Правка кода и хостинга — не здесь: собери список дефектов и передай в `cp-web`. ### 4. Контент под кластер **Структура страницы:** заголовок содержит формулировку запроса; первый экран отвечает на запрос сразу, а не после трёх абзацев подводки; подзаголовки закрывают вложенные вопросы кластера; факты с датами и источниками. Официальная публичная рекомендация Яндекса к содержанию — **ЭПОС**: экспертность, полезность, оригинальность, содержательность (уровень A, подробности и применение — в `cp-geo`). Чего не делать: «объём текста от N символов», «плотность ключей N%», «LSI-слова» — уровень C без первоисточника, в рекомендации выдавать нельзя. Текст пишется голосом бренда: черновик → `cp-voice` → `cp-humanizer`. ### 5. Внутренняя перелинковка **Что делать.** Ссылки идут от страниц с трафиком к страницам, которые нужно поднять, и только между тематически связанными. Анкор — формулировка запроса целевой страницы, а не «здесь» и не «подробнее». Каждая страница должна достигаться от главной за разумное число кликов; сироты без входящих ссылок — в работу. **Уровень.** Конкретные числа («не больше N ссылок на странице», «глубина не больше 3 кликов») — уровень C. Использовать как ориентир, не как норму. ### 6. Мониторинг Считай не позиции, а цепочку: показы → клики → CTR → визиты → целевое действие. Позиции без кликов — не результат. **Ключевое ограничение, которое ломает мониторинг.** API Мониторинга запросов Вебмастера хранит **только 2 недели истории**, и выгрузить отдельный день внутри диапазона нельзя — забирается весь двухнедельный период. Значит, **историю надо накапливать самому**: регулярная выгрузка в свою базу, дедупликация по дате и запросу. Не настроил — истории у тебя нет вообще. Сценарий регулярной выгрузки → `cp-automation`. С 25.06.2026 в Мониторинге запросов есть данные по часам. Метрика Logs API отдаёт сырые визиты и события, но **за предыдущий день, не за текущий**. --- ## Clean-param · главное техническое отличие от Google Директива есть только у Яндекса. Синтаксис: ``` Clean-param: p0[&p1&p2&..&pn] [path] ``` `p0…pn` — имена параметров, которые не меняют содержимое страницы; `path` — префикс пути, к которому применяется правило (необязательный). ``` User-agent: Yandex Clean-param: sort&order /catalog/ Clean-param: ref ``` Первая строка: `sort` и `order` в разделе `/catalog/` не влияют на содержимое. Вторая: `ref` не влияет нигде на сайте. **Чем отличается от Disallow.** `Disallow` просто запрещает обход адреса — накопленные показатели параметризованной страницы никуда не переходят. `Clean-param` **склеивает параметризованные URL с основным и передаёт основному накопленные показатели**. Для меток и сортировок нужен именно он. **Правила применения.** - Директива межсекционная — работает независимо от места в файле. - `Disallow` имеет приоритет: если адрес запрещён, склейки не будет. - Метки `utm_source` и `ysclid` Яндекс удаляет автоматически — прописывать их не нужно. - Для Google эквивалента нет: там та же задача решается `rel="canonical"`. **Ставь оба: canonical для Google, Clean-param для Яндекса.** Типовые кандидаты: метки источников, сортировки и фильтры, не меняющие состав контента, идентификаторы сессий, реферальные параметры. Не кандидаты: параметры пагинации и параметры, реально меняющие содержимое. --- ## Инструменты и их ограничения | Инструмент | Что даёт | Ограничение | |---|---|---| | **Яндекс.Вебмастер** | индексирование, диагностика, регион, мобильная юзабилити, ИКС, индекс скорости | связь ИКС с ранжированием официально не подтверждена (уровень C) — как индикатор годится, как цель оптимизации нет; пороги индекса скорости не раскрыты | | **API Мониторинга запросов** | позиции, показы, клики, CTR, размещение в выдаче, спрос по ключам; до 150 000 запросов в сутки на сайт | **2 недели истории; отдельный день внутри диапазона выгрузить нельзя.** Разработчики отмечают неполноту документации и таймауты | | **Яндекс.Метрика, Logs API** | сырые визиты и события, свои модели атрибуции, отчёты, которых нет в интерфейсе | **данные за предыдущий день, не за текущий** | | **Google Search Console** | показы, клики, запросы, индексирование, CWV по полевым данным | доля Google в РФ по замеру мая 2026 — 27,2%, данных по определению меньше | **Связка «Вебмастер API плюс Метрика Logs API» — это то, чем в РФ заменяется Search Console плюс GA4.** Планируй отчётность вокруг неё, а не вокруг зарубежного стека. --- ## Контент под поиск против контента под ленту Разные задачи, разные тексты. Разделение searchable / shareable ведёт `cp-content-plan`, здесь — что от него нужно поиску. | | Под поиск (searchable) | Под ленту (shareable) | |---|---|---| | Спрос | уже существует, его ловят | создаётся заголовком и разрывом ожидания | | Заголовок | формулировка запроса, скучная и точная | зацепка, интрига, конфликт | | Начало | ответ в первом экране | обещание и напряжение | | Срок жизни | месяцы и годы, трафик накапливается | дни, всплеск и затухание | | Метрика | показы, клики, CTR в выдаче, целевое действие | охват, удержание, репосты | **Компромисс, когда одна и та же публикация идёт и туда, и туда:** заголовок пишется под ленту, а поисковая формулировка уходит в первый подзаголовок и первый абзац. Так же это решено в `cp-dzen`. --- ## Выход ``` ПРОЕКТ: <домен> · тип <блог / услуги / магазин / посадочная> · приоритет Яндекс/Google 70/25 СЕМАНТИКА <кластер> · <интент> · <запросы> · <какая страница закрывает: есть / создать> ... Отсеяно: <запросы и почему> ТЕХАУДИТ Критично: <дефект> → <кто чинит: cp-web / подрядчик> Важно: ... Позже: ... robots.txt <готовый фрагмент с Clean-param и пояснением каждой строки> КОНТЕНТ <страница> · <кластер> · <заголовок> · <что должно быть на первом экране> ПЕРЕЛИНКОВКА <откуда → куда → анкор> МОНИТОРИНГ что смотрим: показы → клики → CTR → визиты → целевое действие где: Вебмастер API (выгрузка раз в <период>, накопление в свою базу — иначе история теряется) Метрика Logs API (T-1) порог: собственная история сайта за <период>, не чужие кейсы УРОВНИ A (официально): <перечень утверждений> C (практика): <перечень> — проверяется тестом, первоисточника нет ``` Блок «УРОВНИ» обязателен. Без него скилл превращается в обычную рунет-статью по SEO. ## Чек-лист перед выдачей - Каждое утверждение помечено уровнем A или C; ни одного «фактора ранжирования Яндекса» без пометки «гипотеза». - Нет обещаний позиций, сроков выхода в топ и «гарантированного трафика». - Приоритет ресурсов разложен по формуле 70/25, Google не выброшен; замер долей (70,6% / 27,2%, май 2026) и планировочная формула не выданы за одно и то же. - Про ИКС сказано честно: официального подтверждения связи с ранжированием нет (уровень C), оптимизировать под сам показатель бессмысленно. Формулировка «Яндекс официально заявил, что ИКС не влияет на ранжирование» не использована. - Clean-param прописан с пояснением, canonical для Google не забыт. - Ограничения инструментов названы прямо: 2 недели у Вебмастер API, T-1 у Logs API. - Порог сравнения — собственная история сайта, а не чужой бенчмарк. - Метрика результата — целевое действие, а не позиции. - Технические дефекты переданы в `cp-web`, а не «объяснены словами». - Если на сайте есть формы — упомянуты требования к хостингу и персональным данным со ссылкой на `cp-compliance`. ## Красные линии 1. **Не выдавать интерпретации за факторы ранжирования.** Яндекс их не публикует — значит, никто их не знает. 2. **Не обещать позиции и сроки.** Ни «в топ-10 за три месяца», ни «гарантированный рост трафика». 3. **Не продавать оптимизацию под ИКС.** Это агрегат, а не фактор; при этом и обратное утверждение «Яндекс официально заявил, что ИКС не влияет на ранжирование» — не факт, а расхожая формулировка без первоисточника (уровень C). Не выдавать её за официальную. 4. **Не называть цифр без источника и даты** — ни плотности ключей, ни объёма текста, ни «нормального CTR». 5. **Не строить мониторинг на инструменте, не зная его ограничений.** Две недели истории — это две недели, а не «всё есть в кабинете». 6. **Не игнорировать Google** на основании доли: четверть поиска — это четверть. 7. **Не рекомендовать накрутку поведенческих факторов, покупку ссылок и клоакинг.** Это риск санкций для сайта клиента. 8. **Не решать техническую задачу текстом.** Не индексируется — сначала индексация, потом контент.