Prompt

How do I set up a topic clustering tool for SERP competitor analysis and content brief generation in a publishing workflow?

Latest observation

Jul 21, 2026 · OpenAI APIWeb search: off

Here’s a practical way to set up a topic clustering tool for SERP competitor analysis and content brief generation inside a publishing workflow.


1) Define the goal of the tool

Your tool should do 3 things:

  1. Cluster keywords into topics
    Group related queries into pages or content hubs.

  2. Analyze the SERP competition for each cluster
    Identify what Google is rewarding: intent, content type, depth, format, authority, entities, and gaps.

  3. Generate a content brief
    Turn the cluster + SERP findings into a structured brief for writers/editors.


2) Set up the input data

You’ll need a keyword list with at least:

  • keyword
  • search volume
  • keyword difficulty / competition score
  • CPC (optional)
  • country / locale
  • current ranking URL (if you have one)
  • search intent (if available)
  • date last updated

Good sources

  • Google Search Console
  • Ahrefs / Semrush / Moz
  • Keyword Planner
  • Internal site search
  • Competitor keyword exports

3) Build the clustering logic

There are a few common clustering methods:

A. SERP overlap clustering

Group keywords if their top results overlap significantly.

How it works:

  • Fetch top 10 SERP results for each keyword
  • Compare URL overlap between keywords
  • If overlap exceeds a threshold, put them in the same cluster

Best for:

  • Accurate SEO clustering
  • Mapping to one page vs multiple pages

Typical threshold:

  • 3–5 shared URLs in top 10, depending on niche and query intent

B. Semantic clustering

Group keywords by meaning using:

  • embeddings
  • NLP similarity
  • entity extraction

Best for:

  • Large datasets
  • Ideation
  • Finding topic gaps

Downside:

  • Can merge queries that should be separate pages if SERP intent differs

C. Hybrid clustering

Use semantic clustering first, then validate with SERP overlap.

Recommended approach

  1. Semantic grouping to reduce noise
  2. SERP overlap to confirm page-level grouping
  3. Manual review for edge cases

4) Create the SERP competitor analysis layer

For each cluster, pull the SERP and evaluate the top-ranking pages.

What to collect from competitors

  • ranking URL
  • title tag
  • H1
  • content length
  • content format
  • freshness / publish date
  • domain authority / backlink profile
  • schema usage
  • media type used: video, table, images, FAQ, calculator, etc.
  • intent match: informational, commercial, transactional, navigational
  • entities and subtopics covered

What to analyze

  • Search intent
    • Are results mostly guides, listicles, product pages, definitions, tools?
  • Content angle
    • Beginner-focused, expert-focused, comparison-focused, local, etc.
  • Coverage gaps
    • What subtopics do top results miss?
  • SERP features
    • Featured snippet, People Also Ask, video, images, local pack
  • Differentiation opportunities
    • Better structure, original data, examples, templates, FAQs

5) Generate the content brief

For each cluster, output a brief with standardized sections.

Recommended brief structure

A. Target topic

  • Primary keyword
  • Secondary keywords
  • Cluster keywords

B. Search intent

  • Main intent
  • Supporting intent(s)
  • Expected page type

C. Competitor snapshot

  • Top 3–10 SERP competitors
  • Common page patterns
  • Weaknesses/gaps

D. Content recommendation

  • Suggested angle
  • Target audience
  • Recommended length range
  • Format: guide, comparison, glossary, landing page, etc.

E. Outline

  • H1
  • H2s
  • H3s
  • FAQs

F. Optimization notes

  • Entities to include
  • Internal links
  • External references
  • Schema suggestions
  • Media suggestions

G. Acceptance criteria

  • Must answer X questions
  • Must include Y subtopics
  • Must mention Z entities
  • Must satisfy intent type

6) Fit it into the publishing workflow

A good workflow looks like this:

Step 1: Keyword discovery

SEO team exports keyword set.

Step 2: Clustering

Tool groups keywords into topic clusters.

Step 3: SERP analysis

Tool analyzes top results for each cluster.

Step 4: Brief generation

Tool creates a draft brief.

Step 5: Editorial review

Editor/SEO strategist approves or adjusts:

  • target keyword
  • intent
  • angle
  • outline

Step 6: Writing

Writer uses the brief.

Step 7: SEO QA

Check:

  • keyword coverage
  • intent match
  • internal links
  • title/meta
  • schema
  • readability

Step 8: Publish and measure

Track:

  • rankings by cluster
  • CTR
  • impressions
  • engagement
  • conversions

7) Choose your implementation style

You can set this up in a few ways.

Option 1: No-code / low-code

Use:

  • Airtable or Notion for data
  • SERP APIs
  • Zapier/Make for automation
  • LLM for brief generation

Best for: small teams, fast setup


Option 2: Spreadsheet + scripts

Use:

  • Google Sheets as the main interface
  • Python scripts for clustering and SERP collection
  • OpenAI or another LLM for brief generation

Best for: flexible, cheap, scalable enough for many teams


Option 3: Full internal tool

Build a web app with:

  • database
  • keyword upload
  • clustering engine
  • SERP scraper/API
  • brief generator
  • editorial dashboard

Best for: larger publishing operations


8) Recommended architecture

A simple architecture:

Input layer

  • CSV upload
  • keyword APIs
  • GSC exports

Processing layer

  • clustering service
  • SERP fetch service
  • content analysis service

AI layer

  • brief generation prompt
  • outline generator
  • title/meta generator

Output layer

  • brief in Notion/Docs
  • task in Asana/Trello/Jira
  • dashboard in Sheets/Airtable

9) Important prompt/output design for brief generation

If you use an LLM, make sure the output is structured.

Example prompt instruction

“Given this topic cluster and SERP data, generate a content brief with:

  • primary keyword
  • intent
  • competitor summary
  • suggested angle
  • detailed outline
  • FAQs
  • entities
  • internal linking suggestions Return in Markdown and JSON.”

Why this matters

Structured output lets you:

  • store briefs in a database
  • automate handoff to editors
  • keep consistency across writers

10) Quality controls

To avoid bad briefs:

  • Always validate clusters manually at first
  • Use SERP overlap to prevent false merges
  • Keep a “do not merge” rule for clearly different intents
  • Review briefs for topical completeness
  • Compare generated outline against top competitor coverage
  • Maintain a reusable editorial style guide

11) Useful scoring model

You can score each cluster by:

  • Opportunity score = search volume × intent match × content gap
  • Difficulty score = SERP authority + backlink strength + competition density
  • Priority score = opportunity − difficulty + business relevance

This helps decide which briefs get written first.


12) Minimal viable setup

If you want the simplest version:

  1. Export keywords to Google Sheets
  2. Cluster them with semantic similarity
  3. Pull top SERP results through an API
  4. Summarize competitor patterns with an LLM
  5. Generate a brief template in Markdown
  6. Push the brief into Notion/Asana for editorial review

13) Example workflow output

For each cluster, your tool should return something like:

  • Cluster name
  • Main keyword
  • Related keywords
  • Primary intent
  • Top competitors
  • Content type to produce
  • Suggested outline
  • Suggested FAQs
  • Internal links to add
  • Brief status: draft / approved / assigned

14) My recommended practical stack

If you want a balanced setup:

  • Keyword storage: Airtable or Google Sheets
  • SERP data: SerpApi, DataForSEO, or similar
  • Clustering: Python + embeddings + SERP overlap
  • AI brief generation: LLM with a strict template
  • Workflow: Notion or Asana
  • Reporting: Looker Studio / Metabase

If you want, I can also give you either:

  1. a sample database schema,
  2. a Python workflow outline, or
  3. a ready-to-use content brief template for this setup.

Observation history

Unlock observation history

Create a free Obsurfable account to unlock historical responses, model comparisons, and deeper brand intelligence.

How did Obsurfable measure this prompt?

Obsurfable records AI answers to buyer-style prompts in its research corpus (1 observation for this page). Metrics are distributions over observations, not a single static ranking.

Which AI systems does Obsurfable collect answers from?

OpenAI, ChatGPT, Google, Gemini, Google AI Mode, Anthropic, Claude, Perplexity, Grok, DeepSeek, Mistral, Copilot, and Meta AI.