Skip to content
Documentation

Typed pages, list pages and new paths

How the content engine writes pages whose address is built from parts such as company and role, keeps list pages current, and adds or removes paths.

Property → Content → Content types6 min read

Some sections of a site are built from parts: an interview guide for every company and role at /interviews/google/software-engineer, for example. The content engine reads that structure off your own pages, writes the combinations people search for, keeps list pages that gather items from those pages, and can add a new value, such as a new company, or take one down. Your site is asked before anything is written at a new address.

How AutoPSEO finds the structure

The structure comes from your own pages, never from a declaration. During each scan AutoPSEO groups your addresses by section and depth:

  • A group needs at least six pages, two or more levels below the section, with segments whose values repeat across pages. The result is a pattern such as /interviews/{company}/{role}.
  • Each value's name is read off your titles, so goldman-sachs becomes "Goldman Sachs", and initials are recognised (bcg for Boston Consulting Group).
  • How people search for these pages comes from Search Console: a way of phrasing counts once it carries at least 20% of the matching searches.
  • The counts and lists your pages keep to are measured on AutoPSEO's copies of them (at least 5 pages): counts cover the range 90% of pages fall in, and a list counts when 80% of pages carry it.

Only a section you handed to AutoPSEO gets this structure: a managed content type at that path. Your site says which sections it hands over through its webhook (delivery); everything else about the section is read from the pages.

Writing a typed page

  • Routing. A search that names one value of every part, by name, alias or address segment, goes to the typed content type. "amazon data engineer interview questions" becomes company amazon and role data-engineer.
  • The brief shows the address, the chosen values, and what your own pages about those values say, read live when the brief is built.
  • The checks. Every number in the article must appear on those pages or in the values' recorded facts, a value that has a page of its own must be named in the H1 or the direct answer, each list must have its number of items, and the address must still be free. Your own AI passes the values as parts to content_get_brief and content_submit.
  • Translations keep every list at the same length.
  • Deliveries carry article.parts, for example { "company": "google", "role": "software-engineer" }.

Planning the combinations people search for

Each scan lists the combinations your pattern allows that have no page yet, up to 500 addresses, and asks your site with path.check whether it would take a page at each one, 50 at a time. A refusal is kept with your reason and never asked again; an address your site does not answer is asked next time. Without path.check connected, "no new pages are planned until it does."

For up to 200 accepted addresses per scan, AutoPSEO looks up monthly searches on research credits. A combination with at least 10 searches a month is planned in the backlog without the model review, because your site already accepted its address. One with fewer is turned down as "Too few searches for a page of its own".

List pages

A list page gathers one list from every page that shares a value: every sample question for one role at /interview-questions/data-engineer, each item pointing back at the page it came from. AutoPSEO makes list pages only for a section your site handed over that the scan recognises as such a hub (its pages cover at least 60% of a part's values, and at least three).

  • A list page exists in every language; an item a translation lacks shows the original's text.
  • Deliveries mark it article.kind = "list" with article.parts, and its copy is { title, h1, items: [{ from, text }] }.
  • It is rebuilt whenever a page it gathers changes, with no model, no review and no quota, and it never takes an address another page has (maintenance).
  • Nobody edits it by hand: claims, rewrites, rollbacks, takedowns and merges are refused. The content type shows Built from other pages.

New paths

A new path is a new value of the first part of the address: a new company at /interviews/jane-street.

  1. Proposed. Your own AI proposes one with content_propose_value, or AutoPSEO finds them once a month in search demand: it asks for keyword suggestions on searches like your existing ones without the company part, a model picks the phrases that name a company, and up to five per content type are proposed, each searched at least 100 times a month in all and at least 10 times in one search. Discovery needs path.add connected and research credits.
  2. Asked. Each proposal goes to your site first: path.check with new: { part, value, name }. A refusal is kept with your reason and the value is never proposed again.
  3. Written. An accepted value becomes a value task in the queue. Only a writer that can read the web takes it: your own AI, or the values session of the unattended runner (your own AI). AutoPSEO's writer skips value tasks, and they cost no quota.
  4. Submitted. The writer reads the brief (the rules, two of your pages about other values, the searches that name the new one) and sends content_submit_value: its name, up to 10 aliases, its own https site, up to five other official pages, a description of at most 160 characters, and 3 to 12 facts. Each fact is one plain sentence with an https source, the date it was read (within the last year) and a tier: official when the source is the value's own site, else reported. A value needs one official fact, or three reported ones from at least two sites. Today the rules ask for facts about how the company hires.
  5. Reviewed and sent. The value waits for review like a draft, then path.add goes to your site through the delivery outbox, waiting while your site has not connected the command.
  6. Taken or refused. Taken, the value shows as On your site, joins the content type's values with its facts, and the next scan plans its pages. Refused with invalid_value, it goes back to the writer with your reason, and the third refusal is final. Any other error code refuses it for good.

The Content page lists every value under "Paths AutoPSEO proposed, added or took down", with states such as Being written, In review, Sent to your site, On your site and Turned down.

Taking a path down

Only a person starts this: Take a path down on the Content page ("Path to take down", "Where its addresses lead (optional)"), or content_remove_path over MCP with your go-ahead. path.remove asks your site to take the value down with every page under its path and to answer them with a 301 to redirectTo, the content type's own page unless you chose another address on your site.

  • A content type's only value cannot be taken down.
  • If your site takes it, or answers 404 with not_found, AutoPSEO's copies of those pages go down without another delivery, anything waiting to be sent about them is dropped, their tasks and the value's planned topics are turned down, and the value leaves the content type while your old pages still show up in scans.
  • If your site refuses with another error, such as 409 in_use, nothing changes.

Payload shapes for path.check, path.add and path.remove are in delivery.

Put your SEO content on autopilot

Connect Search Console and your site. AutoPSEO scans it and plans the first topics right away. No credit card needed.