extracting-google-paa-questions-for-seo

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Extracting Google PAA Questions for SEO

提取Google PAA问题用于SEO

Pulls People Also Ask (PAA) questions from Google SERPs for a target keyword. PAA questions are Google-validated signals of what real users want to know — use them as H2/H3 headings or FAQ sections in content.
从Google SERP中提取目标关键词对应的People Also Ask(PAA)问题。PAA问题是Google验证过的真实用户需求信号——可将其用作内容中的H2/H3标题或FAQ板块。

Prerequisites

前提条件

  • APIFY_TOKEN
    environment variable set
  • Optional: Apify MCP server installed
  • 已设置
    APIFY_TOKEN
    环境变量
  • 可选:已安装Apify MCP服务器

Inputs

输入参数

ParameterTypeRequiredDefaultNotes
startUrls
arrayOptional
[]
Google search URLs
searchTerms
arrayOptional
[]
Keywords to search on Google
countryCode
stringOptional
US
Country for Google search (e.g.
US
,
GB
,
TR
)
languageCode
stringOptionalLanguage for results (e.g.
en
)
maxItems
numberOptionalUnlimitedMaximum results to return across all queries
maxPagesPerQuery
integerOptional
1
Maximum result pages per query
mobileResults
booleanOptional
false
Fetch mobile SERP layout
customMapFunction
stringOptionalJavaScript function to transform each output object
参数类型是否必填默认值说明
startUrls
数组可选
[]
Google搜索URL
searchTerms
数组可选
[]
要在Google上搜索的关键词
countryCode
字符串可选
US
Google搜索的国家/地区(例如
US
GB
TR
languageCode
字符串可选结果语言(例如
en
maxItems
数字可选无限制所有查询返回的最大结果数
maxPagesPerQuery
整数可选
1
每个查询的最大结果页数
mobileResults
布尔值可选
false
获取移动端SERP布局
customMapFunction
字符串可选用于转换每个输出对象的JavaScript函数

Workflow

工作流程

Progress:
- [ ] Step 1: Run google-search-scraper for keyword and variants
- [ ] Step 2: Extract PAA questions from results
- [ ] Step 3: Classify questions by search intent
- [ ] Step 4: Score content opportunity per question
- [ ] Step 5: Deliver SEO content brief
Progress:
- [ ] Step 1: Run google-search-scraper for keyword and variants
- [ ] Step 2: Extract PAA questions from results
- [ ] Step 3: Classify questions by search intent
- [ ] Step 4: Score content opportunity per question
- [ ] Step 5: Deliver SEO content brief

Step 1: Run google-search-scraper

步骤1:运行google-search-scraper

Recommended — run_actor.js (handles waiting, output, and file saving automatically):
bash
undefined
推荐方式 — run_actor.js(自动处理等待、输出和文件保存):
bash
undefined

Quick answer (prints table to chat)

Quick answer (prints table to chat)

node scripts/run_actor.js
--actor "apidojo~google-search-scraper"
--input '{"param": "value"}'
node scripts/run_actor.js
--actor "apidojo~google-search-scraper"
--input '{"param": "value"}'

Save as CSV

Save as CSV

node scripts/run_actor.js
--actor "apidojo~google-search-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.csv --format csv
node scripts/run_actor.js
--actor "apidojo~google-search-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.csv --format csv

Save as JSON

Save as JSON

node scripts/run_actor.js
--actor "apidojo~google-search-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.json --format json
> `APIFY_TOKEN` must be set in environment or `.env` file.

**If Apify MCP is available:**
Tool: apify:run-actor Actor: "apidojo~google-search-scraper" Input: { "queries": ["[KEYWORD]", "best [KEYWORD]", "how to [KEYWORD]", "[KEYWORD] for beginners"], "maxPagesPerQuery": 3, "countryCode": "US", "languageCode": "en", "includePeopleAlsoAsk": true }

**REST API fallback:**
```bash
curl -X POST   "https://api.apify.com/v2/acts/apidojo~google-search-scraper/runs?token=$APIFY_TOKEN"   -H "Content-Type: application/json"   -d '{
    "queries": ["email marketing tools", "best email marketing tools", "how to email marketing"],
    "maxPagesPerQuery": 3,
    "countryCode": "US",
    "includePeopleAlsoAsk": true
  }'
node scripts/run_actor.js
--actor "apidojo~google-search-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.json --format json
> 必须在环境变量或`.env`文件中设置`APIFY_TOKEN`。

**如果Apify MCP可用:**
Tool: apify:run-actor Actor: "apidojo~google-search-scraper" Input: { "queries": ["[KEYWORD]", "best [KEYWORD]", "how to [KEYWORD]", "[KEYWORD] for beginners"], "maxPagesPerQuery": 3, "countryCode": "US", "languageCode": "en", "includePeopleAlsoAsk": true }

**REST API备选方案:**
```bash
curl -X POST   "https://api.apify.com/v2/acts/apidojo~google-search-scraper/runs?token=$APIFY_TOKEN"   -H "Content-Type: application/json"   -d '{
    "queries": ["email marketing tools", "best email marketing tools", "how to email marketing"],
    "maxPagesPerQuery": 3,
    "countryCode": "US",
    "includePeopleAlsoAsk": true
  }'

Step 2: Classify PAA Questions by Intent

步骤2:按搜索意图分类PAA问题

intent:
  INFORMATIONAL = "what is", "how does", "what does", "explain"
  COMPARATIVE = "vs", "or", "better", "difference between"
  TRANSACTIONAL = "how to buy", "where to get", "best price", "free"
  NAVIGATIONAL = "[brand] how to", "login", "sign up"
  TROUBLESHOOTING = "not working", "error", "fix", "issue"
intent:
  INFORMATIONAL = "what is", "how does", "what does", "explain"
  COMPARATIVE = "vs", "or", "better", "difference between"
  TRANSACTIONAL = "how to buy", "where to get", "best price", "free"
  NAVIGATIONAL = "[brand] how to", "login", "sign up"
  TROUBLESHOOTING = "not working", "error", "fix", "issue"

Step 3: Score Content Opportunity

步骤3:评估内容创作机会

paa_score = (question_appears_across_multiple_keywords ? 1 : 0.5) * 0.35
          + (intent == INFORMATIONAL ? 1 : 0.7) * 0.30
          + (current_SERP_has_no_featured_snippet ? 1 : 0.4) * 0.35
Featured snippet opportunity: if PAA answer shown is > 200 words or from a weak domain → high opportunity to claim.
paa_score = (question_appears_across_multiple_keywords ? 1 : 0.5) * 0.35
          + (intent == INFORMATIONAL ? 1 : 0.7) * 0.30
          + (current_SERP_has_no_featured_snippet ? 1 : 0.4) * 0.35
**特色摘要机会:**如果展示的PAA答案超过200词或来自权威度较低的域名→抢占该位置的机会很高。

Step 4: Edge Cases

步骤4:边缘情况处理

  • PAA questions not returned: Some queries return no PAA boxes; try more question-form queries ("how to [keyword]", "what is [keyword]")
  • Duplicate questions across keywords: Deduplicate by question text similarity (≥ 80% overlap = same question); count as one, note it appeared for [N] keywords
  • Questions are too broad: Flag as
    BROAD_QUESTION
    — better suited for a pillar page or FAQ section, not a standalone post
  • Questions are brand-specific competitors: Include with
    COMPETITIVE_INTELLIGENCE
    flag — these tell you what users are asking about your competitors
  • 未返回PAA问题:部分查询不会返回PAA模块;尝试使用更多疑问句式的查询(例如“how to [keyword]”、“what is [keyword]”)
  • 不同关键词下出现重复问题:通过问题文本相似度去重(重叠度≥80%视为同一问题);计为一个问题,并标注它在[N]个关键词下出现过
  • 问题过于宽泛:标记为
    BROAD_QUESTION
    ——更适合用作支柱页面或FAQ板块,而非独立文章
  • 问题涉及竞品品牌:添加
    COMPETITIVE_INTELLIGENCE
    标记——这些问题能反映用户对竞品的关注点

Output Format

输出格式

undefined
undefined

Google PAA Questions: "[KEYWORD]"

Google PAA Questions: "[KEYWORD]"

Queries run: [N] | Unique PAA questions: [N] | Featured snippet opportunities: [N] | Date: [DATE]
Queries run: [N] | Unique PAA questions: [N] | Featured snippet opportunities: [N] | Date: [DATE]

PAA Question Bank (Sorted by Opportunity Score)

PAA Question Bank (Sorted by Opportunity Score)

#QuestionIntentAppears ForFeatured Snippet?Score
1"[question]"INFORMATIONAL[N] keywordsNo[0.XX]
#QuestionIntentAppears ForFeatured Snippet?Score
1"[question]"INFORMATIONAL[N] keywordsNo[0.XX]

High-Priority Questions (Use as H2/H3 in Content)

High-Priority Questions (Use as H2/H3 in Content)

  1. "[question]" — Answer in [X] words; [informational guide / comparison table / step-by-step]
  2. "[question]"
  1. "[question]" — Answer in [X] words; [informational guide / comparison table / step-by-step]
  2. "[question]"

FAQ Section Builder

FAQ Section Builder

Questions suitable for FAQ schema markup:
  1. Q: "[question]" — A: [1-sentence answer start]
Questions suitable for FAQ schema markup:
  1. Q: "[question]" — A: [1-sentence answer start]

Content Angle Recommendations

Content Angle Recommendations

  • For "[primary keyword]" blog post: Use [N] of these PAA questions as headers
  • For FAQ page: [N] questions qualify for FAQ schema
  • For comparison page: [N] vs/comparison questions found
undefined
  • For "[primary keyword]" blog post: Use [N] of these PAA questions as headers
  • For FAQ page: [N] questions qualify for FAQ schema
  • For comparison page: [N] vs/comparison questions found
undefined

Troubleshooting

故障排除

"includePeopleAlsoAsk" returns no results: Not all keywords trigger PAA boxes. Try adding "how", "why", "best", "what" as prefixes to force question-form SERPs. PAA questions are all branded (competitor names): High competitor brand presence on SERPs — separate branded vs. non-branded question sets in your content plan. Questions are too obscure: PAA expands dynamically based on prior searches — the questions returned reflect real user journeys; trust them even if obscure.
"includePeopleAlsoAsk"未返回结果:并非所有关键词都会触发PAA模块。尝试添加“how”、“why”、“best”、“what”作为前缀,强制生成疑问句式的SERP。 PAA问题均为品牌相关(竞品名称):竞品品牌在SERP上的存在感较强——在内容规划中区分品牌相关与非品牌相关的问题集合。 问题过于冷门:PAA会根据过往搜索动态扩展;返回的问题反映了真实的用户旅程,即使冷门也可信任。