Competitor Analysis

作者 every-app89e5a00717cd无许可证22K 个星标收录于 2026年10月8日更新于 2026年10月8日仓库今天更新

Analyze one competitor's organic footprint, ranking keywords, content themes, backlinks, and gaps.

AI 生成的概览

分析指定竞争对手的自然搜索表现、关键词、外链与差距,并输出报告。

功能
借助 OpenSEO MCP 工具引导智能体完成结构化的竞争对手 SEO 分析:域名概览、排名关键词、外链、SERP 核查以及可选的本地商家数据。它会将竞争对手关键词归类为主题,识别其优势与薄弱点,并给出可执行的行动计划。分析结果通过 seo-report 技能以报告形式交付,包含固定的章节顺序和报告制作说明。
适用场景
当已明确指定某个竞争对手域名,且需要了解其自然搜索表现、关键词主题和外链情况时使用。适用于决定向竞争对手学习什么、如何反向定位或超越它的场景。若需先识别市场领先者,则应采用单独的竞争格局分析方法。
运行要求
需要 OpenSEO MCP 工具(例如 get_project_context、get_domain_overview、get_ranked_keywords、get_backlinks_overview、get_serp_results、find_serp_competitors 以及本地 SEO 工具),并提供 projectId 和竞争对手域名。交付报告需要 seo-report 技能;若该技能不可用,技能要求停止且不编写 HTML。Search Console 访问为可选项,连接后用作第一方基准。该技能不附带脚本。

OpenSEO Competitor Analysis

Goal

Analyze one competitor deeply enough to decide what to learn from, avoid, counter-position against, or outrank.

Use this for a named competitor. For identifying the market leaders first, use competitive-landscape.

Required inputs

  • projectId
  • Competitor domain
  • User's domain when comparison is requested
  • Optional topic/category/location/language

Project context

The project-context tools are free and shared with the app and other agents.

  1. Call get_project_context first and ground the analysis in it — the saved competitors say whether this domain is already known and what was concluded about it before.
  2. This skill needs competitors. If none are saved, run a minimal inline setup: save the competitor being analyzed, and ask the user (or infer from find_serp_competitors and confirm) whether there are others, write them back with update_project_context (addCompetitors), then continue the analysis. Never front-load the full interview; suggest seo-project-setup at the end for the rest.
  3. Before spending credits, check the research log. If the same research ran within the last 30 days, reuse that result and say so instead of re-buying it.
  4. On finish, write back what is durable with update_project_context — an addCompetitors upsert for this domain with a short note on its strengths and where it is vulnerable — and append a research log entry: { appendResearchLog: { summary: "Competitor analysis: <domain>. Verdict: <conclusion>" } }.

Deliver as a report

Deliver through the seo-report skill, saving with skill: "competitor-analysis". If that skill is not available, say so and stop before writing HTML.

OpenSEO MCP tools

  • get_domain_overview: baseline organic traffic and keyword count.
  • get_search_console_performance: when comparing to the user's own domain and Search Console is connected, use it as the first-party baseline (real clicks/impressions/CTR/position) instead of estimating the user's own performance from third-party data.
  • get_ranked_keywords: exact keyword, URL, rank, intent, traffic, CPC, and SERP-type rows for the competitor domain or page.
  • get_backlinks_overview: backlink/referring-domain profile.
  • find_serp_competitors: validate whether the named competitor is a real search competitor across the target keyword set.
  • search_local_businesses, get_local_serp_results, and get_google_business_questions: use for local SEO competitors when Maps/local-pack visibility, nearby businesses, categories, or Google Q&A matter.
  • get_serp_results: validate direct head-to-head SERPs for important keywords.
  • research_keywords: expand gaps or category terms when needed.

Workflow

  1. Call get_domain_overview for the competitor, passing provided location/language when supported.
  2. If comparing to the user, call get_domain_overview for the user's domain too — and if Search Console is connected, get_search_console_performance for the user's real baseline.
  3. Call get_ranked_keywords for the competitor. Use filters like maxRank, minSearchVolume, excludeBrandTerms, and resultTypes to keep rows relevant.
  4. If comparing to the user, call get_ranked_keywords for the user's domain/page too, or use get_serp_results for the shared terms when a lighter check is enough.
  5. For local SEO, use search_local_businesses and get_local_serp_results around the relevant business location(s) before drawing local-pack conclusions. Add get_google_business_questions only when Q&A evidence matters.
  6. Use find_serp_competitors when the competitor was supplied by the user but its search overlap is unclear.
  7. Group competitor keywords into themes:
    • Product/category terms
    • Alternatives/comparisons
    • Templates/tools/calculators
    • Educational guides
    • Branded demand
    • Local/neighborhood terms when relevant
  8. Call get_backlinks_overview for the competitor, especially if authority appears to explain rankings. Continue without backlink evidence if it is unavailable.
  9. Use get_serp_results for important shared or target keywords to compare positioning, passing provided location/language when supported.
  10. Produce an actionable plan:
    • What they are doing well
    • Where they are vulnerable
    • Which pages/keywords to pursue
    • What to avoid copying

Output format

h1: the competitor domain.

If a report template applies (see seo-report), its sections and tone replace this list.

Sections in this order:

  1. Snapshot — one or two opening sentences, then a table of the competitor's organic footprint (traffic estimate, keyword count, referring domains). Add the user's domain as a second row when comparing.
  2. The biggest lesson — one finding.
  3. Where they are vulnerable — one finding per opening, ordered by how winnable it is.
  4. Keyword themes — a table of theme, example keywords, volume, and whether the user competes there. A bar chart when a few themes dominate the footprint.
  5. Content patterns and authority — prose, with a note for anything inferred from keyword rows rather than seen on a page.
  6. What to do next — an ordered list, shortest useful.
  7. How this report was made — opens with the skill link line from seo-report, pointing at https://openseo.so/docs/skills/competitor-analysis ("OpenSEO Competitor Analysis skill"), then which tools reported what, and what you checked yourself.

Guardrails

  • Do not treat all competitor keywords as desirable. Filter for business fit.
  • Separate evidence from inference.
  • Do not infer competitor page/content-type patterns from keyword rows alone; use SERP or web evidence for page-level claims.
  • For local SEO, do not infer Maps/local-pack strength from national organic domain metrics alone; use local business and local SERP tools when the location is known or reasonably discoverable.
  • Do not recommend copying content; recommend a stronger angle or better answer to the same intent.
  • If the user's domain is unavailable, frame the analysis as competitor-only.

来源与署名

来源:every-app/open-seo位于.agents/skills/competitor-analysis提交89e5a00

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架