> For the complete documentation index, see [llms.txt](https://docs.frase.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.frase.io/feature-reference/content-opportunities.md).

# Content Opportunities

Find what to write next, then claim it now or plan it onto your calendar

**Opportunities** is where Frase tells you what to write next. It scans your site, your search data, and your competitors, then ranks the topics most likely to grow your traffic based on real [performance data](/feature-reference/seo-analytics.md) and competitive gaps.

From there you have two moves: claim a topic and Frase writes it for you now, or pick several and add them to your content plan. Planned pieces land on your [**Content Calendar**](/automations/content-calendar.md), and Frase writes each one on its date.

Find Opportunities in the sidebar, in the **Plan & Create** group.

<figure><img src="https://2279611032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1qovufZAMEOFfdX3BMUE%2Fuploads%2FM4aRsMNt55jOCYaJLREB%2Fimage.png?alt=media&#x26;token=f1bb569d-4921-4258-8e67-c87e9b8f1b38" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Ask the [Frase Agent](/automations/meet-the-frase-agent.md) *"What should I create next?"* In Claude with [Frase MCP](https://claude.ai/customize/connectors/directory/frase) connected, ask for your top opportunities and have Frase turn one into a brief.
{% endhint %}

### How It Works

Opportunities pulls from several data sources, scores every idea on impact and effort, and checks each one against what your site already covers. Topics you've already published drop off the list, so what's left is the gap you haven't filled yet.

#### What's Analyzed

* [**Google Search Console**](https://docs.frase.io/integrations/connectors/google-search-console) *(if connected)*\
  Ranking opportunities grounded in your actual search performance.
* **Competitor Gaps**\
  Topics your competitors cover where your ownership is weaker, with each competitor's ranking shown on the card.
* **Content Decay**\
  Pages you own that are losing visibility or clicks and are due for a refresh.
* **CMS Updates**\
  Recommendations tied to pages already published on your connected CMS.
* **Programmatic**\
  Pattern-based templates (comparisons, location pages, integrations) that can scale into multiple pages. Set these up from the *feed settings* button in the toolbar.
* **Visitor Questions** *(if you use Frase Answers)*\
  Gaps pulled from real questions your Answers widget couldn't answer well.

{% hint style="warning" %}
**Frase only mines gaps from confirmed competitors.** A competitor still under review doesn't feed Opportunities. You can also keep a competitor tracked for *AI Visibility* while turning off its *Content Research* toggle, which keeps its pages out of your suggestions. If a competitor you care about isn't showing up, check **Brand Hub → Competitors**, then re-scan.
{% endhint %}

#### Smart Scoring System

Each opportunity gets an overall score built from four weighted factors:

* **Impact (35%)**: traffic potential from ranking improvements
* **Effort (25%)**: how much work is required
* **Speed (20%)**: how quickly results can be seen
* **Strategic Value (20%)**: long-term business value

Click any card to open its details. You'll see the score breakdown, the data behind it, a confidence level, and a suggested action plan.

#### Your Clusters Shape the Ranking

Opportunities reads the [topic clusters ](/core-workflows/content-clusters.md)you're building on the Cluster map. A topic that fits a cluster ranks with confidence. A topic that doesn't fit anything you're building is set aside as off-strategy and won't appear in your main list.

Nothing is deleted. Look for **Review filtered topics** above the list to see what was set aside, and restore any topic that belongs in your plan by picking the cluster it fits. Topic exclusions caught by your Brand Hub's *Never* [Terms](https://docs.frase.io/feature-reference/brand-hub#writing) sit in the same place.

{% hint style="info" %}
**Haven't built a Cluster yet?** Every opportunity shows as unconfirmed until you define your first topic on the Cluster map, and nothing publishes without your review until then.
{% endhint %}

### Reading the Report

Opportunities are grouped into three tabs, ranked by likely payoff:

<details>

<summary><strong>Gaps</strong></summary>

Topics your site doesn't cover yet, so competitors can frame the conversation first.

</details>

<details>

<summary><strong>Growth</strong></summary>

Validated topics worth owning next because they're the most likely to move the needle.

</details>

<details>

<summary><strong>Optimize</strong></summary>

Pages you already own where a focused refresh should beat starting over.

</details>

Use the toolbar to narrow the list by impact (high, medium, low), by source, or by a specific competitor, or search for a keyword.

Switch between the **List** view and the **Clusters** view to see the same opportunities mapped onto your topic clusters.

<figure><img src="https://2279611032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1qovufZAMEOFfdX3BMUE%2Fuploads%2FxBaylGnyiHlritAIaZ1e%2Fimage.png?alt=media&#x26;token=7f16a547-c55e-4c37-b42b-64a8454520d3" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Use the **Re-scan icon** to check for newly surfaced opportunities. Scans run once per site every 24 hours.
{% endhint %}

### Act on an Opportunity

Every card carries one primary action and a **Skip for now** option. What the primary action does depends on the kind of opportunity.

{% stepper %}
{% step %}

#### Create Content

For a topic you don't cover yet. Frase starts researching and writing in the background right away, and the card reports progress in place: *Researching...*, then **Review Outline**, then *Writing...*, then **View Content** when the draft is ready.
{% endstep %}

{% step %}

#### Update, Refresh, Expand, or Fix This Post

For a page you already own. Frase opens the existing article in the editor, importing it from your [CMS](https://docs.frase.io/integrations) first if it isn't in Frase yet, so you can refresh it with the opportunity's keywords in hand.
{% endstep %}

{% step %}

#### Generate Pages

For a programmatic template. Frase generates the full batch of pages from one shared research pass.
{% endstep %}
{% endstepper %}

<figure><img src="https://2279611032-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F1qovufZAMEOFfdX3BMUE%2Fuploads%2FErjosfZ0rWmG3XpRNaQJ%2Fimage.png?alt=media&#x26;token=97c5e286-33c4-4d0d-b921-f2a9d897eff8" alt=""><figcaption></figcaption></figure>

Skipping a topic takes it off your list, and Frase treats that as a signal the next time it scans.

### Add Several to Your Plan

When you'd rather schedule a batch than write one piece at a time, plan them together. This is how Opportunities feeds your Content Calendar.

Planning is for new-topic opportunities (the ones that offer **Create Content**). Programmatic templates, decay alerts, and visitor questions each have their own action instead, so they won't go onto the plan.

{% stepper %}
{% step %}

#### Select your topics

Tick the checkbox on each topic you want, or click **Plan several** to open the selection bar right away.
{% endstep %}

{% step %}

#### Add them to your plan

Choose **Add to plan**. (You can also **Compare** up to 5 selected topics side by side, or skip the whole selection in one move.)
{% endstep %}

{% step %}

#### Space them out

Pick how to space them out:

* **Spread evenly** places them at your site's publishing rate (2 per week unless you've set another), starting from the date you choose. You can change the rate in the sheet, from 1 to 7 per week.
* **All at once** puts every piece on the same day.
* **Pick dates** lets you set each date by hand.
  {% endstep %}

{% step %}

#### Confirm the plan

Remove any piece you've changed your mind about, then confirm with **Add to plan**.
{% endstep %}
{% endstepper %}

You can add up to 50 pieces at a time.

{% hint style="success" %}
**Planned means planned, not published.** Frase writes each piece on its scheduled date and takes it as far as your **Autonomy** settings allow *(feature coming soon).* Content types set to *Auto* publish on their own (or land in your review queue if a safety check holds them). Types set to *Review* wait for your approval. Types set to *Manual* sit as a draft until you pick them up, and the sheet warns you about those before you confirm.
{% endhint %}

### How Opportunities and the Content Calendar Work Together

Opportunities decides *what* to write. The Calendar decides *when*. The two stay in sync in both directions.

**From Opportunities to the Calendar**

* Each piece you add to your plan becomes a **Planned** item on your Calendar, shown as a dashed chip on its date. The card drops out of your Opportunities list right away; if you come across it again later, it shows the existing brief instead of offering to create it twice.
* On the scheduled day (Frase checks hourly, so it may be shortly after), Frase writes the piece. The date on the calendar is a writing date, so once writing starts the item leaves the calendar and continues in your **Content** list as *Generating*, then *Draft*, *Review*, or *Published*, depending on your Autonomy settings for that content type.
* Once a piece publishes, it comes back onto the Calendar on the day it went live.

**From the Calendar back to Opportunities**

* Drag a planned item to another future day to move its writing date. Open it and choose **Remove from plan** to take the topic off your plan entirely.
* An empty Calendar offers **See what Frase recommends**, which takes you straight back to Opportunities for the same site.
* In the **Agenda** view, planned items read "Planned" instead of a time, because the date is a writing date, not a publish time.

For scheduling and publishing details, see [**Content Calendar.**](/automations/content-calendar.md)

### Best Practices

To get the most out of Opportunities:

1. Confirm your competitors and build at least one cluster first, so the ranking has something to work from.
2. Start at the top of the **All** tab, or in **Growth** if you want validated topics with the clearest upside.
3. Claim a topic when you want it written today. Add to plan when you want a steady cadence.
4. Check the **Optimize** tab regularly. Refreshing a decaying page is usually faster than starting over.
5. Re-scan after you change competitors, clusters, or excluded topics.

{% hint style="info" %}
Opportunities skips topics your brand has chosen to avoid. Manage these under [**Brand Hub** ](/feature-reference/brand-hub.md)→ *Never* Terms with the *Excluded topic* category.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.frase.io/feature-reference/content-opportunities.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
