yandex-wordstat

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

yandex-wordstat

Yandex Wordstat

Analyze search demand and keyword statistics using Yandex Wordstat API.
通过Yandex Wordstat API分析搜索需求与关键词统计数据。

Config

配置

Requires
YANDEX_WORDSTAT_TOKEN
in
config/.env
. See
config/README.md
for token setup instructions.
需要在
config/.env
中配置
YANDEX_WORDSTAT_TOKEN
。 有关令牌设置说明,请查看
config/README.md

Philosophy

核心原则

  1. Skepticism to non-target demand — high numbers don't mean quality traffic
  2. Creative semantic expansion — think like a customer
  3. Always clarify region — ask user for target region before analysis
  4. Show operators in reports — include Wordstat operators for verification
  5. VERIFY INTENT via web search — always check what people actually want to buy
  1. 对非目标需求保持怀疑——高搜索量不代表高质量流量
  2. 创造性语义拓展——站在客户角度思考
  3. 务必明确区域——分析前先询问用户目标区域
  4. 报告中保留操作符——包含Wordstat操作符以便验证
  5. 通过网页搜索验证意图——始终确认用户实际的购买需求

CRITICAL: Intent Verification

重要提醒:意图验证

Before marking ANY query as "target", verify intent via WebSearch!
在将任何查询标记为“目标查询”之前,务必通过网页搜索验证意图!

The Problem

问题示例

Query "каолиновая вата для дымохода" looks relevant for chimney seller, but:
  • People search this to BUY COTTON WOOL, not chimneys
  • They already HAVE a chimney and need insulation material
  • This is NOT a target query for chimney sales!
查询词“烟囱用高岭棉”看起来与烟囱卖家相关,但:
  • 用户搜索这个词是为了购买高岭棉,而不是烟囱
  • 他们已经有烟囱,需要的是保温材料
  • 不是烟囱销售的目标查询!

Verification Process

验证流程

For every promising query, ASK YOURSELF:
  1. What does the person want to BUY? (not just "what are they interested in")
  2. Will they buy OUR product from this search?
  3. Or are they looking for something adjacent/complementary?
对于每个有潜力的查询词,请自问:
  1. 用户想要购买什么?(不只是“他们感兴趣的内容”)
  2. 他们会通过这个搜索购买我们的产品吗?
  3. 还是他们在寻找相关/互补的产品?

MANDATORY: Use WebSearch

强制要求:使用网页搜索

Always run WebSearch to check:
WebSearch: "каолиновая вата для дымохода" что ищут покупатели
Look at search results:
  • What products are shown?
  • What questions do people ask?
  • Is this informational or transactional intent?
务必运行网页搜索来核实:
WebSearch: "烟囱用高岭棉" 用户搜索意图是什么
查看搜索结果:
  • 展示了哪些产品?
  • 用户提出了哪些问题?
  • 这是信息类查询还是交易类查询?

Red Flags (likely NOT target)

危险信号(大概率非目标查询)

  • Query contains "для [вашего продукта]" — they need ACCESSORY, not your product
  • Query about materials/components — they DIY, not buy finished product
  • Query has "своими руками", "как сделать" — informational, not buying
  • Query about repair/maintenance — they already own it
  • 查询词包含“用于[你的产品]”——他们需要的是配件,而非你的产品
  • 查询词涉及材料/组件——他们是自己动手制作,而非购买成品
  • 查询词包含“自己动手”、“如何制作”——信息类查询,无购买需求
  • 查询词涉及维修/保养——他们已经拥有该产品

Examples

示例

QueryLooks likeActuallyTarget?
каолиновая вата для дымоходаchimney buyercotton wool buyer❌ NO
дымоход купитьchimney buyerchimney buyer✅ YES
утепление дымоходаchimney buyerinsulation DIYer❌ NO
дымоход сэндвич ценаchimney buyerchimney buyer✅ YES
потерпевший дтпlawyer clientnews reader❌ NO
юрист после дтпlawyer clientlawyer client✅ YES
查询词表面看似实际需求是否为目标?
烟囱用高岭棉烟囱买家高岭棉买家❌ 否
购买烟囱烟囱买家烟囱买家✅ 是
烟囱保温烟囱买家保温材料DIY爱好者❌ 否
夹心烟囱价格烟囱买家烟囱买家✅ 是
交通事故受害者律师客户新闻读者❌ 否
交通事故后找律师律师客户律师客户✅ 是

Workflow Update

工作流更新

  1. Find queries in Wordstat
  2. WebSearch each promising query to verify intent
  3. Mark as target ONLY if intent matches the sale
  4. Report both target AND rejected queries with reasoning
  1. 在Wordstat中查找查询词
  2. 对每个有潜力的查询词进行网页搜索以验证意图
  3. 仅当意图与销售匹配时,标记为目标查询
  4. 报告中区分目标与非目标查询,并说明理由

Workflow

工作流

STOP! Before any analysis:

注意!开始分析前:

  1. ASK user about region and WAIT for answer:
    "Для какого региона анализировать спрос?
    - Вся Россия (по умолчанию)
    - Москва и область
    - Конкретный город (какой?)"
    НЕ ПРОДОЛЖАЙ пока пользователь не ответит!
  2. ASK about business goal:
    "Что именно вы продаёте/рекламируете?
    Это важно для фильтрации нецелевых запросов."
  1. 询问用户目标区域并等待回复
    "要分析哪个地区的需求?
    - 全俄罗斯(默认)
    - 莫斯科及周边
    - 具体城市(请说明?)"
    在用户回复前不要继续!
  2. 询问业务目标
    "您具体销售/推广什么产品?
    这对过滤非目标查询至关重要。"

After getting answers:

获取回复后:

  1. Check connection:
    bash scripts/quota.sh
  2. Run analysis using appropriate script
  3. Verify intent via WebSearch for each promising query
  4. Present results with target/non-target separation
  1. 检查连接
    bash scripts/quota.sh
  2. 运行分析:使用合适的脚本
  3. 通过网页搜索验证意图:对每个有潜力的查询词进行验证
  4. 呈现结果:区分目标与非目标查询

Scripts

脚本说明

quota.sh

quota.sh

Check API connection.
bash
bash scripts/quota.sh
检查API连接状态。
bash
bash scripts/quota.sh

top_requests.sh

top_requests.sh

Get top search phrases.
bash
bash scripts/top_requests.sh \
  --phrase "юрист дтп" \
  --regions "213" \
  --devices "all"
ParamRequiredDefaultValues
--phrase
yes-text with operators
--regions
noallcomma-separated IDs
--devices
noallall, desktop, phone, tablet
获取热门搜索短语。
bash
bash scripts/top_requests.sh \
  --phrase "交通事故律师" \
  --regions "213" \
  --devices "all"
参数是否必填默认值可选值
--phrase
-包含操作符的文本
--regions
全部逗号分隔的区域ID
--devices
全部all, desktop, phone, tablet

dynamics.sh

dynamics.sh

Get search volume trends over time.
bash
bash scripts/dynamics.sh \
  --phrase "юрист дтп" \
  --period "monthly" \
  --from-date "2025-01-01"
ParamRequiredDefaultValues
--phrase
yes-text
--period
nomonthlydaily, weekly, monthly
--from-date
yes-YYYY-MM-DD
--to-date
notodayYYYY-MM-DD
--regions
noallregion IDs
--devices
noallall, desktop, phone, tablet
获取搜索量随时间的趋势数据。
bash
bash scripts/dynamics.sh \
  --phrase "交通事故律师" \
  --period "monthly" \
  --from-date "2025-01-01"
参数是否必填默认值可选值
--phrase
-文本
--period
monthlydaily, weekly, monthly
--from-date
-YYYY-MM-DD
--to-date
今日YYYY-MM-DD
--regions
全部区域ID
--devices
全部all, desktop, phone, tablet

regions_stats.sh

regions_stats.sh

Get regional distribution.
bash
bash scripts/regions_stats.sh \
  --phrase "юрист дтп" \
  --region-type "cities"
ParamRequiredDefaultValues
--phrase
yes-text
--region-type
noallcities, regions, all
--devices
noallall, desktop, phone, tablet
获取搜索量的区域分布数据。
bash
bash scripts/regions_stats.sh \
  --phrase "交通事故律师" \
  --region-type "cities"
参数是否必填默认值可选值
--phrase
-文本
--region-type
allcities, regions, all
--devices
全部all, desktop, phone, tablet

regions_tree.sh

regions_tree.sh

Show common region IDs.
bash
bash scripts/regions_tree.sh
显示常用区域ID列表。
bash
bash scripts/regions_tree.sh

search_region.sh

search_region.sh

Find region ID by name.
bash
bash scripts/search_region.sh --name "Москва"
通过名称查找区域ID。
bash
bash scripts/search_region.sh --name "Москва"

Wordstat Operators

Wordstat 操作符

Quotes
"query"

引号
"query"

Shows demand ONLY for this exact phrase (no additional words).
"юрист дтп" → "юрист дтп", "юристы дтп"
             but NOT "юрист по дтп"
仅显示该精确短语的搜索需求(不含额外词汇)。
"交通事故律师" → "交通事故律师", "交通事故律师团队"
             但不包含 "专业交通事故律师"

Exclamation
!word

感叹号
!word

Fixes exact word form.
!юрист → "юрист по дтп", "юрист москва"
         but NOT "юристы", "юриста"
固定单词的精确形式。
!律师 → "专业交通事故律师", "莫斯科交通事故律师"
         但不包含 "律师团队", "律师咨询"

Combination
"!word !word"

组合使用
"!word !word"

Exact phrase + exact forms.
"!юрист !по !дтп" → only "юрист по дтп"
精确短语+精确单词形式。
"!律师 !专业 !交通事故" → 仅匹配 "专业交通事故律师"

Minus
-word

减号
-word

Exclude queries with this word.
юрист дтп -бесплатно -консультация
排除包含该单词的查询。
交通事故律师 -免费 -咨询

Grouping
(a|b|c)

分组
(a|b|c)

Multiple variants in one query.
(юрист|адвокат) дтп → combined demand
在一个查询中包含多个变体。
(律师|律师事务所) 交通事故 → 合并后的搜索需求

Stop words

停用词

Always fix prepositions with
!
:
юрист !по дтп    ← correct
юрист по дтп     ← "по" ignored!
务必用
!
固定前置词:
律师 !专业 交通事故    ← 正确
律师 专业 交通事故     ← "专业"会被忽略!

Analysis Strategy

分析策略

  1. Broad query:
    юрист дтп
    — see total volume
  2. Narrow with quotes:
    "юрист дтп"
    — exact phrase only
  3. Fix forms:
    "!юрист !по !дтп"
    — exact match
  4. Clean with minus:
    юрист дтп -бесплатно -онлайн
  5. Expand: synonyms, related terms, client problems
  1. 宽泛查询
    交通事故律师
    — 查看总搜索量
  2. 用引号缩小范围
    "交通事故律师"
    — 仅精确短语
  3. 固定单词形式
    "!律师 !专业 !交通事故"
    — 完全精确匹配
  4. 用减号过滤
    交通事故律师 -免费 -在线
  5. 拓展词汇:同义词、相关术语、客户痛点

Popular Region IDs

常用区域ID

RegionID
Россия225
Москва213
Москва и область1
Санкт-Петербург2
Екатеринбург54
Новосибирск65
Казань43
Run
bash scripts/regions_tree.sh
for full list.
区域ID
俄罗斯225
莫斯科213
莫斯科及周边1
圣彼得堡2
叶卡捷琳堡54
新西伯利亚65
喀山43
运行
bash scripts/regions_tree.sh
获取完整列表。

Limits

限制条件

  • 10 requests/second
  • 1000 requests/day
  • 10次请求/秒
  • 1000次请求/天

Example Session

示例会话

User: Найди запросы для рекламы дымоходов

Claude: Для какого региона анализировать спрос?
        И уточните — вы продаёте готовые дымоходы или
        материалы для их изготовления/утепления?

User: Москва, продаём готовые сэндвич-дымоходы

Claude: [Запускает анализ для региона 213]

        Нашёл запросы. Проверяю интент через веб-поиск...

        ✅ ЦЕЛЕВЫЕ (покупают дымоходы):
        - "дымоход сэндвич купить" — 450 показов
        - "дымоход для бани цена" — 380 показов

        ❌ НЕ ЦЕЛЕВЫЕ (покупают другое):
        - "каолиновая вата для дымохода" — ищут утеплитель, не дымоход
        - "монтаж дымохода своими руками" — DIY, не покупатели
        - "чистка дымохода" — уже владеют, сервисный запрос
用户:查找烟囱广告的相关查询词

Claude:要分析哪个地区的需求?
        另外请说明——你们销售成品烟囱还是
        烟囱制作/保温的材料?

用户:莫斯科,我们销售成品夹心烟囱

Claude:[针对区域213运行分析]

        已找到相关查询词。正在通过网页搜索验证意图...

        ✅ 目标查询(购买烟囱):
        - "购买夹心烟囱"——450次展示
        - "浴室烟囱价格"——380次展示

        ❌ 非目标查询(购买其他产品):
        - "烟囱用高岭棉"——用户搜索的是保温材料,而非烟囱
        - "自行安装烟囱"——DIY用户,非购买者
        - "烟囱清洁"——用户已拥有烟囱,属于服务类查询

Key Points

关键要点

  1. ВСЕГДА спрашивай регион и жди ответа
  2. ВСЕГДА уточняй что именно продаёт клиент
  3. ВСЕГДА проверяй интент через WebSearch
  4. Разделяй отчёт на целевые/нецелевые с объяснением
  1. 务必询问区域并等待回复
  2. 务必明确客户的具体销售产品
  3. 务必通过网页搜索验证意图
  4. 报告中区分目标与非目标查询并说明理由