People Also Ask for SEO: turn PAA into a content strategy
People Also Ask (PAA) is Google’s list of related questions on a results page, each paired with the page or AI-generated answer Google picked for it. For SEO it is most useful as three things at once: a list of questions in searchers’ own phrasing, a record of which page currently owns each answer, and a signal of how often Google answers the topic with generated text instead of a link.
The sections below cover intent mapping, page-versus-section decisions, answer ownership, the AIOVERVIEW versus LINK split and refresh cadence. Extracting and expanding PAA level by level is covered in mining People Also Ask for keyword research.
Definitions
- PAA question: one entry in the list, returned as
peopleAlsoAsk[].question. - Answer type:
LINK(a web page answers it, withtitle,link,snippet),AIOVERVIEW(an AI-generated overview answers it) orUNKNOWN. - Answer owner: the domain in
linkfor aLINKitem, or the domains insources[]for a hydratedAIOVERVIEWitem. - AI answer share: the share of PAA items in a set of results whose type is
AIOVERVIEW. - Owner concentration: the share of
LINKanswers in a cluster held by the single most frequent domain.
Google’s own name for the block is a “related questions group”, described in its visual elements gallery as “a cluster of questions related to the user’s initial search” (checked 2026-09-17).
Step 1: map questions to intent
A PAA list mixes intents. Sorting questions by what the searcher is trying to do tells you what kind of content answers them and where it belongs.
| Intent | Typical phrasing | Best home | Answer format |
|---|---|---|---|
| Definition | “What is…”, “What does … mean” | Glossary entry or the opening of a pillar page | One-sentence definition, then context |
| How-to | “How do I…”, “How to…” | Tutorial or guide section | Numbered steps |
| Comparison | “Is X better than Y”, “X vs Y” | Comparison page | Table plus a verdict per use case |
| Cost | “How much does…”, “Is … worth it” | Pricing explainer | Ranges, what drives the cost |
| Troubleshooting | “Why is my…”, “Why does … not” | Support article | Causes ranked by likelihood, fixes |
| Eligibility and rules | “Can I…”, “Do I need…” | FAQ section on the relevant page | Yes or no first, then conditions |
| Local | “… near me”, “Where to…” in a city | Location page | Address-specific facts |
A simple rule-based classifier on the first words of each question sorts most of a list; review the rest by hand. Intent matters more than wording: “Is a standing desk worth it” and “Are standing desks good for you” are both evaluation questions and usually belong on the same page.
Page or section?
Decide per cluster, not per question:
- Own page when the cluster has several distinct sub-questions, shows up across many of your seed queries, and its current owners are dedicated pages.
- Section on an existing page when the questions are follow-ups to a topic you already cover, and the owners are sections of longer pages.
- FAQ block for short factual questions (eligibility, limits, yes or no) that do not justify a heading of their own.
- Skip when the intent does not match what you sell or know, even if the question is popular.
Step 2: FAQ sections without the rich-result assumption
One PAA tactic was to add an FAQ section with FAQPage markup and hope for an FAQ rich result. That no longer applies. Google’s documentation changelog records that in September 2023 the FAQ documentation was updated to say the feature is only shown for well-known, authoritative government and health websites, and a May 2026 entry adds a deprecation notice because “this feature will no longer appear in Google Search starting May 7, 2026” (Latest Google Search documentation updates, checked 2026-09-17).
FAQ sections are still worth writing when they help readers, because the structure itself answers PAA questions cleanly:
- Use the PAA question, or a close natural variant, as the heading.
- Put the direct answer in the first sentence under it. Qualifications come after.
- Keep one question per heading. Merged questions produce vague answers.
- Answer only what you can answer accurately. Google’s guidance on helpful content says content made “primarily to attract search engine visits” is “not aligned with what our systems seek to reward” (checked 2026-09-17).
Do not pad pages with every PAA question you collected. A focused page that answers its cluster completely is more useful than a long page that touches forty loosely related questions.
Step 3: analyze answer owners
The owner of a PAA answer is the page you need to beat, and the pattern of owners across a cluster tells you how hard that is.
For each cluster, compute from your stored results:
- Owner concentration: the top domain’s share of
LINKanswers. - Owner type mix: publishers, brands, forums, government or academic sites, marketplaces. Classify domains once and reuse the mapping.
- Your share: how many answers in the cluster your domain holds.
- Stability: how often each question’s owner changed between the last few runs.
Then read the pattern:
| Pattern | What it suggests | Move |
|---|---|---|
| One domain owns most answers, stable over months | An entrenched source for the topic | Compete only with clearly better, more specific pages; otherwise target the adjacent clusters |
| Many different owners, changing between runs | No settled answer source | A focused, well-structured page has room |
| Forums and community threads own answers | Searchers want experience, not reference text | First-hand detail, examples, data you own |
| Your domain owns some answers | You already have authority here | Extend the owning page to cover the cluster’s other questions |
Mostly AIOVERVIEW items |
Answers are generated from several sources | Aim to be cited; hydrate with include.paaAioverview to see who is |
Look at the owning pages themselves before you brief a writer. The snippet on a LINK item shows the passage Google showed for that question, which is a practical hint about the answer length and format that currently wins.
Step 4: AIOVERVIEW versus LINK share as a signal
Each PAA item carries a type. Measured over a cluster and over time, the split is a useful signal about how a topic is answered in your results.
- Mostly
LINK: questions are answered by individual pages. Classic on-page work applies: the right heading, a direct answer, a strong page. - Mostly
AIOVERVIEW: questions are answered by generated text built from several sources. There is no single slot to win; the goal is to be among the citedsources[], and to be cited consistently. - Rising
AIOVERVIEWshare: a topic moving from links to generated answers. Report it early; it changes what “owning” the question means for your team.
Two cautions apply. The share describes your own queries, markets and devices, not Google as a whole. And without include.paaAioverview an AIOVERVIEW item has no answer data, so it looks ownerless; hydrate at least a sample before calling a cluster an easy win.
Google’s documentation on AI features says pages need to be indexed and eligible to be shown with a snippet to appear in AI Overviews, and that “there are no additional requirements” (AI features and your website, checked 2026-09-17). So the page-level work for AIOVERVIEW clusters is the same as for LINK clusters; what changes is how you measure success. How AI engines choose citations and featured snippets and AI Overviews go further.
Step 5: set a refresh cadence
PAA lists and owners change. How often to re-run depends on what a change would trigger:
| Cluster type | Cadence | Why |
|---|---|---|
| Revenue or launch clusters | Weekly | Owner changes here justify quick edits |
| Core topic map | Monthly | Enough to see new questions and owner shifts |
| Long-tail and research clusters | Quarterly | Mostly used for planning |
| Newsy or seasonal topics | Weekly during the season | Questions can appear and fade within a season |
Keep every run comparable: same query text, country or gl, hl, location if used, and device. Diff each run against the previous one and report three lists: new questions, disappeared questions, and changed owners. Monitoring cadence discusses choosing intervals, and SERP feature change tracking shows the diffing pattern.
Collecting PAA at scale
A Google Search request returns peopleAlsoAsk[] with the rest of the page, so no separate call is needed:
curl -X POST https://api.answerline.dev/v1/monitor/google \
-H "Authorization: Bearer $ANSWERLINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "query": "standing desk benefits", "country": "US", "hl": "en", "include": { "paaAioverview": true } }'
For a cluster report, compute the signals above from a set of stored results:
from collections import Counter, defaultdict
from urllib.parse import urlsplit
def host(url):
return (urlsplit(url or "").hostname or "").lower().removeprefix("www.")
def cluster_report(results: list[dict], cluster_of, my_domain: str) -> dict:
"""results: stored `result` objects; cluster_of: function mapping a question to a cluster name."""
types = defaultdict(Counter)
owners = defaultdict(Counter)
cited = defaultdict(Counter)
for result in results:
for item in result.get("peopleAlsoAsk") or []:
c = cluster_of(item["question"])
types[c][item.get("type", "UNKNOWN")] += 1
if item.get("type") == "LINK" and item.get("link"):
owners[c][host(item["link"])] += 1
for s in item.get("sources") or []:
cited[c][host(s["url"])] += 1
report = {}
for c, t in types.items():
links = sum(owners[c].values())
top = owners[c].most_common(1)
report[c] = {
"items": sum(t.values()),
"ai_answer_share": round(t["AIOVERVIEW"] / sum(t.values()), 2),
"owner_concentration": round(top[0][1] / links, 2) if links else None,
"top_owner": top[0][0] if top else None,
"my_link_answers": owners[c][my_domain],
"my_citations": cited[c][my_domain],
}
return report
In TypeScript, the per-item logic is the same:
type Paa = { question: string; type: "AIOVERVIEW" | "LINK" | "UNKNOWN"; link?: string; sources?: { url: string }[] };
const host = (u?: string) => (u ? new URL(u).hostname.toLowerCase().replace(/^www\./, "") : "");
export async function paaFor(query: string): Promise<Paa[]> {
const res = await fetch("https://api.answerline.dev/v1/monitor/google", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.ANSWERLINE_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ query, country: "US", hl: "en", include: { paaAioverview: true } }),
});
if (!res.ok) throw new Error(`HTTP ${res.status}: ${await res.text()}`);
const { result } = await res.json();
return result.peopleAlsoAsk ?? [];
}
export function owners(items: Paa[]): string[] {
return items.flatMap((i) => (i.type === "LINK" ? [host(i.link)] : (i.sources ?? []).map((s) => host(s.url))));
}
For more than a handful of queries, submit GOOGLE tasks through POST /v1/async/task/batch with deterministic idempotency keys and a webhook, and expand level by level with deduplication. That code, including the expansion loop and cost walk-through, is in PAA keyword research; the batch receiver is in the async batch pipeline.
Cost
From the current credit prices: a Google Search async task costs 3 credits, include.paaAioverview adds 2 once per request (not per item), and synchronous calls add 2. Requests with include.paaAioverview take longer to return.
| Setup | Tasks | Credits each | Credits |
|---|---|---|---|
| 300 seed queries, monthly, no hydration | 300 | 3 | 900 per month |
Same, with include.paaAioverview |
300 | 5 | 1,500 per month |
| 40 revenue queries, weekly, hydrated | 40 per week | 5 | 200 per week |
A practical split: collect the whole map without hydration, and hydrate only the clusters where the AI answer share is high enough to matter.
From PAA to AI assistants
PAA questions read like prompts, which makes a PAA cluster map a good starting point for an AI-answer prompt set. Run the cluster heads on ChatGPT or Gemini and compare who is cited there with who owns the PAA answers on Google. Prompt set design covers building that set, and GEO vs SEO metrics how to report both sides.
Related reading on the same results page: related searches and “people also search for”, what is a SERP, and the keyword research use case.
Start with the quickstart.
Questions
How do I use People Also Ask for SEO?
Collect PAA questions for your topic, group them by intent, check who currently answers each question, and turn the groups into pages and sections that answer each question directly. Re-run on a schedule to see which questions and owners change.
Should I still add FAQ sections based on PAA questions?
Add them where they help readers, but not for a rich result: Google's documentation changelog says the FAQ rich result no longer appears in Google Search starting May 7, 2026. A question heading with a direct answer underneath is still a clear way to cover a PAA question on the page.
What does a high share of AIOVERVIEW-type PAA items tell me?
It tells you that for that topic, in your results, more PAA questions are answered by AI-generated text than by a single web page. Winning there means being among the cited sources, which you can see by requesting include.paaAioverview.
How often should I re-check People Also Ask?
Monthly suits most topic maps; weekly suits the few clusters tied to revenue or a launch. Keep the query, market, language and device fixed between runs so changes reflect Google, not your setup.
How much does PAA collection cost with this API?
A Google Search async task costs 3 credits and returns the PAA list with the rest of the page. include.paaAioverview adds 2 credits once per request, and synchronous calls add 2 more.