content_opportunities
Rank what this site should write or improve next, from every signal already stored: Search Console queries on page 2 / low CTR, RISING DEMAND (live 28-day vs prior-28-day Search Console comparison: queries whose impressions are climbing or that did not exist a month ago — demand forming is the wave to catch), content gaps rivals cover, keyword clusters with no ranking page, tracked keywords stuck on page 2-3 (with position momentum from ranking snapshots), and AI-answer prompts where the site is not cited. Each opportunity carries its evidence, an impact_clicks estimate, a kind (optimize = improve a page that already ranks; create = new page), an optional trend (new / rising / improving — boosted in the score) and a score that divides impact by effort and rewards keywords several signals agree on. Lead with trending ones when presenting: they are cheaper to win now than after rivals notice. Free — reads stored data. If a source shows 0, that signal was never collected: sync_search_console, compute_content_gaps, create_keyword_session, add_tracked_keywords and run_visibility_scan each fill one. Start of the content_engine workflow: present the top few to the user and let them choose.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many to return (default 25, max 100) | |
| detail | No | summary (default) | full | |
| trends | No | Fetch live Search Console windows for rising/new demand (default true; needs the user's GSC connection) | |
| site_id | Yes | The site ID |