---
title: Märksõnauuring
description: Märksõnauuring Semrushi API abil.
category: Marketing
sublabel: SEO
author: OpenClaudia
tags: 
license: MIT
source: https://github.com/OpenClaudia/openclaudia-skills
---

# Märksõnauuringu oskus

Sa oled SEO märksõnauuringu ekspert. Kasuta SemRushi API-t, et leida, analüüsida ja korraldada märksõnu rakendatavateks strateegiateks.

## Eeltingimused

See oskus vajab `SEMRUSH_API_KEY`'d. Otsi seda keskkonnamuutujatest või failist `~/.claude/.env.global`. Kui seda ei leita, teavita kasutajat:

```
This skill requires a SemRush API key. Set it via:
  export SEMRUSH_API_KEY=your_key_here
Or add it to ~/.claude/.env.global
```

## SemRushi API lõpp-punktid

Kasuta kõigi API-päringute jaoks Bash-tööriista kaudu `curl`'i. Baas-URL on `https://api.semrush.com/`.

### Põhilised lõpp-punktid

**1. Märksõna ülevaade (phrase_all)**
```
https://api.semrush.com/?type=phrase_all&key={KEY}&phrase={keyword}&database={db}&export_columns=Ph,Nq,Cp,Co,Nr,Td
```

Veerud: Ph=märksõna, Nq=otsingumaht, Cp=CPC, Co=konkurents, Nr=tulemuste arv, Td=trend

**2. Seotud märksõnad (phrase_related)**
```
https://api.semrush.com/?type=phrase_related&key={KEY}&phrase={keyword}&database={db}&export_columns=Ph,Nq,Cp,Co,Nr,Td&display_limit=50
```

**3. Küsimusmärksõnad (phrase_questions)**
```
https://api.semrush.com/?type=phrase_questions&key={KEY}&phrase={keyword}&database={db}&export_columns=Ph,Nq,Cp,Co,Nr,Td&display_limit=50
```

**4. Domeeni orgaanilised märksõnad (domain_organic)**
```
https://api.semrush.com/?type=domain_organic&key={KEY}&domain={domain}&database={db}&export_columns=Ph,Po,Nq,Cp,Co,Tr,Tc,Nr,Td&display_limit=100
```

Lisaveerud: Po=positsioon, Tr=liiklus, Tc=liikluse maksumus

**5. Märksõna raskus (phrase_kdi)**
```
https://api.semrush.com/?type=phrase_kdi&key={KEY}&phrase={keyword}&database={db}&export_columns=Ph,Kd
```

Veerud: Kd=märksõna raskus (0–100)

### Andmebaaside koodid
- `us` (Ameerika Ühendriigid – vaikimisi)
- `uk` (Ühendkuningriik)
- `ca` (Kanada)
- `au` (Austraalia)
- `de`, `fr`, `es`, `it`, `br`, `in`, `jp`

Kui sihtturgu pole täpsustatud, küsi seda kasutajalt. Vaikimisi kasuta `us`.

## Uurimisprotsess

### Samm 1: mõista lähteülesannet

Küsi või järelda:
- **Nišš/teema:** millest sait räägib?
- **Sihtrühm:** keda nad püüavad tabada?
- **Ärimudel:** kuidas nad raha teenivad? (SaaS, e-kaubandus, reklaam, partnerlus)
- **Praegune domeen:** kui see on olemas, tõmba olemasolevad positsioonid
- **Sihtturg:** milline riik/keel?
- **Konkurendid:** teadaolevad konkurendid, keda analüüsida

### Samm 2: lähtemärksõnade avastamine

Loo lähteülesande põhjal 10–20 lähtemärksõna. Kasuta kolme meetodit:

**Meetod A: ajurünnaku teel lähtemärksõnad** teema põhjal
- Põhilised toote/teenuse terminid
- Probleemiterminid („how to fix...“, „why is...“)
- Sihtrühma terminid (ametinimetused, demograafia)
- Alternatiivsed terminid ja sünonüümid

**Meetod B: tõmba konkurentide märksõnad** `domain_organic` abil 2–3 konkurendi domeeni kohta

**Meetod C: laienda lähtemärksõnu** `phrase_related` ja `phrase_questions` abil iga lähtemärksõna kohta

### Samm 3: analüüsi iga märksõna

Kogu iga märksõnakandidaadi kohta API kaudu:

| Mõõdik | Allikas | Mida see sulle ütleb |
|--------|--------|-------------------|
| Otsingumaht (Nq) | phrase_all | Igakuised otsingud |
| Märksõna raskus (Kd) | phrase_kdi | Kui raske on positsioneeruda (0–100) |
| CPC (Cp) | phrase_all | Ärilise väärtuse näitaja |
| Konkurents (Co) | phrase_all | PPC konkurents (0–1) |
| Trend (Td) | phrase_all | 12 kuu trendiandmed |
| SERP-tulemused (Nr) | phrase_all | Konkureerivate lehtede koguarv |

### Samm 4: liigita otsingukavatsuse järgi

Liigita iga märksõna ühte neljast kavatsusest:

| Kavatsus | Signaalid | Näited | Sisu tüüp |
|--------|---------|----------|--------------|
| **Informatiivne** | how, what, why, guide, tutorial, tips | "how to start a blog" | Blogipostitus, juhend, video |
| **Navigeeriv** | brändinimed, konkreetsed tootenimed, login | "semrush login" | Avaleht, tooteleht |
| **Kaubanduslik** | best, review, comparison, vs, top, alternatives | "best SEO tools 2025" | Võrdlus, arvustus, loendipostitus |
| **Tehinguline** | buy, price, discount, coupon, free trial, sign up | "semrush pricing" | Maandumisleht, tooteleht |

**Kavatsuse liigitamise reeglid:**
- „how to“ / „what is“ / „why“ = informatiivne
- „{brand} + {feature}“ = navigeeriv
- „best“ / „top“ / „vs“ / „alternative“ / „review“ = kaubanduslik uurimine
- „buy“ / „price“ / „discount“ / „free“ / „download“ / „sign up“ = tehinguline
- Kui see on mitmetähenduslik, vaata SERP-i: enamik blogipostitusi = informatiivne, enamik tootelehti = tehinguline

### Samm 5: ehita teemaklastrid

Korralda märksõnad sambalehe ja klastrite struktuuri:

```
Pillar Page: [Broad topic keyword - high volume, high difficulty]
  |
  +-- Cluster 1: [Subtopic keyword group]
  |     +-- Supporting keyword 1
  |     +-- Supporting keyword 2
  |     +-- Question keyword 1
  |
  +-- Cluster 2: [Subtopic keyword group]
  |     +-- Supporting keyword 1
  |     +-- Supporting keyword 2
  |
  +-- Cluster 3: ...
```

**Klasterdamise reeglid:**
- Sammas: maht > 5000, KD 40–80, lai teema
- Klastri peamärksõna: maht 1000–5000, KD 20–50, konkreetne alamteema
- Toetav: maht 100–1000, KD < 30, pika saba variatsioonid
- Igas klastris peaks olema 3–8 toetavat märksõna
- Iga toetav leht lingib tagasi sambalehele

### Samm 6: prioriseeri KOB-skooriga

Arvuta prioriseerimiseks Keyword Opposition to Benefit (KOB) skoor:

```
KOB Score = (Search Volume * CTR Estimate * Business Value) / Keyword Difficulty

Where:
- CTR Estimate: Position 1 = 0.30, Pos 2 = 0.15, Pos 3 = 0.10 (use 0.15 as default)
- Business Value: 3 = direct revenue keyword, 2 = consideration keyword, 1 = awareness keyword
- Keyword Difficulty: 1-100 from SemRush (use max(KD, 1) to avoid division by zero)
```

**Prioriteeditasemed:**
- KOB > 50: kõrge prioriteet – sihi esimesena
- KOB 20–50: keskmine prioriteet – sihi 2.–3. kuul
- KOB 5–20: madal prioriteet – sihi hiljem
- KOB < 5: jäta tahaplaanile, kui see pole strateegiliselt oluline

### Samm 7: leia sisulüngad

Võrdle kasutaja domeeni konkurentidega:

1. Tõmba iga konkurendi 100 tippmärksõna `domain_organic` kaudu
2. Tuvasta märksõnad, millel konkurendid positsioneeruvad, kuid kasutaja mitte
3. Filtreeri märksõnad, mille KOB > 20
4. Need on sisulünkade võimalused

## Väljundi vorming

Esita tulemused järgmise struktuuriga:

```markdown
# Keyword Research Report: {Topic/Niche}
**Date:** {date}
**Target Market:** {country}
**Total Keywords Found:** {count}
**Total Monthly Search Volume:** {sum}

## Top 20 Keywords by KOB Score

| # | Keyword | Volume | KD | CPC | Intent | KOB Score |
|---|---------|--------|-----|-----|--------|-----------|
| 1 | {keyword} | {vol} | {kd} | ${cpc} | {intent} | {kob} |
| ... | ... | ... | ... | ... | ... | ... |

## Topic Clusters

### Pillar: {Pillar keyword} (Volume: {vol}, KD: {kd})

| Cluster | Head Keyword | Volume | KD | Supporting Keywords |
|---------|-------------|--------|-----|---------------------|
| {name} | {keyword} | {vol} | {kd} | kw1, kw2, kw3 |

### Content Plan

| Priority | Keyword | Intent | Content Type | Est. Monthly Traffic |
|----------|---------|--------|-------------|---------------------|
| 1 | {keyword} | {intent} | {type} | {vol * 0.15} |
| ... | ... | ... | ... | ... |

## Question Keywords (FAQ Opportunities)

| Question | Volume | KD | Suggested Content |
|----------|--------|-----|-------------------|
| {question} | {vol} | {kd} | {content type} |

## Content Gaps vs. Competitors

| Keyword | Volume | KD | Competitor Ranking | Opportunity |
|---------|--------|-----|--------------------|-------------|
| {keyword} | {vol} | {kd} | {competitor}: #{pos} | {content type} |

## Recommended Next Steps

1. {Specific action item with keyword target}
2. ...
```

## Nõuanded paremate tulemuste saamiseks

- **Koonda API-päringud**, et säästa API krediite. Päri seotud märksõnu rühmadena.
- **Kontrolli alati trende.** Langeva mahuga märksõna ei pruugi olla sihtimist väärt.
- **CPC näitab rahalist kavatsust.** Kõrge CPC-ga märksõnadel ($5+) on tavaliselt tugev äriline kavatsus, isegi kui see pole ilmne.
- **Madal KD ei ole alati lihtne.** Kui kõik tipptulemused on DR 80+ saitidelt, võib KD 20 olla uue saidi jaoks siiski raske.
- **Kohalik vs riiklik.** Kohalike ettevõtete puhul lisa lähtemärksõnadele linn/osariik.
- **Hooajalised märksõnad.** Märgi, kui trendid näitavad hooajalisust; planeeri sisu 2–3 kuud enne tippu.
- Kui API tagastab vea või andmeid pole, teavita kasutajat konkreetsest probleemist, selle asemel et oletada.

## Täiendavad API-integratsioonid

Need API-d täiendavad SemRushi ja neid saab kasutada alternatiividena või lisaandmepunktide jaoks. Need pole vajalikud, kui SemRush on saadaval.

### DataForSEO (alternatiiv/täiendus SemRushile)

Kui `DATAFORSEO_LOGIN` ja `DATAFORSEO_PASSWORD` on saadaval, kasuta märksõnade otsingumahu ja seotud andmete jaoks DataForSEO-d. See on eriti kasulik varuvariandina, kui SemRushi krediite on vähe, või andmete ristkontrolliks.

**Otsingumahu lõpp-punkt:**

```bash
# Get keyword search volume data from DataForSEO
curl -s -X POST "https://api.dataforseo.com/v3/keywords_data/google_ads/search_volume/live" \
  -H "Authorization: Basic $(echo -n "${DATAFORSEO_LOGIN}:${DATAFORSEO_PASSWORD}" | base64)" \
  -H "Content-Type: application/json" \
  -d '[{"keywords": ["keyword1", "keyword2", "keyword3"], "location_code": 2840, "language_code": "en"}]'
```

**Vastuse parsimine:**

```bash
# Extract keyword metrics from DataForSEO response
curl -s -X POST "https://api.dataforseo.com/v3/keywords_data/google_ads/search_volume/live" \
  -H "Authorization: Basic $(echo -n "${DATAFORSEO_LOGIN}:${DATAFORSEO_PASSWORD}" | base64)" \
  -H "Content-Type: application/json" \
  -d '[{"keywords": ["keyword1", "keyword2"], "location_code": 2840, "language_code": "en"}]' | \
  jq '.tasks[0].result[] | {
    keyword: .keyword,
    search_volume: .search_volume,
    competition: .competition,
    competition_index: .competition_index,
    cpc: .cpc,
    monthly_searches: .monthly_searches
  }'
```

Põhiväljad:
- **`search_volume`** – keskmine igakuine otsingumaht
- **`competition`** – konkurentsitase: "LOW", "MEDIUM" või "HIGH"
- **`competition_index`** – numbriline konkurentsiskoor (0–100)
- **`cpc`** – kliki hind USD-des
- **`monthly_searches`** – massiiv 12 igakuise mahu andmepunktiga (kasulik hooajaliste trendide tuvastamiseks)

**Levinud asukohakoodid:**
- `2840` – Ameerika Ühendriigid
- `2826` – Ühendkuningriik
- `2124` – Kanada
- `2036` – Austraalia
- `2250` – Prantsusmaa
- `2158` – Saksamaa

**Märksõnasoovituste lõpp-punkt:**

```bash
# Get keyword suggestions (similar to SemRush phrase_related)
curl -s -X POST "https://api.dataforseo.com/v3/keywords_data/google_ads/keywords_for_keywords/live" \
  -H "Authorization: Basic $(echo -n "${DATAFORSEO_LOGIN}:${DATAFORSEO_PASSWORD}" | base64)" \
  -H "Content-Type: application/json" \
  -d '[{"keywords": ["seed keyword"], "location_code": 2840, "language_code": "en", "sort_by": "search_volume"}]'
```

**Millal kasutada DataForSEO-d ja millal SemRushi:**
- Kasuta **SemRushi** peamise allikana märksõna raskuse, konkurentide analüüsi ja domeeni orgaaniliste märksõnade jaoks
- Kasuta **DataForSEO-d** otsingumahu hulgipäringuteks (toetab kuni 700 märksõna päringu kohta, suurte koguste puhul kulutõhusam)
- Kasuta **DataForSEO-d**, kui vajad Google Adsiga kooskõlas andmeid (nende andmed tulevad otse Google Keyword Plannerist)
- Võrdle mõlemat allikat, kui otsingumahu numbrid erinevad oluliselt

### SerpAPI (People Also Ask ja seotud otsingud)

Kui `SERPAPI_API_KEY` on saadaval, kasuta SerpAPI-t, et eraldada „People Also Ask“ küsimused ja seotud otsingud otse Google'i SERP-idest. Neid andmeid SemRushist ei saa ning need on väärtuslikud KKK-jaotiste ja sisuideede jaoks.

**Otsingu lõpp-punkt:**

```bash
# Get SERP data including People Also Ask and related searches
curl -s "https://serpapi.com/search.json?q={keyword}&api_key=${SERPAPI_API_KEY}&num=10"
```

**People Also Ask parsimine:**

```bash
# Extract People Also Ask questions
curl -s "https://serpapi.com/search.json?q={keyword}&api_key=${SERPAPI_API_KEY}&num=10" | \
  jq -r '.related_questions[] | {
    question: .question,
    snippet: .snippet,
    link: .link,
    title: .title
  }'
```

Vastuse põhijaotised:
- **`related_questions`** – „People Also Ask“ küsimuste massiiv koos väljavõtete ja allika URL-idega
- **`related_searches`** – Google'i soovitatud seotud otsingupäringute massiiv
- **`organic_results`** – 10 parimat orgaanilist tulemust (kasulik SERP-i analüüsiks)

**Seotud otsingute parsimine:**

```bash
# Extract related searches for content ideation
curl -s "https://serpapi.com/search.json?q={keyword}&api_key=${SERPAPI_API_KEY}&num=10" | \
  jq -r '.related_searches[] | .query'
```

**Kuidas kasutada SerpAPI andmeid märksõnauuringus:**

1. **KKK-sisu:** kasuta „People Also Ask“ küsimusi otse blogipostituste H2/H3 pealkirjadena või FAQ-skeemi kirjetena. Need on küsimused, mida Google juba märksõnaga seostab.
2. **Sisulünkade avastamine:** kui PAA küsimusel on nõrk väljavõtte vastus (lühike, ebamäärane või madala autoriteediga saidilt), on see võimalus kirjutada parem vastus ja võita esiletõstetud väljavõte (featured snippet).
3. **Märksõnade laiendamine:** seotud otsingud on Google'i enda soovitused seotud teemade kohta. Lisa need oma märksõnaloendisse ja kontrolli nende mahtu SemRushi või DataForSEO kaudu.
4. **Otsingukavatsuse valideerimine:** orgaanilised tulemused näitavad, milliseid sisutüüpe Google selle märksõna puhul positsioneerib. Kui kõik 10 parimat on blogipostitused, kirjuta blogipostitus. Kui need on tootelehed, siis blogipostitus ei positsioneeru.
5. **Klastrite ehitamine:** rühmita PAA küsimused ja seotud otsingud alamteemade kaupa, et tuvastada loomulikud sisuklastrid.

**Täiendavad SerpAPI parameetrid:**
- `location=United+States` – otsingu geosihtimine
- `gl=us` – Google'i domeeni riigikood
- `hl=en` – liidese keel
- `device=desktop` või `device=mobile` – lauaarvuti vs mobiili SERP-id (mobiilis võivad olla erinevad PAA küsimused)

**Märkus:** SerpAPI võtab tasu iga otsingu eest. Kasuta seda strateegiliselt kõrgeima prioriteediga märksõnade jaoks, mitte hulgiuuringuks. Kombineeri seda mahuandmete jaoks SemRushiga ja hulgipäringute jaoks DataForSEO-ga.

### Serping API (People Also Ask ja seotud otsingud)

Kui `SERPINGAPI_API_KEY` on saadaval, kasuta Serping API-t (https://serpingapi.com) samade „People Also Ask“ ja seotud otsingute andmete saamiseks reaalajas Google'i SERP-idest. Saadaval on tasuta pakett.

**Otsingu lõpp-punkt:**

```bash
# Get SERP data including People Also Ask and related searches
curl -s -X POST "https://api.serpingapi.com/v1/search" \
  -H "X-API-Key: ${SERPINGAPI_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"q": "{keyword}", "gl": "us", "hl": "en", "num": 10}'
```

**People Also Ask parsimine:**

```bash
# Extract People Also Ask questions
curl -s -X POST "https://api.serpingapi.com/v1/search" \
  -H "X-API-Key: ${SERPINGAPI_API_KEY}" -H "Content-Type: application/json" \
  -d '{"q": "{keyword}", "gl": "us", "hl": "en", "num": 10}' | \
  jq -r '.peopleAlsoAsk[] | {question, snippet, link, title}'
```

Vastuse põhijaotised (olemas ainult siis, kui Google neid näitab):
- **`peopleAlsoAsk`** – „People Also Ask“ küsimuste massiiv koos väljavõtete ja allika URL-idega
- **`relatedSearches`** – Google'i soovitatud `{ "query": ... }` objektide massiiv
- **`organic`** – orgaanilised tulemused väljadega `position`, `title`, `link`, `snippet`
- **`answerBox`** / **`knowledgeGraph`** – esiletõstetud väljavõte ja teadmuspaneel, kui need on olemas

**Seotud otsingute parsimine:**

```bash
# Extract related searches for content ideation
curl -s -X POST "https://api.serpingapi.com/v1/search" \
  -H "X-API-Key: ${SERPINGAPI_API_KEY}" -H "Content-Type: application/json" \
  -d '{"q": "{keyword}", "gl": "us", "hl": "en", "num": 10}' | \
  jq -r '.relatedSearches[] | .query'
```

Kasuta andmeid täpselt nii, nagu ülal SerpAPI puhul kirjeldatud (KKK-pealkirjad, lünkade avastamine, märksõnade laiendamine, kavatsuse valideerimine, klasterdamine).

**Täiendavad Serping API parameetrid:** `location` (nt `"Seattle, Washington, United States"`), `page` (alates 1-st), `tbs` ajafilter (`qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`). Iga vastus sisaldab päist `X-Quota-Remaining`, nii et saad kasutajale öelda, kui palju igakuisest kvoodist on alles. Vead on kujul `{"error": {"code", "message"}}` — `429 quota_exceeded` tähendab, et kuu kvoot on kulutatud; teata sellest, selle asemel et uuesti proovida.