Documentation
Content engine topics: sources, gates, routing and review
How the content engine finds topics in Search Console, your site, saved keywords and your own AI, then filters, routes and reviews them before writing.
Every article starts as a topic: a search your site should answer and does not yet. Topics arrive from Search Console, from your own site, from your saved keywords, and from you or your own AI. Each one passes a set of gates, is routed to a content type, and is reviewed against the pages you already have. It then waits in the backlog until the daily run moves it into the queue at the pace you set.
Where topics come from
| Source (as the backlog labels it) | How topics arrive | Starting priority |
|---|---|---|
| Search Console questions, Search Console, close to page one | The daily run reads the last 28 days | 65 |
| Your site | Topics your site hands over through its webhook | 60 when your site queued them, 40 when it only planned them |
| Added by hand | Typed in on the Content page | 55 |
| Your own AI | content_add_topics over MCP | 55 (the AI can set 0 to 100) |
| Saved keywords | Add my saved keywords | 45 |
| Typed pages | Address combinations people search for | 35 |
| Search Console (from a scan) | The scan's backlog step reads three months | 30 |
| People also ask | Questions on the results page each brief reads | 20 |
| Related searches, Google autocomplete | Same results pages; autocomplete only for a nearly empty new backlog | 15 |
Higher priority moves into the queue first; ties go to the topic with the most clicks to gain, then search volume, then age.
Search Console finds
Each day at 03:17 UTC AutoPSEO reads your last 28 days of searches per page. A search qualifies when it has at least 20 impressions, an average position worse than 3 but no worse than 30, and no page of yours is already about it (your best page's address carries fewer than 60% of the search's meaningful words). Searches are ranked by the clicks you miss compared with the click-through rate of position 3, and up to 20 are planned a day. Question-shaped searches are labelled Search Console questions. Background on these numbers: CTR and position.
Topics you add
- Plan topics, one per line in the Backlog panel, then Add to the backlog: up to 500 at once. They go through the gates and the review like any other topic.
- Add topics, one per line in the Queue panel, then Add: up to 20 at once. They pass the gates and are routed at once, then go straight into the queue without a review.
- Add my saved keywords brings up to 500 keywords from your Keyword Library, highest volume first, with their volume and difficulty.
- Your own AI can plan topics with
content_add_topics(1 to 200 per call, free) or start one directly withcontent_claimand a keyword. See writing with your own AI.
Topics from your site
When your site's webhook exports topics, every scan and the daily run fetch them: the daily run asks only for topics that changed since its last pull. Your site has already vetted them, so only the brand and coverage gates run, and a content type your site names is used as given. A topic your site marks rejected is recorded as turned down on the site. Protocol details: delivery.
The gates
Each topic passes these checks in order. The first one it fails turns it down, and the reason is kept.
- Empty. Nothing is left once filler words are removed.
- Brand. It contains a brand term, from Brand terms, never topics in the content settings or Branded Keywords in Property Setup. Brand searches are navigational, so another article would only compete with your home page.
- Off topic. It contains one of your Off-topic words, or, when you set On-topic words, none of them.
- Covered. One of your pages or topics already answers it (below).
- Already ranks. For Search Console finds only: your site already ranks in the top 3 for it.
A Search Console search is also skipped when the page it found sits under another language's prefix, when it is not written in your primary language's script, or when it is garbled. A keyword the property has ever had as a task, in any state, is never proposed again.
How coverage is judged
AutoPSEO compares the topic's words with every label it knows: the slugs, titles and H1s of the pages your scan found, the searches a page already wins, the slugs, keywords and titles of its own articles, and every open or planned topic. A topic is covered when all of its meaningful words appear in one label. Before comparing, it drops filler and your Words in almost every query of the site, merges your Words that mean the same groups, and folds word forms, so "is cluely detectable on zoom" matches a page about "can cluely be detected by zoom". A word your pages never use is read as the word it misspells, so "parakit ai" is covered by a page about Parakeet.
Routing to a content type
Each content type has rules: the kinds of search it takes (questions, how-tos, definitions, comparisons, alternatives, best-of lists), words it requires and words it excludes. Types are tried in order and the default type takes whatever the others leave, unless it excludes it. A search that no type takes is turned down with "None of the site's content types takes it."
When two types take the same search, or only the default does while other types exist, a model decides: Llama 3.3 on Workers AI, given each type's path, its instructions and a few of its page titles, 25 topics per call. Below 0.5 confidence, on an error or without research credits, the rules' answer stands. Topics added straight to the queue, moved with Queue now or claimed by your own AI get that answer on the spot. Topics planned into the backlog wait for a routing run, which starts at most once an hour per property. Content types are explained in writing and review.
The review
Before a planned topic can enter the queue, a model reviews it alongside the five pages of your site that are closest to it, each with its section headings. It answers one of five verdicts:
| Verdict | What happens |
|---|---|
| write | The topic goes ahead |
| covered | Turned down, naming the page that already answers it |
| extend | It belongs in an existing AutoPSEO article as a new section (below) |
| duplicate | It repeats another topic in the same batch and follows that topic's fate |
| skip | Turned down as not worth an article on this site |
Topics are reviewed 20 per call, with topics about the same thing kept in one batch so duplicates are caught. The gates run again first. Below 0.6 confidence the topic goes ahead as write. When the review cannot run (no research credits, a failed call), the topic goes ahead on the gates alone.
Extend only applies to articles AutoPSEO manages; for any other page the topic is turned down. Questions waiting for the same article are collected into one optimise task, up to five per task, once the article has no other open task, and at most three such tasks are open per property. The topic itself is turned down with "Folded into" and the article's address. See maintenance.
Routing and review use research credits, charged at cost plus the platform markup: 1,000 credits are US$1.
From backlog to queue
The Backlog holds planned topics: "Topics that passed the gates and wait their turn." Each day at 03:17 UTC the most promising reviewed topics move into the Queue, at most 3 a day, and only while fewer than 12 tasks are open for the property. Queue now moves one topic at once, skipping the daily limit and the review; it is refused once 50 topics are open.
From the queue, AutoPSEO's writer starts one task at a time per property, at the pace set by New articles per week (0 to 14; 2 means one every three and a half days, 0 pauses the engine). It takes the queued task with the most clicks to gain first. Refresh and optimise tasks share the same pace. If Who writes the topics in the queue is set to your own AI, the queue waits for it instead.
Routing, review and the daily top-up only run while New articles per week is above 0, including for a site whose own AI does the writing.
Topics that were turned down
Turned down lists the 50 most recent refusals: "Topics the gates or a reviewer refused, with the reason." Removing a topic from the backlog, turning a draft down in review, or your AI's content_decline records a refusal too, so the same topic is never proposed again. To change what gets through, adjust the topic rules under Settings or the content types' rules; the backlog is checked again whenever rules, types or the primary language change.