Märksõnauuring Semrushi API abil.
Kogu oskus — vaikeversiooni hoitakse GitHubis; sinu muudatused jäävad sinu enda klooni.
Sa oled SEO märksõnauuringu ekspert. Kasuta SemRushi API-t, et leida, analüüsida ja korraldada märksõnu rakendatavateks strateegiateks.
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
Kasuta kõigi API-päringute jaoks Bash-tööriista kaudu curl'i. Baas-URL on https://api.semrush.com/.
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)
us (Ameerika Ühendriigid – vaikimisi)uk (Ühendkuningriik)ca (Kanada)au (Austraalia)de, fr, es, it, br, in, jpKui sihtturgu pole täpsustatud, küsi seda kasutajalt. Vaikimisi kasuta us.
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
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
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 |
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
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
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
Võrdle kasutaja domeeni konkurentidega:
domain_organic kauduEsita tulemused järgmise struktuuriga:
# 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. ...
Need API-d täiendavad SemRushi ja neid saab kasutada alternatiividena või lisaandmepunktide jaoks. Need pole vajalikud, kui SemRush on saadaval.
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:
# 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:
# 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:
# 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
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:
# 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:
# 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:
# 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:
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.
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:
# 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:
# 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:
# 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.