Ranki.io SEO/AEO consultant

官方

免費的SEO與AEO MCP伺服器,能將你的Claude、Cursor或ChatGPT桌面版轉變為資深SEO與AEO顧問。可審核任何網址、生成sitemap.xml、llms.txt、robots.txt,找出關鍵字缺口,並明確指示你的AI需要修正哪些項目——全程使用你自己的AI額度,絕不消耗我們的資源。

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

  • 審核頁面SEO — 對任何網址執行 audit_seo,即可獲得 0–100 分的評分卡,涵蓋標題、中繼描述、標準網址、圖片替代文字覆蓋率及 JSON-LD 存在情況,並附上各項失敗的修正建議。
  • 審核答案引擎優化 — 使用 audit_aeo 檢查 FAQPage 結構化資料、定義性引言、llms.txt、AI 機器人權限及問答式標題,讓您的網站能被 ChatGPT 和 Claude 引用。
  • 衡量 Core Web Vitals 與速度 — 呼叫 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 — 你的代理程式會直接修復。稽核任何網址的 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 評分卡:標題長度、meta 描述、H1 唯一性、canonical、viewport、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 端點、草稿、登入頁面、帳戶儀表板、感謝頁面、建置產物和搜尋結果網址。回傳一個可直接貼上的 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 元素的網址,讓代理程式確切知道要最佳化哪個檔案。
  • optimize_images(images, max_width) — 針對每張圖片:目標格式(AVIF + WebP)、回應式 1×/2× 寬度、alt 文字建議、實際的 sharp-cli / cwebp / avifenc 指令,以及一個帶有 srcset 且可直接貼上的 <picture> 區塊。你的代理程式會在儲存庫中本機執行轉換,並改寫 <img> 標籤。

產生

  • generate_sitemap_xml(urls) — 從網址清單建立一個可立即部署的 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) — 回傳大多數 vibe-coding 網站缺少的四個基準檔案(robots.txtsitemap.xmlllms.txt、JSON-LD),可直接貼到你的儲存庫中。
  • find_topic_ideas(url) — 讀取你的首頁,推斷你的利基市場,並回傳一份結構化簡報,用於產生 15 個涵蓋資訊性、商業性和交易性意圖的文章主題,並附帶優先排序標準。
  • find_keyword_gap(url, competitors) — 回傳一個逐步方法,用於尋找競爭對手有排名但你沒有的關鍵字。如果未提供競爭對手,會指示你的編輯器先詢問。
  • propose_titles_metas(urls, focus_keyword) — 從每個網址提取實際的標題、h1 和第一段(或接受未部署頁面的自由文字描述),然後回傳一個 Markdown 表格,為每個頁面提供 5 個標題和 meta 描述候選,涵蓋 5 個角度(描述性、利益導向、問題格式、具體數字、關鍵字優先)。每個候選都會標記是否符合長度規範。
  • explain_seo_terms(category) — 40 多個 SEO 和 AEO 術語的參考詞彙表:SEO、AEO、GEO、JSON-LD、FAQPage、canonical、llms.txt、Core Web Vitals、E-E-A-T、有用內容更新、 doorway pages 等。可按類別篩選:基礎、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、焦點關鍵字、目錄、內嵌圖片網址、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 的 SERP 中。

典型工作階段範例

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 個橋接工具,可讀取你真實的 GSC 關鍵字、排名追蹤、AI 引用、專案列表和來自你 Ranki.io 帳戶的文章庫

app.ranki.io/developer 取得金鑰。每個回應都會回傳 X-RateLimit-LimitX-RateLimit-RemainingX-RateLimit-Reset。調度器的錯誤訊息包含重設倒數計時和升級路徑。


安裝

Claude Desktop / Claude Code(推薦給大多數 vibe-coder)

新增到 ~/.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 帳戶都會自動建立一個。免費顧問工具無需金鑰即可運作(每個 IP 每日 5 次呼叫);list_projectsget_article 橋接工具則需要金鑰。


Vibe-coder 如何使用它

情境 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 個藍色連結中排名。訊號包括:標題標籤、meta 描述、H1、canonical、sitemap、內部連結、頁面速度、行動裝置友善、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 使用您的 X-API-Key 呼叫 app.ranki.io/api/v1/...
  • 我們不會記錄請求主體。我們會記錄 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 自動化服務。