‹ 首页

seo-ads

@seranking · 收录于 1 周前

Paid-search competitive landscape for a domain or keyword. Pulls SE Ranking's PPC data — domain ad keyword footprint, ad copy patterns, who else bids on the same keywords, SERP shopping/ad-pack visibility — and produces a competitive ads brief plus a recommended bid-keyword shortlist. Use when the user asks "paid search analysis", "competitor ads", "PPC competitive", "ad copy intelligence", "shopping pack", "who bids on this keyword", or "paid keyword footprint".

适合你,如果你需要了解竞品在付费搜索上的广告布局和关键词策略

/ 下载安装
seo-ads.skill双击,或拖进 Claude 桌面版 / Cowork,即完成安装↓ .skill↓ .zip
用别的 agent?下载 .zip 解压,把文件夹放进它的技能目录
Claude Code~/.claude/skills/(项目级 .claude/skills/)
Codex CLI~/.codex/skills/
Cursor自动读取上面两处目录
其他工具见其文档的「skills」目录;两个下载是同一份文件,只是名字不同
/ 通过 npx 安装 校验哈希
npx oh-my-skill add seranking/seo-skills/seo-ads
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- seranking/seo-skills/seo-ads
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify seranking/seo-skills/seo-ads
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
85GitHub stars
~1.7K上下文体积 · 单文件
镜像托管

怎么用

技能原文 SKILL.md作者撰写 · MIT · fd6d140
Example output: [examples/seo-ads-hostinger-com-20260514/ADS.md](../../examples/seo-ads-hostinger-com-20260514/ADS.md)

Paid-Search Intelligence (Ads)

Map a domain's paid-search footprint and the competitive landscape around its target keywords. Output: a brief on what the brand is bidding on, who else bids on the same terms, ad-copy patterns the leading competitors use, SERP ad+shopping presence per keyword, and a recommended bid-keyword shortlist.

Prerequisites
  • SE Ranking MCP server connected.
  • User provides: (a) a target domain OR a target keyword (skill detects which), (b) target country (default us).
Process
  1. Validate input & preflight
  2. Determine: domain mode (analyse a brand's paid footprint) or keyword mode (analyse the bidding landscape for one keyword).
  3. DATA_getCreditBalance — surface remaining credits.
  1. Domain mode DATA_getDomainAdsByDomain
  2. Pull paid keywords the target domain bids on.
  3. For each: keyword, search volume, CPC, position, ad copy (title + description), URL.
  4. Sort by traffic-weighted score (volume × CTR-by-paid-position × bid-share).
  1. Keyword mode DATA_getDomainAdsByKeyword
  2. Pull all domains bidding on the target keyword.
  3. For each: domain, ad position, ad copy, URL.
  4. Surface the top 10 advertisers + their copy patterns.
  1. Intent enrichment DATA_getKeywordQuestions
  2. For the keyword(s) in scope, pull related questions.
  3. Identifies question-phrased intent variants worth bidding on (often cheaper, higher conversion).
  1. SERP ad/shopping presence DATA_getSerpResults
  2. For top 5 keywords (domain mode) or the target keyword (keyword mode):
  3. Use SERP-feature filters to detect ad-pack composition: tads (top ads above organic), bads (bottom ads below organic), sads (shopping ads / Google Shopping pack), mads (mobile/map-pack ads).
  4. Top SERP ad slots (positions 1-4 above organic, 1-3 below).
  5. Shopping pack presence (carousel of product cards).
  6. Image pack, local pack — these displace ad inventory.
  7. Capture which advertisers occupy those slots.
  1. Ad copy pattern analysis
  2. Cluster ad headlines + descriptions by recurring patterns.
  3. Identify: USP language used by leaders, pricing/discount mentions, audience segmentation, CTA verbs.
  4. Highlight outliers (advertisers doing something different).
  1. Paid-keyword gap (domain mode) DATA_getDomainKeywords with type: 'adv'
  2. Pull the user's domain's paid keywords using the type: 'adv' switch.
  3. For each top competitor (from step 2 or DATA_getDomainCompetitors with type: 'adv'): pull their paid keywords with type: 'adv'.
  4. Diff: paid keywords competitors bid on that the user's domain doesn't.
  5. This becomes the highest-leverage portion of the bid-keyword shortlist (step 8).
  6. Skip in keyword mode (no domain to gap against).
  1. Recommended bid-keyword shortlist
  2. For domain mode: paid-keyword gap from step 7 + adjacent question-intent variants.
  3. For keyword mode: question-intent and long-tail variants that are likely cheaper than the head term.
  4. Each row: keyword, est. CPC, est. volume, who else bids, why-recommended.
  1. Synthesise ADS.md
Output format

Create a folder seo-ads-{target-slug}-{YYYYMMDD}/ with:

seo-ads-{target-slug}-{YYYYMMDD}/
├── ADS.md                              (synthesised brief — primary deliverable; inlines paid footprint, bidding landscape, SERP ad/shopping pack, ad copy patterns, paid keyword gap)
├── recommended-keywords.csv            (bid-keyword shortlist — load-bearing CSV the PPC team pastes into bid tooling)
└── evidence/
    ├── 01-paid-footprint.md           (domain mode: brand's paid keywords — raw step output)
    ├── 02-bidding-landscape.md        (keyword mode: advertisers on the keyword — raw step output)
    ├── 03-question-variants.md        (DATA_getKeywordQuestions enrichment)
    ├── 04-serp-ad-shopping-pack.md    (SERP feature inventory per keyword)
    ├── 05-ad-copy-patterns.md         (clustered headline/description patterns)
    └── 06-paid-keyword-gap.md         (domain mode: type='adv' diff vs competitors)

Step files 01, 02, 04, 05, 06 are inlined as sections in ADS.md; the copies in evidence/ preserve the raw step outputs for reproducibility.

ADS.md follows this shape:

# Paid-Search Intelligence: {target}

> Snapshot dated {YYYY-MM-DD} · Country: {country} · Mode: {domain | keyword}

## Footprint summary
- Paid keywords: {n}
- Estimated paid traffic: {n}/mo
- Average CPC: ${n}
- SERP slots covered: {n} of top-4 above organic across {n} target keywords

## Top 10 paid keywords (domain mode)

| Keyword | Volume | CPC | Position | Ad copy excerpt |
|---|---|---|---|---|
| {kw} | {n} | ${n} | {pos} | "{headline} — {snippet}" |
| ...

## Bidding landscape (keyword mode — for "{keyword}")

| Advertiser | Position | Ad copy excerpt | URL |
|---|---|---|---|
| {domain} | {pos} | "{headline} — {snippet}" | {url} |
| ...

## Ad copy patterns (top patterns observed)

1. **Pricing-led:** "{N}% off — start at ${X}/mo" — used by {n} advertisers.
2. **Outcome-led:** "Get {specific outcome} in {time}" — used by {n}.
3. **Trust-led:** "Trusted by {n} {audience}" — used by {n}.
4. ...

## SERP feature inventory

| Keyword | Top ads | Shopping pack | PAA | Image pack |
|---|---|---|---|---|
| {kw} | {advertiser list} | {✓/✗} | {✓/✗} | {✓/✗} |
| ...

## Recommended bid-keyword shortlist

See `recommended-keywords.csv`. Top 10:

| Keyword | Volume | Est. CPC | Why |
|---|---|---|---|
| {kw} | {n} | ${n} | Question-intent variant; competitor X bids on head term but not this. |
| ...

## Constraints / caveats
- CPC and volume estimates are directional. Actual costs depend on Quality Score, time of day, audience, etc.
- {Note any ad-copy that's clearly seasonal / promotional and may not represent steady-state.}

## Recommended next step
Cross-reference these paid keywords with `seo-keyword-cluster` output to find under-served paid clusters. For organic content opportunities corresponding to these paid keywords, run `seo-keyword-niche`.

recommended-keywords.csv columns: keyword,volume,cpc_estimate,position_target,intent,competitor_count,why_recommended

Tips
  • Respect rate limit. Domain mode: ~3–5 calls. Keyword mode: ~3 calls. Plus a few SERP queries.
  • Cost: ~10–20 credits typical for domain mode; ~5–10 for keyword mode.
  • CPC estimates lag. SE Ranking's CPC data is not real-time auction data; treat as ±30% directional.
  • Ad copy often reveals competitor positioning before product launches do — periodic review (quarterly) catches strategic shifts.
  • Question-intent variants often have lower CPC and higher conversion than head terms. The shortlist in step 8 prioritises these.
  • Pair with seo-keyword-niche for organic content opportunities derived from paid keyword research.
  • Pair with seo-competitor-pages if the bidding landscape reveals "X vs Y" / "alternatives" intent — those keywords convert best as comparison pages, not paid ads.
  • **Ads data via shared DATA_* tools** — beyond the dedicated DATA_getDomainAdsByDomain / DATA_getDomainAdsByKeyword, the type: 'adv' enum switch on DATA_getDomainKeywords, DATA_getDomainKeywordsComparison, DATA_getDomainCompetitors, DATA_getDomainPages, and similar tools surfaces the paid view of the same data structures. Combine with the tads/bads/sads/mads SERP-feature filters and the CPC filter on SERP queries to map paid landscape comprehensively.
  • Don't recommend paid keywords without context. The shortlist is a starting point for the PPC team, not an autopilot.
按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。