Ranki.io SEO/AEO consultant

官方

免费的SEO和AEO MCP服务器,可将您的Claude/Cursor/ChatGPT桌面版转变为高级SEO+AEO顾问。可审计任意URL,生成sitemap.xml/llms.txt/robots.txt,发现关键词缺口,并精确告知您的AI需要修复的内容——全程使用您自己的AI积分,绝不消耗我们的资源。

你可以用 Ranki Io SEO AEO Consultant MCP 做什么?

  • 审计页面SEO — 对任意URL运行audit_seo,获取0–100分的评分卡,涵盖标题、元描述、规范链接、图片alt覆盖率和JSON-LD存在性,并附带每项失败的修复方案。
  • 审计答案引擎优化 — 使用audit_aeo检查FAQPage结构化数据、定义性引言、llms.txt、AI机器人权限以及答案式标题,确保您的网站能被ChatGPT和Claude引用。
  • 衡量核心网页指标与速度 — 调用audit_speedaudit_core_web_vitals获取真实的Lighthouse评分及LCP/CLS/INP指标,然后通过optimize_images获得精确的图片优化指令。
  • 生成必备SEO文件 — 通过seo_starter_kit或单独的generate_*工具,一步生成可直接部署的robots.txtsitemap.xmlllms.txt和JSON-LD结构化数据。
  • 发现内容机会 — 使用find_topic_ideas获取按意图分类的15个文章主题的结构化简报,或通过find_keyword_gap发现竞争对手已排名而您尚未覆盖的关键词。
  • 分类隐藏页面 — 在域名上运行audit_hidden_pages,识别管理路由、草稿页和noindex页面,随后获得可直接粘贴的robots.txt代码块。

文档

Ranki MCP — 面向 Cursor、Claude Code、Windsurf 和 ChatGPT 的免费 SEO、AEO、速度与图像优化 MCP

这款 MCP 不止于报告——你的智能代理会直接修复问题。对任意 URL 进行 SEO 和答案引擎优化审计,通过 Google PageSpeed Insights 测量真实的 Core Web Vitals,并指导你的代理将图像转换为 AVIF 和 WebP 格式,将 <img> 标签重写为带有 srcsetalt 的响应式 <picture>,嵌入 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 仓库下载配套的 Skill 文件。之后重新运行 npx @ranki.io/cli update 即可刷新 Skill;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 上。为偏好 JavaScript 工具链的开发者提供的原生 Node 替代方案,可通过 npx -y @ranki.io/seo-aeo-mcp (stdio) 或 npx @ranki.io/seo-aeo-mcp --serve (HTTP) 安装。

两者都暴露相同的 22 个工具,具有相同的 JSON 输出、SSRF 防护、速率限制语义和安全态势。TS 实现会在 Node 中原生运行 15 个免费工具,并将 7 个付费桥接工具代理到 PHP 服务器使用的同一个 REST API app.ranki.io。两者都不会打开数据库——付费工具通过 Laravel 的 ApiKeyAuth 中间件,并限定为调用用户的数据。

它实际做什么——22 个工具

MCP 服务器暴露 22 个工具。你的代理会像调用其他 MCP 工具一样调用它们;它们会返回 Markdown 报告,你的代理会内联渲染这些报告,然后据此采取行动——转换文件、重写 HTML、生成新文件、提交结果。

审计

  • audit_seo(url) — 10 项检查的页面 SEO 评分卡:标题长度、元描述、H1 唯一性、规范链接、视口、HTTPS、OpenGraph 完整性、图像 alt 覆盖率、内部链接数量、JSON-LD 存在情况。返回 0–100 的评分,并附带每项失败的修复方案。
  • audit_aeo(url) — 8 项检查的答案引擎优化评分卡:FAQPage / Article JSON-LD、80 词以内的定义性引言、作者署名、llms.txt 存在情况、robots.txt 允许 GPTBot / ClaudeBot / PerplexityBot、答案式 H2/H3 标题、对比表格。
  • audit_hidden_pages(urls, domain) — 将每个路径分类为 robots-disallownoindexkeepunsure,并附上理由。能识别管理路由、API 端点、草稿、登录页面、账户仪表盘、感谢页面、构建产物和搜索结果 URL。返回一个可直接粘贴的 robots.txt 代码块。

速度与图像——这是其他工具做不到的部分

  • audit_speed(url, strategy) — 通过 Google PageSpeed Insights 获取真实的 Lighthouse 评分(性能、可访问性、SEO、最佳实践)和 Core Web Vitals(LCP、CLS、INP、FCP、TTFB)。返回图像优化机会(含每个文件节省的字节数)、阻塞渲染的 JS / CSS,以及未通过的页面 SEO 审计项。默认策略是 mobile(Google 以移动端优先进行排名)。
  • audit_core_web_vitals(url) — 每个指标一段话,附带具体的修复方案。“LCP 元素是 hero.png,大小为 2.4 MB,转换为 WebP 可节省 1.8 MB → LCP 减少 1.1 秒。” 从 Lighthouse 中提取 LCP 元素的 URL,以便代理确切知道要优化哪个文件。
  • optimize_images(images, max_width) — 针对每张图像:目标格式(AVIF + WebP)、响应式 1×/2× 宽度、alt 文本建议、具体的 sharp-cli / cwebp / avifenc 命令,以及一个带有 srcset 的、可直接粘贴的 <picture> 代码块。你的代理会在仓库本地运行转换,并重写 <img> 标签。

生成

  • generate_sitemap_xml(urls) — 根据 URL 列表构建一个可直接部署的 sitemap.xml,并带有当前的 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) — 返回大多数快速构建的网站所缺失的四个基线文件(robots.txtsitemap.xmlllms.txt、JSON-LD),可直接粘贴到你的仓库中。
  • find_topic_ideas(url) — 读取你的主页,推断你的细分领域,并返回一个结构化的简报,用于生成涵盖信息性、商业性和交易性意图的 15 个文章主题,并附带优先级排序标准。
  • find_keyword_gap(url, competitors) — 返回一个分步方法,用于查找竞争对手有排名但你却没有的关键词。如果未提供竞争对手,会指示你的编辑器先询问。
  • propose_titles_metas(urls, focus_keyword) — 从每个 URL 中提取实际的标题、h1 和第一段(或接受未部署页面的自由文本描述),然后返回一个 Markdown 表格,为每个页面提供 5 个标题和元描述候选方案,涵盖 5 个角度(描述性、利益导向、问题格式、具体数字、关键词优先)。每个候选方案都会标注是否符合长度要求。
  • explain_seo_terms(category) — 包含 40 多个 SEO 和 AEO 术语的参考词汇表:SEO、AEO、GEO、JSON-LD、FAQPage、规范链接、llms.txt、Core Web Vitals、E-E-A-T、有用内容更新、桥页等。可按类别筛选:基础、AEO、技术、分析、惩罚。

安装

  • install_skill(agent) — 返回在 Claude Code、Claude Desktop、Cursor、Windsurf、Claude.ai 网页项目以及通用 AGENTS.md 代理中安装 ranki-seo-skills Skill 的命令。

你的 Ranki.io 账户——IDE 中的真实排名数据(付费 API 密钥)

  • get_account() — 查询你的 API 密钥的 whoami 信息:姓名、邮箱、套餐、每日和每月限额、当前使用量。
  • list_projects() — 列出你 Ranki.io 账户中的项目。
  • list_articles(project_id) — 项目中文章的分页索引:nano_id、标题、状态、语言、focus_keyword[]、目录大纲、字数、SEO 评分。可选状态筛选。
  • get_article(article_id) — 通过文章的 nano_id 获取单篇文章:标题、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 Overviews 的搜索结果页中。

典型会话是什么样的

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.

Skill 文件(位于 ranki-seo-skills 中)会告诉你的代理何时调用哪个工具、以什么顺序调用,以及在你的仓库中何处应用每项修复。

速率限制

层级每日上限范围可用工具
无密钥5 次调用每个 IP15 个免费工具(审计、生成器、速度、图像优化、内容策略、安装)
Ranki.io API 密钥500 次调用每个密钥全部 22 个工具,包括 7 个桥接工具,可读取你 Ranki.io 账户中的真实 GSC 关键词、排名追踪、AI 引用、项目列表和文章库

app.ranki.io/developer 获取密钥。每次响应都会返回 X-RateLimit-LimitX-RateLimit-RemainingX-RateLimit-Reset。调度器的错误消息会包含重置倒计时和升级路径。


安装

Claude Desktop / Claude Code(推荐大多数快速构建者使用)

添加到 ~/.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_projectsget_article 桥接工具则需要密钥。


快速构建者如何使用它

场景 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 客户端)——安装 @ranki.io/mcp npm 包,这是一个 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(搜索引擎优化) 是让你的网站在 Google 经典的 10 个蓝色链接中排名靠前。其信号包括:标题标签、元描述、H1、规范链接、站点地图、内部链接、页面速度、移动端友好性、HTTPS。Ahrefs / SEMrush / SurferSEO 等工具会对这些进行评分。

AEO(答案引擎优化) 是让你的网站在 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 如何工作?”)。
  • 对比表格——AI Overviews 中引用率最高的 HTML 元素。

audit_aeo 会检查所有这 8 项,并确切告诉你的 AI 要修复什么。截至 2026 年,AEO 流量是增长最快的 SEO 渠道,而大多数网站的覆盖率为零。


llms.txt——新兴的 AI 搜索标准

robots.txt 启发,但面向 LLM。位于 /llms.txt 的 Markdown 文件会告知 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/ 目录放到一个服务于 public/index.php 的 Nginx 虚拟主机后面,即可完成。

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.phprk_mcp_tool_definitions() 下注册该工具。

工具命名:<verb>_<noun> snake_case(例如 audit_aeofind_topic_ideas)。

工具理念:返回数据 + 给调用 AI 的指令,绝不自行调用 LLM。


常见问题

这需要花钱吗?

顾问工具(除 list_projects / get_article 之外的所有工具)免费——每个 IP 每个 UTC 日可调用 5 次。要解除该限制,请在 app.ranki.io/developer 获取免费 API 密钥。桥接工具需要密钥,因为它们会拉取你的私有 Ranki.io 数据。

Ranki MCP 会消耗我的 Claude 额度吗?

会——且仅消耗你的额度。 我们从不发起 LLM 调用。MCP 服务器返回结构化建议;你的 Claude / Cursor 使用你自己的额度来评估并执行这些建议。

数据流向哪里?

  • 顾问工具(audit_*generate_*seo_starter_kitfind_*)会抓取你传入的 URL(无其他网络调用)。
  • 桥接工具(list_projectsget_article)通过 HTTPS 调用 app.ranki.io/api/v1/...,并使用你的 X-API-Key
  • 我们不记录请求体。我们会记录 IP + 工具名称 + 响应状态,用于速率限制和调试。

它是开源的吗?

是的——MIT 许可证,完整源代码在此仓库中。

我可以在公司 VPC 内运行它吗?

可以——server/ 是纯 PHP,除了桥接工具所需的 app.ranki.io 外,没有其他外部服务依赖(你可以通过删除这些工具文件来禁用它们)。

这与 Surfer / Frase / Outrank 等竞品有何不同?

那些是 SaaS 仪表板,一次审计一个 URL 并推荐更改。Ranki MCP 是一个协议层,让你的 AI 在 IDE 中编写代码时,能够内联使用这些审计结果。形态不同,价格点不同(免费),受众不同(氛围编程者,而非 SEO 专业人士)。

我是一名氛围编程者,完全不知道 AEO 是什么意思。

这正是为这类人准备的。从 seo_starter_kit("yourdomain.com") 开始——你的 Claude 会引导你了解一切。

你们会用我的数据训练 AI 吗?

我们不训练模型。我们也没有模型。我们只是一个基于确定性检查的轻量级顾问。


许可证

MIT。详见 LICENSE

Ranki.io 用心构建——面向创始人、代理机构和创作者的 AI SEO + AEO 自动化。