Competitor and Content Gap Analysis
Run competitor and gap analysis across content, citations, CTR, and coverage, then rank each opportunity by value, remedy, owner, and post type before action.
Competitor and gap analysis identifies who actually wins the searches and AI answers your audience uses, separates four different kinds of missed opportunity, and ranks only the gaps worth acting on. Its output is not a list of competitor URLs. It is a decision-ready register in which every row has evidence, a remedy, a post type or technical-only designation, an owner, and a done-when condition.
Phase: P7 · Stage B — Decide. Timebox: one to two working days for a validated set of roughly 100–500 queries and prompts; extend the timebox when markets, languages, or product lines require separate competitive sets. Accountable owner: SEO strategist. Contributors: content lead, AI visibility analyst, technical SEO owner, paid search owner, and product or market specialist.
Why this phase comes here
Clients usually think of competitors as companies selling a similar product to a similar buyer. Search engine results pages, or SERPs, assemble a different field: publishers, marketplaces, review sites, directories, communities, integration partners, and adjacent products can all compete for the same query. AI answers widen the field again because a system may mention one brand while citing a different source that explains the category better.
That distinction is why this phase follows keyword and prompt research . P6 supplies the validated universe of queries, prompts, countries, providers, intent groups, and demand evidence. Earlier discovery also supplies the client’s commercial competitors, goals, constraints, and priority audiences. P7 tests both against observed rankings, cited sources, click behavior, and page coverage. Without those inputs, “competitor analysis” collapses into browsing familiar company websites and copying their navigation.
P7 must finish before topical map and information architecture because architecture commits opportunities to pages and relationships. If a team maps topics before distinguishing a missing page from a weak existing page, it creates cannibalizing URLs. If it treats a citation problem as missing content, it commissions another article while the real problem—insufficient source authority, weak evidence, or poor extractability—remains. If it skips the phase entirely, priority follows competitor visibility rather than business value.
Inputs and outputs
An output is accepted only when the next phase can act without repeating this analysis. A spreadsheet full of exported rows is evidence, not yet a deliverable.
Phase inputs and outputs
| Direction | Item | Acceptance condition |
|---|---|---|
| Input | Validated query and prompt set | Each record carries market, language, audience, intent, journey stage, and a stable identifier. |
| Input | Discovery competitor list | The client's named commercial competitors are preserved as a comparison layer, not assumed to be the ranking set. |
| Input | Baseline search and AI observations | Organic positions, impressions, clicks, indexed URLs, AI mentions, citations, provider, and observation dates are available where applicable. |
| Input | Current URL and content inventory | Canonical URL, index state, intended intent, page type, owner, and last material update can be joined to findings. |
| Input | Business constraints | Priority products, markets, exclusions, compliance limits, conversion values, and realistic delivery capacity are recorded. |
| Output | Observed competitive set | Domains are grouped by organic, AI mention, AI citation, and business competition with evidence and scope. |
| Output | Ranked gap register | Every row names one gap type, affected query or prompt cluster, evidence, value, confidence, effort, remedy, post type, owner, and status. |
| Output | Decision log | Committed, validate, merged, rejected, and parked decisions have a reason and decision date. |
| Output | Architecture handoff | Committed content work identifies a distinct page job; technical-only work identifies the existing URL and responsible owner. |
The checklist
The order matters. Establish the field before measuring gaps, classify the gap before proposing a remedy, and size the remedy before committing capacity.
1. Establish the observed competitive set
- What to do: Build separate lists for domains that rank organically, brands mentioned in AI answers, domains cited by AI answers, and commercial competitors named during discovery.
- Why it matters: A market rival can be absent from search, while a publisher that sells nothing can own the result and citation space. Combining those roles hides the source of the loss.
- How to do it: Join the top organic domains for the validated queries with brands and cited hosts from tracked prompts. Segment by country, language, product line, and intent when the result sets differ. Mark each domain’s roles rather than forcing one “competitor” label.
- Tool: Open Competitor Analysis at app.amicited.com/competitors , then reconcile detected competitors with the discovery list.
- Done when: At least 90% of the validated query and prompt set has an observed result set or a recorded no-data reason, every retained domain has evidence and scope, and the client’s list is marked matched, absent, or out of scope.
2. Identify content gaps
- What to do: Find topics and intent-specific questions competitors answer for which no suitable owned page exists.
- Why it matters: A content gap is an absence of a page job, not merely an absent keyword. Creating one URL for every wording produces duplication instead of useful coverage.
- How to do it: Cluster competitor-winning queries, prompts, fan-out questions, and cited pages by meaning. Compare each cluster with the owned inventory and inspect the actual winning pages. Record the audience need, intent, distinct answer, and likely format.
- Tool: Use the Semantic Map at app.amicited.com/semantic-map . Use Paid-Proven Gaps at app.amicited.com/reports/paid-proven-gaps when paid conversion activity can confirm commercial demand.
- Done when: Every proposed content gap has a distinct intent and page job, at least one observed demand signal, competitor evidence, and no adequate owned URL; semantic duplicates are merged under one candidate.
3. Identify citation gaps
- What to do: Find prompts and query-prompt pairs where competitors are cited and the client’s domain is not, including cases where the client’s page already ranks well organically.
- Why it matters: An AI citation credits a source URL. A brand can be mentioned frequently while its pages are never selected as evidence, so producing more brand copy will not necessarily close the gap.
- How to do it: Compare organic position, impressions, AI citation rate, cited competitor URLs, and the passages those pages make easy to extract. Separate “invisible winners” that rank but are not cited from pages that are cited despite weak rankings.
- Tool: Open Citation-Ranking Gap at app.amicited.com/reports/citation-gap .
- Done when: Every retained citation gap names the prompt group, provider and date window, owned candidate URL, competing cited URLs, evidence pattern, and page-level remedy; rows without enough observations are marked validate rather than committed.
4. Identify CTR gaps
- What to do: Find ranked queries and pages that earn fewer clicks than the site’s own expected click-through rate for that position.
- Why it matters: Click-through rate (CTR) is clicks divided by impressions. A page can rank and still lose demand because its title, description, result format, intent match, or brand promise fails to earn the click.
- How to do it: Compare actual CTR with the fitted site curve, then inspect the live result, query wording, competing snippets, SERP features, and page promise. Do not assume every below-curve row is a copywriting problem; a navigational query, image-heavy result, or mismatched page can explain the difference.
- Tool: Use the CTR Gap at app.amicited.com/reports/ctr-gap .
- Done when: Each selected row has sufficient data for the report to publish an expectation, an estimated click loss, a diagnosed cause, a proposed snippet or page remedy, and a measurement window.
5. Identify coverage gaps
- What to do: Find relevant pages that exist but are not indexed, receive no meaningful visibility, or cannot compete for their intended query and prompt cluster.
- Why it matters: A coverage gap is not a request for another page. It is a failure of discovery, indexability , intent alignment, quality, internal support, or agent access on an existing URL.
- How to do it: Join the inventory to index status, impressions, rankings, prompt coverage, canonical state, internal links, and agent-readiness checks. Inspect whether the page is eligible, whether its declared search intent matches the observed result set, and whether AI agents can retrieve and interpret it.
- Tool: Compare sites with AI Accessibility and Agent Readiness at app.amicited.com/accessibility , alongside the connected search coverage data in the working dataset.
- Done when: Every affected URL has one primary cause, evidence that distinguishes technical exclusion from competitive weakness, an accountable technical or content owner, and a retest condition.
6. Read share of voice and citation share together
- What to do: Place brand share of voice beside citation share for the same prompt set, providers, market, and dates.
- Why it matters: The two measures answer different questions. Share of voice measures how often the brand is present in the conversation; citation share measures how much of the source selection belongs to its pages. Reading either alone can prescribe the opposite of the needed remedy.
- How to do it: Use a four-quadrant interpretation: strong voice and strong citation means defend; weak voice and strong citation means improve brand/category association; strong voice and weak citation means strengthen specific pages, evidence, and page authority ; weak voice and weak citation means revisit topic fit and build both recognition and source quality selectively.
- Tool: Use the competitor view for mention share and the citation-gap report for source selection, with identical filters.
- Done when: Every priority prompt cluster has both values or an explicit unavailable reason, the date/provider scope matches, and the recommended remedy follows the paired pattern rather than one metric.
7. Size, classify, and assign every gap
- What to do: Score expected impact, confidence, and effort; select one primary gap type; attach the remedy, post type, owner, and acceptance condition.
- Why it matters: Gap volume is almost unlimited. Qualification protects production capacity and prevents a large export from masquerading as strategy.
- How to do it: Apply the qualification test and scoring rules below. Choose from the existing post-type specifications only when a new or substantially rebuilt page is the remedy. Use “none—technical fix” when the page type is not changing.
- Tool: Use the AmICited evidence links stored with each row and the team’s delivery tracker for ownership and status.
- Done when: There are no committed rows without evidence, remedy type, post type or technical-only designation, owner, score, acceptance condition, and destination in the next phase.
Tools in AmICited
The screenshots below are capture instructions, not asset references. Each capture must show the filters and evidence used to make a decision, not a generic dashboard.
Store the saved view or exact filter values with each gap row. A screenshot proves what an analyst saw; the deep link and filter record make the finding reproducible.
Decision rules
These are operating defaults, not universal ranking laws. Calibrate them when the query set, sales cycle, traffic scale, or provider cadence makes the default misleading, and record the replacement before scoring.
Competitive-set admission
- Add a domain to the observed set when it appears in the top 10 organic results for at least three validated queries in one intent cluster, or is cited in at least two distinct tracked prompts during the analysis window.
- Keep a domain as provisional when it meets only one observation. Confirm it in the next collection window rather than letting one volatile result reshape the roadmap.
- Keep client-named commercial competitors even when absent, but label them business-only. Do not use them as the sole evidence for a gap.
- Split competitive sets when fewer than half of the recurring domains overlap across countries, languages, or materially different intent groups. One blended list would hide who actually wins each context.
Gap evidence floors
For the paired voice test, call brand voice strong when it is within 10 percentage points of the cluster leader. Flag a page-authority pattern when citation share trails the brand’s own share of voice by at least 10 percentage points and the comparison contains at least 10 citations. Below that sample, label the pattern directional and validate it over another window.
| Gap type | Default evidence floor | “Bad” condition | Normal remedy |
|---|---|---|---|
| Content | A validated cluster, two independent competitor domains or one competitor plus paid-conversion evidence, and no adequate owned URL | The audience need fits the business, competitors satisfy it, and the inventory has no page with the same job | Create or consolidate into the appropriate post type |
| Citation | At least 10 tracked answer runs across at least two providers or collection dates | An owned page ranks in the top 10 for the paired query yet has 0 citations while competitors are repeatedly cited | Improve evidence, extractable passages, source alignment, internal/external support, and page authority |
| CTR | The report publishes a position expectation from the site’s own curve; prioritize at least 100 query-page impressions in the selected window | Actual CTR is at least 20% below expected and the estimated loss is at least five clicks per month | Rewrite or retest title and description, align promise with intent, or improve the result format/page |
| Coverage | A canonical, index-eligible URL has existed for at least 14 days, or an important live URL has no impressions across the selected 90-day window | The page is excluded, undiscovered, mismatched, inaccessible to agents, or materially weaker than pages satisfying the same intent | Fix discovery, canonical/index controls, internal linking, intent alignment, quality, or agent access |
Never convert an evidence floor into certainty. Ten variable AI runs can justify a test, not prove a permanent platform rule. A 14-day coverage threshold is a triage trigger, not a promise that every eligible page should be indexed by then.
The qualification test
A gap enters committed work only when all five questions have defensible answers:
- Relevance: Does closing it help a priority audience complete a job connected to the business?
- Distinctness: Is there a unique page job or a clear improvement to an existing URL, rather than a keyword variant?
- Evidence: Is the finding supported by observed rankings, prompts, citations, clicks, paid demand, or coverage data?
- Winnability: Can the site supply the expertise, product truth, evidence, authority, and technical access needed to compete?
- Value versus effort: Is the likely visibility, click, citation, conversion, or strategic coverage gain worth production and maintenance cost?
Score impact, confidence, and effort from 1 to 5, where 5 is highest. Calculate priority = impact × confidence ÷ effort. Commit scores of 8 or more when all five qualification questions pass. Put scores from 4 through 7.9 into validation with a named evidence task. Park scores below 4 unless the gap is a compliance, reputation, or critical product-coverage requirement that overrides the economic score. Never raise confidence merely to meet the threshold.
Deliverable: the ranked gap register
Deliver one row per decision, not one row per raw keyword. Query and prompt variants belong inside a cluster field. The register can live in a spreadsheet, database, or delivery system, but it must preserve this schema:
Gap ID:
Market / language / audience:
Query and prompt cluster:
Observed competitors and winning URLs:
Primary gap type: CONTENT | CITATION | CTR | COVERAGE
Secondary signals:
Owned URL: [URL | NONE]
Evidence window and filters:
Evidence links and capture references:
Impact (1–5):
Confidence (1–5):
Effort (1–5):
Priority score:
Decision: COMMIT | VALIDATE | MERGE | PARK | REJECT
Decision reason:
Remedy:
Post type: [canonical post type | NONE—TECHNICAL FIX]
Accountable owner:
Done when:
Target phase / delivery window:
Review date:
A complete example might record a commercial prompt cluster where three competitors are cited, the client’s relevant comparison page ranks sixth but has no citation across 12 tracked runs, and share of voice is close to the category leader. That is primarily a citation gap, not a content gap. The remedy is to strengthen the existing comparison page’s evidence, self-contained answer passages, source support, and internal authority; the post type remains comparison A vs B; the owner is the content lead; done means the revised page is published and the same prompt set is remeasured after the agreed observation window.
What goes wrong
Analyzing only the competitors the client named
This produces a polished view of the wrong field. A directory, publisher, community, or adjacent product may dominate the query set while every named vendor is absent. Preserve the client list, but show which names the data confirms and which observed winners were missing from it.
Treating every gap as a content gap
The symptom “competitor wins, we do not” has four possible remedies. Missing topic coverage may justify a page. Missing citations may require stronger evidence and authority on a page that already ranks. Weak CTR may require a better search-result promise. Missing coverage may require indexing, internal linking, accessibility, or intent repair. Creating a new article for all four increases overlap and leaves the actual constraint untouched.
Reading share of voice without citation share
A strong brand can be mentioned often while AI systems link to publishers or competitors. Calling that a brand-awareness failure sends budget toward promotion when the sharper problem is source selection. Conversely, a lesser-known brand whose pages earn citations may have credible source material but weak association with the category. Compare the measures on identical scopes before deciding.
Ranking gaps by volume alone
High volume can hide weak business fit, ambiguous intent, dominant SERP features, unrealistic authority requirements, or expensive maintenance. Low-volume prompts can still matter when they describe a high-value buying or implementation decision. Score impact in business context, then temper it with evidence confidence and effort.
Producing a gap list with no owner or post type
A row called “write something about enterprise AI SEO” cannot enter production. It lacks a page job, format contract, evidence burden, owner, and finish line. Every committed content row must select a canonical post type; every non-content remedy must explicitly say that no new post type is needed and name the existing URL.
Mixing scopes and windows
Comparing global share of voice from 90 days with one-country citation share from seven days creates a persuasive but invalid chart. Store country, language, provider, device where relevant, query or prompt set, and dates with every metric. If scopes cannot match, label the comparison directional and do not use it alone to commit work.
Handoff to topical mapping and information architecture
The next phase receives the observed competitive set, ranked gap register, decision log, and supporting evidence. It maps only committed content opportunities to distinct page jobs and relationships. Citation, CTR, and coverage remedies that retain an existing URL go to their named owners without being forced into a new-page architecture.
The SEO strategist should be able to answer four questions for every handed-off row: Why this gap? Why this remedy? Why this page type or technical-only designation? Why now? The architecture owner should not need to reopen competitor research to understand the decision, and the delivery owner should not need to guess how completion will be judged.
Before handoff, verify that every committed row has a stable ID, one primary gap type, evidence with matching scope, a priority score, a decision reason, a remedy, a post type or technical-only designation, an accountable owner, and a measurable done-when condition. Anything missing returns to analysis; it does not enter the roadmap as an implied task.
Start with the real competitive field
Open app.amicited.com/competitors to establish the observed set, then carry only qualified, owned decisions into the gap register. The goal is not to copy everything competitors publish. It is to choose the few missing or underperforming opportunities for which the right remedy can produce a measurable result.
More tutorials in this section
Ready to put it into practice?
Free check · 7-day trial · no credit card