Ranki.io SEO/AEO consultant

официальный

Бесплатный SEO и AEO MCP-сервер, который превращает ваш Claude / Cursor / ChatGPT Desktop в старшего SEO + AEO консультанта. Анализирует любой URL, генерирует sitemap.xml / llms.txt / robots.txt, находит пробелы в ключевых словах и точно указывает вашему ИИ, что исправить — всё за счёт ваших собственных AI-кредитов, а не наших.

Что можно делать с Ranki Io SEO AEO Consultant MCP?

  • Аудит SEO на странице — Запустите audit_seo для любого URL, чтобы получить оценку от 0 до 100, охватывающую заголовки, мета-описания, канонические ссылки, охват альт-текста изображений и наличие JSON-LD с рекомендациями по исправлению каждой ошибки.
  • Аудит оптимизации для ответов ИИ — Используйте audit_aeo, чтобы проверить схему FAQPage, вводные определения, llms.txt, разрешения для ИИ-ботов и заголовки в стиле ответов, чтобы ваш сайт цитировался ChatGPT и Claude.
  • Измерение Core Web Vitals и скорости — Вызовите audit_speed или audit_core_web_vitals, чтобы получить реальные оценки Lighthouse и метрики LCP/CLS/INP, а затем точные команды для оптимизации изображений с помощью optimize_images.
  • Генерация основных SEO-файлов — Создайте готовые к развертыванию robots.txt, sitemap.xml, llms.txt и JSON-LD схему за один шаг с помощью seo_starter_kit или отдельных инструментов generate_*.
  • Поиск контентных возможностей — Попросите find_topic_ideas составить структурированный бриф из 15 тем статей по интенту или используйте find_keyword_gap, чтобы найти ключевые слова, по которым ранжируются конкуренты, а вы — нет.
  • Классификация скрытых страниц — Запустите audit_hidden_pages по домену, чтобы выявить административные маршруты, черновики и страницы с noindex, а затем получите готовый к вставке блок robots.txt.

Документация

Ranki MCP — Бесплатный MCP для SEO, AEO, скорости и оптимизации изображений для Cursor, Claude Code, Windsurf и ChatGPT

MCP, который не просто сообщает — ваш агент исправляет. Аудирует любой URL на SEO и оптимизацию для ответных систем, измеряет реальные Core Web Vitals через Google PageSpeed Insights и дает агенту инструкции по конвертации изображений в AVIF и WebP, переписыванию тегов <img> в адаптивные <picture> с srcset и alt, вставке JSON-LD схемы, генерации sitemap.xml / llms.txt / robots.txt, классификации скрытых страниц — затем повторно запускает аудит, чтобы доказать улучшение показателей. Все внутри Claude Code, Claude Desktop, Cursor, Windsurf и ChatGPT Desktop.

MCP 2024-11-05 License: MIT npm @ranki.io/mcp live mcp.ranki.io Skill repo

Установка одной командой

npx @ranki.io/cli install

CLI автоматически определяет, какой AI-редактор у вас установлен (Claude Code, Claude Desktop, Cursor, Windsurf, ChatGPT Desktop), записывает правильную MCP-конфигурацию в нужное место и загружает сопутствующий файл навыков из репозитория ranki-seo-skills. Повторный запуск npx @ranki.io/cli update позже обновит навык; npx @ranki.io/cli check проверяет настройку.

Предпочитаете ручной JSON-фрагмент? Примеры для каждого редактора приведены в разделе Установка ниже.

Две реализации, одинаковые инструменты

Этот репозиторий поставляет MCP в двух паритетных реализациях, чтобы вы могли выбрать подходящую под ваш стек:

  • server/ — эталон на PHP 8.4, промышленное развертывание, на котором работает mcp.ranki.io. Размещено, защищено, без зависимостей, работает за Cloudflare. Это то, на чем построен mcp.ranki.io.
  • ts-server/ — эталон на Node / TypeScript, опубликован как @ranki.io/seo-aeo-mcp в npm. Нативная альтернатива на Node для разработчиков, предпочитающих инструментарий JavaScript, устанавливается через npx -y @ranki.io/seo-aeo-mcp (stdio) или npx @ranki.io/seo-aeo-mcp --serve (HTTP).

Обе предоставляют одни и те же 22 инструмента с одинаковым JSON-выводом, защитой от SSRF, семантикой ограничения скорости и уровнем безопасности. Реализация на TS запускает 15 бесплатных инструментов нативно в Node, а 7 платных мостовых инструментов проксирует к тому же REST API на app.ranki.io, который использует PHP-сервер. Ни одна из них никогда не открывает базу данных — платные инструменты проходят через промежуточное ПО Laravel ApiKeyAuth и ограничены данными вызывающего пользователя.

Что он на самом деле делает — 22 инструмента

MCP-сервер предоставляет 22 инструмента. Ваш агент вызывает их, как любой другой инструмент MCP; они возвращают отчеты в Markdown, которые ваш агент отображает встроенно, а затем действует — конвертирует файлы, переписывает HTML, генерирует новые, фиксирует результат.

Аудит

  • audit_seo(url) — карта оценки on-page SEO из 10 проверок: длина title, meta description, уникальность H1, canonical, viewport, HTTPS, полнота OpenGraph, покрытие alt у изображений, количество внутренних ссылок, наличие JSON-LD. Возвращает оценку 0–100 с рецептами исправления для каждой ошибки.
  • audit_aeo(url) — карта оценки оптимизации для ответных систем из 8 проверок: JSON-LD FAQPage / Article, вступительное определение менее 80 слов, авторская подпись, наличие llms.txt, robots.txt разрешает GPTBot / ClaudeBot / PerplexityBot, заголовки H2/H3 в стиле ответов, сравнительные таблицы.
  • audit_hidden_pages(urls, domain) — классифицирует каждый путь как robots-disallow, noindex, keep или unsure с обоснованием. Выявляет маршруты администратора, конечные точки API, черновики, страницы входа, панели управления аккаунтом, страницы благодарности, артефакты сборки и URL результатов поиска. Возвращает готовый к вставке блок robots.txt.

Скорость и изображения — это то, чего больше никто не делает

  • audit_speed(url, strategy) — реальные оценки Lighthouse (Производительность, Доступность, SEO, Лучшие практики) и Core Web Vitals (LCP, CLS, INP, FCP, TTFB) через Google PageSpeed Insights. Возвращает возможности по изображениям с экономией байтов на файл, блокирующий рендеринг JS / CSS и неудачные аудиты on-page SEO. Стратегия по умолчанию — mobile (Google ранжирует с приоритетом мобильных).
  • audit_core_web_vitals(url) — один абзац на метрику с буквальным рецептом исправления. "Элемент LCP — hero.png размером 2,4 МБ, конвертация в WebP экономит 1,8 МБ → -1,1 с LCP." Извлекает URL элемента LCP из Lighthouse, чтобы агент точно знал, какой файл оптимизировать.
  • optimize_images(images, max_width) — для каждого изображения: целевой формат (AVIF + WebP), адаптивная ширина 1×/2×, предложение alt-текста, буквальные команды sharp-cli / cwebp / avifenc и готовый к вставке блок <picture> с srcset. Ваш агент запускает конвертацию локально в репозитории и переписывает теги <img>.

Генерация

  • generate_sitemap_xml(urls) — создает готовый к развертыванию sitemap.xml из списка URL с актуальными временными метками lastmod.
  • generate_llms_txt(site_name, summary, key_pages) — генерирует llms.txt, формирующийся стандарт для указания AI-сканерам, о чем ваш сайт и какие страницы цитировать.
  • generate_robots_txt(sitemap_url, allow_ai, disallow_paths) — создает robots.txt, который явно разрешает или запрещает GPTBot, ChatGPT-User, ClaudeBot, anthropic-ai, PerplexityBot и Google-Extended.

Контент и стратегия

  • seo_starter_kit(domain) — возвращает четыре базовых файла, которых не хватает большинству сайтов, созданных с помощью vibe-coding (robots.txt, sitemap.xml, llms.txt, JSON-LD), готовых к вставке в ваш репозиторий.
  • find_topic_ideas(url) — читает вашу домашнюю страницу, определяет вашу нишу и возвращает структурированный бриф для генерации 15 тем статей по информационным, коммерческим и транзакционным намерениям с критериями приоритизации.
  • find_keyword_gap(url, competitors) — возвращает пошаговую методологию поиска ключевых слов, по которым ранжируются конкуренты, а вы нет. Если конкуренты не указаны, предписывает вашему редактору сначала спросить.
  • propose_titles_metas(urls, focus_keyword) — извлекает фактический title, h1 и первый абзац с каждого URL (или принимает текстовое описание для неразвернутых страниц), затем возвращает таблицу Markdown с 5 кандидатами title и meta description на страницу в 5 ракурсах (описательный, с выгодой, в формате вопроса, с конкретным числом, с ключевым словом в начале). Каждый кандидат помечен на соответствие длине.
  • explain_seo_terms(category) — справочный глоссарий из 40+ терминов SEO и AEO: SEO, AEO, GEO, JSON-LD, FAQPage, canonical, llms.txt, Core Web Vitals, E-E-A-T, обновление полезного контента, дорвейные страницы и многое другое. Фильтрация по категориям: основы, AEO, техническое, аналитика, санкции.

Установка

  • install_skill(agent) — возвращает команды установки для навыка ranki-seo-skills в Claude Code, Claude Desktop, Cursor, Windsurf, веб-проектах Claude.ai и универсальных агентах AGENTS.md.

Ваш аккаунт Ranki.io — реальные данные о ранжировании внутри вашей IDE (платный API-ключ)

  • get_account() — whoami для вашего API-ключа: имя, email, план, дневные и месячные лимиты, текущее использование.
  • list_projects() — список проектов в вашем аккаунте Ranki.io.
  • list_articles(project_id) — постраничный индекс статей в проекте: nano_id, title, status, language, focus_keyword[], структура TOC, количество слов, оценка SEO. Опциональный фильтр по статусу.
  • get_article(article_id) — получает одну статью по ее nano_id: title, HTML, фокусные ключевые слова, содержание, URL встроенных изображений, оценка SEO.
  • list_rank_tracking(project_id) — сводка Google Search Console по проекту: итоги за 28 дней, топ-20 ключевых слов по кликам, топ-20 возможностей по ключевым словам (позиция > 10 с показами — легкие победы).
  • list_gsc_keywords(project_id) — полный постраничный список ключевых слов GSC с сортировкой по кликам / показам / позиции / CTR.
  • ai_visibility(project_id) — записанные снимки AI-цитирования: какие из ваших отслеживаемых тем появлялись в выдаче ChatGPT, Claude, Perplexity и Google AI Overview на момент захвата.

Как выглядит типичная сессия

You:    audit my site speed and fix the slow images

Claude: → Calling ranki.audit_speed(url="https://myapp.dev")
        ← Lighthouse: 42 perf · LCP 4.8s · 3 images blocking the paint.
        → Calling ranki.optimize_images([hero.png, banner.jpg, card.png])…
        ← 3 files, recipes returned.
        → Running sharp-cli to convert hero.png → hero.avif + hero.webp + hero@2x.avif…
        → Editing app/page.tsx — rewriting <img> as <picture srcset>, adding alt text…
        → Calling ranki.audit_speed again to verify…
        ← Lighthouse: 96 perf · LCP 1.4s.

You:    now find pages that shouldn't be in Google

Claude: → Calling ranki.audit_hidden_pages(domain="https://myapp.dev")
        ← 8 robots-disallow, 12 noindex, 118 keep, 4 unsure.
        → Editing public/robots.txt to disallow /admin /dashboard /checkout /account…
        → Adding <meta name="robots" content="noindex"> to app/search/page.tsx…
        Done. Submit URL-removal requests in Search Console for the 8 admin pages.

Файл навыка (в ranki-seo-skills) сообщает вашему агенту, когда какой инструмент вызывать, в каком порядке и где в вашем репозитории применить каждое исправление.

Ограничения скорости

УровеньДневной лимитОбласть действияДоступные инструменты
Без ключа5 вызововна IP15 бесплатных инструментов (аудиты, генераторы, скорость, оптимизация изображений, контент-стратегия, установка)
API-ключ Ranki.io500 вызововна ключВсе 22 инструмента, включая 7 мостовых инструментов, которые читают ваши реальные ключевые слова GSC, отслеживание рангов, AI-цитаты, список проектов и библиотеку статей из вашего аккаунта Ranki.io

Получите ключ на app.ranki.io/developer. X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset возвращаются в каждом ответе. Сообщения об ошибках диспетчера включают обратный отсчет до сброса и путь обновления.


Установка

Claude Desktop / Claude Code (рекомендуется для большинства vibe-кодеров)

Добавьте в ~/.claude/claude_desktop_config.json:

{
  "mcpServers": {
    "ranki": {
      "command": "npx",
      "args": ["-y", "@ranki.io/mcp"],
      "env": { "RANKI_API_KEY": "rk_live_..." }
    }
  }
}

Перезапустите Claude Desktop. Индикатор MCP должен показать ranki с 22 инструментами.

Cursor (HTTP-транспорт, npx не требуется)

.cursor/mcp.json в вашем проекте:

{
  "mcpServers": {
    "ranki": {
      "url": "https://mcp.ranki.io",
      "headers": { "X-API-Key": "rk_live_..." }
    }
  }
}

ChatGPT Desktop, Continue.dev, Zed, все, что поддерживает MCP

Если клиент поддерживает stdio MCP, используйте фрагмент Claude Desktop. Если поддерживает HTTP MCP, используйте фрагмент Cursor.

Получите бесплатный API-ключ

Посетите app.ranki.io/developer и нажмите Reveal. Ваш ключ уже существует — каждый аккаунт Ranki.io получает один автоматически созданный. Бесплатные инструменты-советники работают без ключа (5 вызовов/IP/день); для мостовых инструментов list_projects и get_article он требуется.


Как это используют vibe-кодеры

Сценарий 1: «Я только что запустил сайт, что мне делать?»

You: I just shipped my Next.js app at https://myapp.com. What SEO do I need?

Claude (via Ranki MCP):
  → Calling seo_starter_kit(domain="myapp.com")
  ← [Returns robots.txt + sitemap.xml + llms.txt + JSON-LD templates]
  → Writing public/robots.txt
  → Writing public/sitemap.xml (enumerating pages from app/ directory…)
  → Writing public/llms.txt
  → Adding JSON-LD <script> to app/layout.tsx
  → Calling audit_seo to verify…
  ← Score: 92/100. 🎉

Сценарий 2: «Почему ChatGPT не цитирует мою документацию?»

You: Why doesn't ChatGPT cite my docs site?

Claude (via Ranki MCP):
  → Calling audit_aeo(url="https://docs.myproduct.com")
  ← Score 38/100. Failing: no FAQPage schema, no llms.txt, robots.txt blocks ClaudeBot.
  → Fixing each failure in your repo…
  ← Score 88/100. Re-deploy and ChatGPT should pick it up within 7-14 days.

Сценарий 3: «Я не знаю, какие посты в блог писать»

You: I have a Stripe alternative landing page but the blog is empty. Help.

Claude (via Ranki MCP):
  → Calling find_topic_ideas(url="https://mystripe-alt.com")
  ← [Returns brief with topic generation methodology + 15-topic structure]
  → [Generates 15 topics organized by intent, picks top 3]
  ← Recommended first 3 articles:
     1. "How to switch payment processors without losing customers" (transactional)
     2. "Stripe vs us: side-by-side fee comparison for $10K/mo MRR" (commercial)
     3. "What is interchange-plus pricing and why most SaaSes overpay" (informational)

Сценарий 4: «Какие пробельные ключевые слова я упускаю?»

You: My competitors are stripe.com and lemonsqueezy.com. What am I missing?

Claude (via Ranki MCP):
  → Calling find_keyword_gap(url="https://mystripe-alt.com",
                              competitors=["stripe.com","lemonsqueezy.com"])
  ← [Returns methodology + per-competitor analysis steps]
  → Crawling /blog on both competitors…
  → Cross-referencing against your sitemap…
  ← 5 high-value gaps found:
     - "PCI compliance for small SaaS" (covered by Stripe, not you)
     - "How to handle subscription dunning" (covered by both, not you)
     - … 3 more

Архитектура

┌────────────────────────┐         ┌──────────────────────────┐
│  Claude / Cursor / etc │         │  mcp.ranki.io (PHP)      │
│                        │         │                          │
│  1. Sees 22 tools      │ JSON-RPC│  - 22 tool definitions   │
│  2. Decides to use one ├────────►│  - HTTP + stdio (npx)    │
│  3. Receives advice    │         │  - 5/IP or 500/key per   │
│  4. Acts on the repo   │         │    UTC day rate limit    │
│                        │         │  - REST API bridge       │
└────────────────────────┘         └────────────┬─────────────┘
                                                │ (only for keyed tools)
                                                ▼
                                   ┌──────────────────────────┐
                                   │  app.ranki.io REST API   │
                                   │  /api/v1/projects        │
                                   │  /api/v1/articles/...    │
                                   └──────────────────────────┘

Два транспорта

  • stdio (Claude Desktop, Claude Code, большинство MCP-клиентов) — установите npm-пакет @ranki.io/mcp, который представляет собой 50-строчную прослойку на Node.js, проксирующую stdio JSON-RPC к https://mcp.ranki.io.
  • HTTP (Cursor, пользовательские клиенты) — указывайте прямо на https://mcp.ranki.io. Установка Node не требуется.

Структура репозитория

ranki-mcp/
├── server/                     # PHP MCP server (deployed to mcp.ranki.io)
│   ├── public/index.php        #   GET → marketing landing page (HTML)
│   ├── index.php               #   POST → JSON-RPC 2.0 dispatcher
│   ├── lib/
│   │   ├── jsonrpc.php         #   JSON-RPC reply helpers
│   │   ├── registry.php        #   Tool registry + REST API bridge
│   │   └── ratelimit.php       #   Per-IP rate limit (5/day for free tier)
│   └── tools/
│       ├── seo_starter_kit.php
│       ├── find_topic_ideas.php
│       ├── find_keyword_gap.php
│       ├── audit_aeo.php
│       ├── audit_seo.php
│       ├── generate_sitemap_xml.php
│       ├── generate_llms_txt.php
│       ├── generate_robots_txt.php
│       ├── list_projects.php
│       └── get_article.php
└── npx/                        # Node.js stdio shim (published as @ranki.io/mcp)
    ├── package.json
    ├── index.js                #   ~50 lines: stdin→POST→stdout
    └── README.md

SEO против AEO — в чем разница?

SEO (Search Engine Optimization) — это обеспечение ранжирования вашего сайта в классических 10 синих ссылках Google. Сигналы: title tags, meta descriptions, H1, canonicals, sitemap, внутренние ссылки, скорость страницы, mobile-friendly, HTTPS. Такие инструменты, как Ahrefs / SEMrush / SurferSEO, оценивают их.

AEO (Answer Engine Optimization) — это обеспечение цитирования вашего сайта, когда ChatGPT, Claude, Perplexity или Google AI Overviews отвечают на вопрос пользователя. Сигналы другие:

  • FAQPage JSON-LD — самый сильный сигнал для цитирования.
  • Вступительные определения — первый абзац — это краткий ответ «X — это …».
  • Авторская подпись + E-E-A-T — LLM предпочитают цитируемые источники с указанными авторами.
  • llms.txt — явное приглашение для LLM использовать ваш контент.
  • robots.txt, разрешающий AI-ботов — GPTBot / ClaudeBot / PerplexityBot НЕ должны быть заблокированы.
  • Заголовки в стиле ответов — H2/H3, сформулированные как вопросы («Что такое X?», «Как работает X?»).
  • Сравнительные таблицы — HTML-элемент с самым высоким уровнем цитирования в AI Overviews.

audit_aeo проверяет все эти 8 пунктов и точно указывает вашему AI, что исправить. По состоянию на 2026 год AEO-трафик является самым быстрорастущим SEO-каналом, и большинство сайтов имеют нулевое покрытие.


llms.txt — формирующийся стандарт AI-поиска

Вдохновлен robots.txt, но для LLM. Файл Markdown по адресу /llms.txt сообщает AI-сканерам:

  • О чем ваш сайт (простым английским языком, а не метаданными).
  • Какие страницы наиболее важны.
  • Как вас цитировать.
# Acme Corp

> Acme makes the SDK for shipping React Native apps faster.

## Key pages

- [Homepage](https://acme.dev/)
- [Documentation](https://acme.dev/docs)
- [Pricing](https://acme.dev/pricing)
- [Blog](https://acme.dev/blog)

## About

- Founded 2024, based in Berlin.
- Used by 12,000+ teams including Linear and Notion.
- Open source SDK on github.com/acme/sdk.

Используйте generate_llms_txt, чтобы создать его за 5 секунд.


Самостоятельный хостинг

MCP-сервер — это чистый PHP 8.4 — без фреймворка, без базы данных, без зависимостей Composer. Поместите директорию server/ за виртуальный хост Nginx, обслуживающий public/index.php, и готово.

server {
  server_name mcp.yourdomain.com;
  root /var/www/ranki-mcp/server/public;
  index index.php;
  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }
  location ~ \.php$ {
    include fastcgi_params;
    fastcgi_pass unix:/run/php/php8.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
  }
}

lib/ratelimit.php использует файлы в /tmp/ для ограничения скорости по IP — работает из коробки. Для ограничения скорости с поддержкой Redis в масштабе замените реализацию.


Участие в разработке

PR приветствуются для новых инструментов-советников. Чтобы добавить инструмент:

  1. Создайте server/tools/your_tool.php, возвращающий вызываемый function (array $args, string $apiKey): array.
  2. Верните rk_mcp_text_content("...your structured advice...").
  3. Зарегистрируйте инструмент в server/lib/registry.php в разделе rk_mcp_tool_definitions().

Именование инструментов: <verb>_<noun> snake_case (например, audit_aeo, find_topic_ideas).

Философия инструментов: возвращайте данные + инструкции для вызывающего ИИ, никогда не вызывайте LLM самостоятельно.


Часто задаваемые вопросы

Это платно?

Инструменты-советники (все, кроме list_projects / get_article) бесплатны — 5 вызовов с одного IP в сутки по UTC. Чтобы снять это ограничение, получите бесплатный API-ключ на app.ranki.io/developer. Инструменты-мосты требуют ключ, потому что они извлекают ваши приватные данные Ranki.io.

Использует ли Ranki MCP мои кредиты Claude?

Да — и только ваши. Мы никогда не делаем вызовы LLM. MCP-сервер возвращает структурированные рекомендации; ваш Claude / Cursor оценивает их и действует на их основе, используя ваши собственные кредиты.

Как передаются данные?

  • Инструменты-советники (audit_*, generate_*, seo_starter_kit, find_*) запрашивают переданный вами URL (никаких других сетевых вызовов).
  • Инструменты-мосты (list_projects, get_article) обращаются к app.ranki.io/api/v1/... по HTTPS с вашим X-API-Key.
  • Мы не логируем тела запросов. Мы логируем IP + название инструмента + статус ответа для ограничения частоты запросов и отладки.

Это открытый исходный код?

Да — лицензия MIT, полный исходный код в этом репозитории.

Могу ли я запустить это внутри VPC моей компании?

Да — server/ это простой PHP, без зависимостей от внешних сервисов, кроме app.ranki.io для инструментов-мостов (которые можно отключить, удалив файлы этих инструментов).

Чем это отличается от конкурентов, таких как Surfer / Frase / Outrank?

Это SaaS-панели, которые аудируют один URL за раз и рекомендуют изменения. Ranki MCP — это протокольный уровень, который позволяет вашему ИИ использовать эти аудиты прямо во время написания кода в вашей IDE. Другая форма, другая цена (бесплатно), другая аудитория (vibe-кодеры, а не SEO-специалисты).

Я vibe-кодер и понятия не имею, что означает AEO.

Это буквально для вас и создано. Начните с seo_starter_kit("yourdomain.com") — ваш Claude проведет вас через все.

Будете ли вы обучать ИИ на моих данных?

Мы не обучаем модели. У нас нет моделей. Мы — тонкий слой-советник на основе детерминированных проверок.


Лицензия

MIT. См. LICENSE.

Создано с заботой командой Ranki.io — AI SEO + AEO автоматизация для основателей, агентств и создателей.