---
title: Teemaklastrite planeerimine
description: Planeerib otsingutulemuste põhjal teemaklastrid ja rühmitab märksõnad otsingukavatsuse järgi.
category: Marketing
sublabel: Sisu
author: AgriciDaniel
tags: 
license: MIT
source: https://github.com/AgriciDaniel/claude-blog
---

# Blog Cluster (semantiliste teemaklastrite mootor)

Planeerib ja viib ellu terveid omavahel lingitud sisuökosüsteeme ühe lähtemärksõna
põhjal. Kolm kihti: semantiline klasterdamine (aju), klastri arhitektuur
(struktuur) ja elluviimise mootor (masin).

> Kohandatud Lutfiya Milleri esitatud lahendusest **semantic-cluster-engine**
> (võitja, AI Marketing Hub Pro Challenge, märts 2026, 95/100 eeskujulik).
> Algne repositoorium: https://github.com/Drfiya/semantic-cluster-engine
> See versioon säilitab planeerimise + elluviimise arhitektuuri ja klastri konteksti
> uuenduse, eemaldab brändipõhise (ScienceExperts.ai) kujunduse ja pildipäringud
> ning suunab töö läbi claude-blogi olemasolevate alamoskuste.

## Käsud

| Käsk | Mida see teeb |
|---------|--------------|
| `/blog cluster` | Interaktiivne. Küsib, kas planeerida või ellu viia. |
| `/blog cluster plan <seed-keyword>` | SERP-põhine semantiline analüüs. Väljastab klastriplaani + kaardi. |
| `/blog cluster plan --from strategy [path]` | Impordib olemasoleva `blog-strategy` klastri ehitusplaani ja valideerib selle SERP-andmete põhjal. |
| `/blog cluster execute [path-to-plan]` | Järjestikused `blog-write` väljakutsed klastri konteksti ja automaatsete sisemiste linkidega. |

## Peamised viited (laadi vajadusel)

- `references/semantic-clustering.md` (SERP-kattuvuse analüüs, kavatsuse klassifitseerimine, märksõnauniversumi laiendamine)
- `references/cluster-architecture.md` (keskuse-ja-kodarate spetsifikatsioonid, skeemistrateegia, linkide tiheduse reeglid)
- `references/execution-workflow.md` (elluviimise järjekord, konteksti lisamine, tulemuskaart, tõrgete käsitlemine)

## Ristviited olemasolevatele claude-blogi oskustele

| Oskus | Millal see oskus seda kutsub |
|-------|--------------------------|
| `/blog strategy` | Eelnev planeerimine. `plan --from strategy` kasutab selle Cluster Build Plan tabeleid. |
| `/blog write` | Postituse kaupa elluviimine. Iga kodara ja sambalehe toodab `blog-write`, mille ette on lisatud klastri konteksti plokk. |
| `/blog chart` | Kutsutakse sisemiselt `blog-write` poolt tekstisiseste SVG-diagrammide jaoks. See oskus ei kutsu seda otse. |
| `/blog image` | Valikuline päisepildi genereerimine iga postituse jaoks. Mudeli valik on delegeeritud oskusele `blog-image`; eelista võimalusel praeguseid Gemini pildimudeleid. |
| `/blog seo-check` | Soovitatav pärast elluviimist postitusepõhiseks lehesiseseks valideerimiseks. |
| `/blog cannibalization` | Soovitatav pärast elluviimist, et kinnitada, et klastris pole märksõnade kattuvust. |
| `/blog schema` | Soovitatav pärast elluviimist, et lisada `BreadcrumbList`, `ItemList` ja `Article` skeemid. |

See oskus ei muuda kunagi teistele oskustele kuuluvaid faile. See kutsub neid Task-tööriista kaudu või orkestreeritud alamoskustena.

## Käskude suunamine

1. Parsi kasutaja käsk, et määrata alamkäsk.
2. Kui kasutaja kirjutas ainult `/blog cluster`, küsi: „Kas soovid uut klastrit **planeerida** või olemasolevat plaani **ellu viia**?“
3. Suuna:
   - `plan <keyword>` planeerimisfaasi (allpool)
   - `plan --from strategy [path]` strateegia impordi töövoogu (allpool)
   - `execute [path]`, `build` või `run` elluviimise faasi (allpool)

---

## Planeerimisfaas: `/blog cluster plan <seed-keyword>`

Viide: `references/semantic-clustering.md`

### 1. samm. Lähtemärksõna laiendamine

Kasuta WebSearchi, et laiendada lähtemärksõna 30–50 fraasist koosnevaks märksõnauniversumiks:

1. Otsi otse `<seed>`, et koguda seotud otsingud ja „People also ask“ küsimused.
2. Pika saba laiendamine: `<seed> guide`, `<seed> tips`, `<seed> tools`, `<seed> examples`, `<seed> vs`, `best <seed>`, `how to <seed>`.
3. Küsimuste kaevandamine: `what is <seed>`, `how does <seed> work`, `why <seed>`, `<seed> for beginners`.
4. Kavatsuse variandid: lisa kommertslikud täpsustajad (best, top, review, comparison, pricing), informatiivsed täpsustajad (guide, tutorial, explained, examples) ja tehingulised täpsustajad (buy, download, tool, software, service).
5. Aastapõhine värskus: `<seed> 2026`.

### 2. samm. Semantiline klasterdamine

Rühmita laiendatud märksõnad, kasutades failis `references/semantic-clustering.md` toodud prioriteedireegleid:

1. **SERP-kattuvuse analüüs** on peamine signaal. Kaks märksõna, millel on 4 või rohkem ühist top-10 tulemust, sihivad tavaliselt sama kavatsust ja neid tuleks kaaluda ühe postituse jaoks.
2. **Kavatsuse klassifitseerimine** määrab iga märksõna informatiivseks, kommertslikuks, tehinguliseks või navigeerivaks.
3. **Olemite kaardistamine** tuvastab inimesed, tooted, raamistikud ja organisatsioonid, mida Google teemaga seostab.
4. **Rühmitamine** ühendab märksõnad, millel on sama kavatsus ja temaatiline lähedus. Igast rühmast saab üks keskuse-ja-kodarate haru.

### 3. samm. Klastri arhitektuuri kujundamine

Viide: `references/cluster-architecture.md`

Ehita keskus ja kodarad:

- **Sammas (keskus)**: sihib kõige laiemat märksõna. Sõnade arv 2500–4000. Mall `pillar-page`. Lingib allapoole igale kodarale.
- **Kodarad**: igaüks sihib pika saba klastrit. Sõnade arv 1200–1800. Mall valitakse automaatselt kavatsuse järgi. Lingib üles sambale ja kõrvale õdedele.

Klastri moodustamise reeglid:

- Tavarežiim: 2–5 klastrit samba kohta, 2–4 kodarat klastri kohta, kokku 1 sammas pluss 5–15 kodarat.
- Väikese klastri režiim: kitsaste lähtemärksõnade puhul luba 1 sammas pluss 2–4 kodarat alles pärast kasutaja hoiatamist ja kinnituse küsimist.
- Iga kodara sihib unikaalset põhimärksõna (null kannibaliseerimist).

### 4. samm. Sisemiste linkide maatriks

Iga kodara `S` jaoks:

- `S` → sammas (alati; ankrutekst kasutab samba põhimärksõna).
- Sammas → `S` (alati; ankrutekst kasutab `S`-i põhimärksõna).
- `S` → teised samas klastris olevad kodarad (igaühele 2–3 linki, kontekstuaalsed ankrud).
- `S` → naaberklastrite kodarad (0–1 linki, ainult siis, kui see on semantiliselt asjakohane).

Kontrolli, et igal kodaral oleks vähemalt 2 sissetulevat linki. Loe kokku kõik planeeritud sisemised lingid.

### 5. samm. Väljundfailide genereerimine

Kõik planeerimise ja elluviimise artefaktid lähevad ühte praeguse töökataloogi alamkataloogi. Kanoniseeri väljundkataloog, keeldu sümbolinkidest ja lükka tagasi kirjutamised väljaspool klastri kataloogi. Nimelühendid (slug) tohivad sisaldada ainult väiketähti, numbreid ja sidekriipse; lükka tagasi absoluutsed teed, `..`, teeeraldajad nimelühendites ja peidetud juhtmärgid.

```
<cwd>/
└── cluster-<seed-keyword-slug>/
    ├── cluster-plan.json
    ├── cluster-map.html
    ├── pillar-<slug>.md       (Execute Phase)
    ├── <spoke-slug>.md        (Execute Phase, one per spoke)
    └── cluster-scorecard.md   (Execute Phase)
```

#### `cluster-plan.json` skeem

```json
{
  "seed_keyword": "<seed>",
  "generated_at": "YYYY-MM-DDTHH:MM:SSZ",
  "pillar": {
    "id": "P",
    "title": "Title of the pillar",
    "primary_keyword": "broadest keyword",
    "secondary_keywords": ["..."],
    "search_volume_estimate": "high|medium|low",
    "template": "pillar-page",
    "word_count_target": 3000,
    "cluster": "pillar"
  },
  "clusters": [
    {
      "name": "Cluster A: Theme",
      "intent": "informational|commercial|transactional",
      "color": "#2563eb",
      "posts": [
        {
          "id": "A1",
          "title": "Post title",
          "primary_keyword": "long-tail keyword",
          "secondary_keywords": ["..."],
          "search_volume_estimate": "high|medium|low",
          "template": "how-to-guide",
          "word_count_target": 1500,
          "links_to": ["P", "A2"],
          "links_from": ["P", "A2"]
        }
      ]
    }
  ],
  "total_posts": 9,
  "total_interlinks": 23,
  "estimated_total_words": 18000
}
```

Märkus: mahuhinnangud on suhtelised näitajad (high, medium, low), mis on tuletatud SERP-signaalidest, mitte absoluutsed otsingumahud. Täpsete andmete saamiseks peaks kasutaja vaatama Ahrefsi, SEMrushi või DataForSEO-d (claude-blog pakub kaasoskust `seo-dataforseo`).

#### `cluster-map.html` (XSS-turvaline)

Staatiline, iseseisev HTML-fail koos manustatud SVG-visualiseeringuga. Ranged reeglid kirjutajale:

- Ei mingeid tekstisiseseid `<script>` plokke. Ei mingeid `onclick`, `onmouseover` ega muid `on*` sündmuseatribuute kusagil dokumendis.
- Ei mingeid väliseid skripti `<src>` viiteid.
- Iga SVG-sse joonistatud tekstisilt (pealkirjad, märksõnad, klastrite nimed) peab olema varjestatud: asenda enne lisamist `&` → `&amp;`, `<` → `&lt;`, `>` → `&gt;`, `"` → `&quot;` ja `'` → `&#39;`.
- Hõljumisefektid kasutavad ainult CSS-i `:hover`. Ei mingit JavaScripti.
- Kasuta SVG-sõlmede sees `<title>` alamelemente ligipääsetavate kohtspikrite jaoks (brauseri omane, ilma skriptita).

Kaart näitab: keskset sambasõlme, väljapoole kiirgavaid värvikoodiga klastrirühmi, kodarasõlmi iga klastri sees ja seotud sõlmi ühendavaid linkide jooni.

### 6. samm. Plaani esitamine kasutajale

Näita kokkuvõtlikku tabelit klastrite ja postitustega, sisemiste linkide koguarvu, hinnangulist sõnade arvu ja failiteid. Küsi enne elluviimisega jätkamist kinnitust. Oota kasutaja selgesõnalist heakskiitu. Ära käivita automaatselt.

---

## Strateegia import: `/blog cluster plan --from strategy [path]`

Ühendab `blog-strategy` väljundi klastriplaaniga.

1. Leia strateegia väljund. Skaneeri praegust kataloogi (või kasutaja määratud teed) faili suhtes, mis sisaldab `Cluster Build Plan` tabelit veergudega `# | Spoke Topic | Template | Target Keyword | Word Count | Internal Links` (vorming, mida toodab `/blog strategy`).
2. Parsi tabel. Eralda sambarida (märgitud `P`), kodarate read, mallide määrangud, sihtmärksõnad, sõnade arvud ja linkide seosed.
3. Valideeri ja rikasta. Käivita iga märksõna jaoks SERP-kattuvuse valideerimine (planeerimisfaasi 2. samm). Lisa mahuhinnangud ja kontrolli klastrite rühmitusi semantiliselt.
4. Kui SERP-andmed on strateegiatabeliga vastuolus, märgi vastuolu; ära kirjuta kasutaja strateegilist kavatsust vaikselt üle.
5. Genereeri `cluster-plan.json` ja `cluster-map.html`, kasutades samu väljundeid nagu tavalises planeerimisfaasis.
6. Esita teisendatud plaan, kus SERP-põhised kohandused on esile tõstetud, ja oota kasutaja kinnitust.

---

## Elluviimise faas: `/blog cluster execute [path-to-plan]`

Viide: `references/execution-workflow.md`

### 1. samm. Plaani laadimine

Loe `cluster-plan.json` kasutaja määratud teelt või töökataloogi kõige värskemast `cluster-*/cluster-plan.json` failist. Valideeri JSON-struktuur. Kui plaani pole, tagasta: „No cluster plan found. Run `/blog cluster plan <seed-keyword>` first.“

Enne kasutaja antud plaanitee lugemist kanoniseeri see praeguse töökataloogi suhtes. Lükka tagasi absoluutsed teed, `..`, sümbolingid, failinimed, mis pole `cluster-plan.json`, ja kõik teed väljaspool valitud klastri kataloogi. Piira kõik genereeritud postituste, piltide, kaardi ja tulemuskaardi väljundid selle klastri kataloogiga.

### 2. samm. Elluviimise järjekorra määramine

1. Kõigepealt sambaleht (et kodarad saaksid linkida teadaolevale failinimele).
2. Seejärel kodarad järjestatuna `(cluster priority, search_volume_estimate desc, post id alphabetical)` järgi. Klastri prioriteet on klastri hinnanguliste mahtude summa (kõrgeim esimesena).
3. Kui klastreid on rohkem kui 2, mitmekesistab klastrite vaheldumine varajast sisu levikut.

### 3. samm. Iga postituse jaoks: koosta klastri kontekst ja kutsu `blog-write`

Koosta klastri konteksti plokk (täielik skeem failis `references/execution-workflow.md`) ja lisa see teemapäringu ette, mis antakse edasi `blog-write`-i käivitavale Task-tööriistale. Kontekst ütleb `blog-write`-ile klastri nime, postituse rolli (sammas või kodara), põhi- ja lisamärksõnad, valitud malli, sõnade arvu eesmärgi, juba kirjutatud postituste loendi (lingi neile), tulevaste postituste loendi (kasuta `[INTERNAL-LINK]` kohatäiteid) ning selle postituse linkimisnõuded.

**Tõendite päritolu edasikandmine.** Klastri kontekst sisaldab iga kodara ja samba jaoks
järgmist juhist: „Hoia olulised väited jälgitavana neid toetavate allikateni.
Kirjuta üles kuupäevad, väljaandja/pealkirja andmed, hankimise märkmed, metoodika
ja piirangud, kui need aitavad allikat tuvastada või tõlgendada. Kasuta väljaande
viitamisstiili. Jäta välja kontrollimatu statistika ja asenda vastuolulised andmed.“

See kaskaad säilitab tõendite distsipliini kogu partii elluviimise vältel, muutmata
fikseeritud allikakirje vormingut hindeks või väravaks. Vt
`skills/blog/references/flow-alignment.md`.

Kontekst juhendab ka `blog-write`-i töötama iseseisvalt: jäta vahele teema täpsustamine, jäta vahele struktuuri kinnitamine, ära tuvasta malli automaatselt, ära peatu.

Väljundvorming: vaikimisi tavaline markdown (`.md`), mis vastab `blog-write`-i vaikeväärtusele. Kui kasutaja palub selgesõnaliselt HTML-i, määra platvormi siht vastavalt. Ära kehtesta mingit brändipõhist CSS-i ega sõnamärki; see on kasutaja vastutus edasistes etappides.

### 4. samm. Valikuline päisepilt iga postituse jaoks

Kui `blog-image` on saadaval, kutsu Task-tööriista kaudu `/blog image generate`, et luua postitusele 16:9 päisepilt, ja paiguta see faili `cluster-<slug>/images/<post-slug>-hero.png`. Delegeeri teenusepakkuja valik oskusele `blog-image`, eelista võimalusel praeguseid Gemini pildimudeleid ja kirjuta mudeli ID tulemuskaardile. Kui pildi genereerimine pole saadaval või ebaõnnestub, logi hoiatus ja jätka ilma piltideta. Pildi genereerimine ei blokeeri tööd.

### 5. samm. Tagasilinkide lisamine

Pärast iga postituse kirjutamist:

1. Skaneeri kõiki klastri kataloogis varem kirjutatud postitusi `[INTERNAL-LINK: keyword -> filename.md]` märgendite suhtes, mis viitavad äsja kirjutatud postitusele.
2. Asenda iga vaste päris markdown-lingiga: `[keyword](filename.md)`.
3. Lisa esimesel läbimisel postituse frontmatterisse klastri metaandmete plokk (`cluster:`, `cluster_role:`, `cluster_group:`).

### 6. samm. Tõrgete käsitlemine

Kui `blog-write` tagastab mõne postituse puhul kvaliteedivärava tõrke, peata partii kohe. Salvesta edenemine, märgi ebaõnnestunud postitus ja kõik ülejäänud postitused vahelejäetuks ning ütle kasutajale, et ta kontrolliks või prooviks ebaõnnestunud postitust enne jätkamist käsitsi uuesti. Ära jätka pärast kvaliteeditõrget 5–15 postituse genereerimist, sest see võib tekitada skaleeritud sisu kuritarvitamise (scaled content abuse) riski.

Kui `blog-write` ebaõnnestub enne sisu genereerimist ajalõpu või käitusvea tõttu, logi tõrge tulemuskaardile ja peatu, välja arvatud juhul, kui kasutaja jätkab pärast põhjuse kontrollimist selgesõnaliselt.

Kui kasutaja tühistab elluviimise poole pealt, salvesta edenemine ja märgi valmis postitused. Järgmisel `/blog cluster execute` käivitamisel tuvasta juba kirjutatud failid ja jätka järgmisest kirjutamata postitusest.

### 7. samm. `cluster-scorecard.md` genereerimine

Kui kõik proovitud postitused on lõpetatud, koosta markdown-tulemuskaart, mis hõlmab:

- Iga postituse olekut (kirjutatud, ebaõnnestunud, vahele jäetud) koos failitee ja sõnade arvuga.
- Iga postituse kvaliteediskoori (kutsu iga postituse jaoks paralleelselt Task-tööriista kaudu `/blog analyze`) ja klastri keskmist.
- Klastri sidususe skoori: 0–100 liitnäitaja, mis koosneb linkide vastastikkusest, kavatsuste mitmekesisusest, mallide mitmekesisusest ja märksõnade katvusest (valem failis `references/execution-workflow.md`).
- Sisemiste linkide auditit: väljuvate ja sissetulevate linkide arv postituse kohta, orvuks jäänud postituste märked, lahendamata `[INTERNAL-LINK]` märgendid.
- Kannibaliseerimise kontrolli: kaks postitust, millel on sama põhimärksõna, või paar, mille märksõnade kattuvus on üle 70%. Soovita põhjalikumaks läbivaatuseks käivitada `/blog cannibalization`.
- Piltide genereerimise kokkuvõtet: genereeritud vs. vahele jäetud päisepildid.
- Soovitatud järgmisi samme: skeemi genereerimine (`/blog schema`), postitusepõhine SEO valideerimine (`/blog seo-check`), sisu taaskasutamine (`/blog repurpose`).

### 8. samm. Lõpparuanne

Tagasta kasutajale lühike kokkuvõte koguarvude, tulemuskaardi tee ja järgmiste sammude käskudega.

---

## Väljundartefaktid (kokkuvõte)

| Fail | Faas | Vorming |
|------|-------|--------|
| `cluster-plan.json` | Planeerimine | JSON |
| `cluster-map.html` | Planeerimine | Staatiline HTML + tekstisisene SVG, ilma JavaScriptita |
| `pillar-<slug>.md` | Elluviimine | Markdown (või platvormi järgi tuvastatud vorming) |
| `<spoke-slug>.md` | Elluviimine | Markdown (või platvormi järgi tuvastatud vorming) |
| `images/<post-slug>-hero.png` | Elluviimine (valikuline) | PNG `blog-image` kaudu |
| `cluster-scorecard.md` | Elluviimine | Markdown |

---

## Kvaliteediväravad

| Värav | Kontroll | Tegevus tõrke korral |
|------|-------|----------------|
| Klastri miinimum | Vähemalt 2 klastrit, igas vähemalt 2 postitust | Hoiata planeerimisel; soovita laiendamist |
| Kannibaliseerimine | Ühelgi kahel postitusel pole sama põhimärksõna | Blokeeri elluviimine; nõua plaani korrigeerimist |
| Linkide täielikkus | Igal postitusel on 2 või rohkem sissetulevat sisemist linki | Hoiata tulemuskaardil |
| Pikkuse hinnang | Sambad vajavad sageli rohkem sügavust kui kodarad | Anna `blog-write`-ile edasi valikulise planeerimiskontekstina; ära kunagi kehtesta toorest sõnade miinimumi |
| Kavatsuste mitmekesisus | Klastrites vähemalt 2 erinevat kavatsust | Hoiata tulemuskaardil |
| Mallide mitmekesisus | Klastris vähemalt 3 erinevat malli | Hoiata tulemuskaardil |

---

## Vigade käsitlemine

| Olukord | Tegevus |
|----------|--------|
| Lähtemärksõna on liiga lai (üle 50 märksõnavariandi) | Soovita enne klasterdamist fookust kitsendada. |
| Lähtemärksõna on liiga kitsas (alla 5 märksõnavariandi) | Paku väiksemat klastrit (sammas pluss 2–3 kodarat) või soovita laiendamist. |
| WebSearch pole saadaval | Koosta ainult plaani mustand ja nõua enne elluviimist kasutaja kinnitust, imporditud märksõnaandmeid või SERP-andmeid. |
| `blog-write` ei läbi kvaliteediväravat või sisu genereerimine ebaõnnestub | Peata partii, salvesta edenemine, märgi ülejäänud postitused vahelejäetuks ja nõua käsitsi kontrolli või selgesõnalist jätkamist. |
| `blog-write` pole paigaldatud | Tagasta: „blog-cluster requires claude-blog. Install it before running this skill.“ |
| `cluster-plan.json` on vigane | Valideeri JSON ja teata parsimisvigadest koos reanumbritega. |
| Kasutaja tühistab elluviimise | Salvesta edenemine; jätka järgmisel käivitamisel, tuvastades juba kirjutatud postitused automaatselt. |
| Valikuline piltide genereerimine pole saadaval või ebaõnnestus | Jäta päisepiltide genereerimine vahele; hoiata üks kord elluviimise alguses, mitte iga postituse juures. |

---

## Erinevus seotud claude-blogi oskustest

| Oskus | Roll | Mida blog-cluster lisab |
|-------|------|------------------------|
| `blog-strategy` | Planeerib 3–5 sisusammast ja joonistab keskuse-ja-kodarate diagramme strateegilise harjutusena | Teeb SERP-põhise semantilise klasterdamise ja viib seejärel plaani ellu päris, omavahel lingitud postitustena. |
| `blog-calendar` | Ajastab avaldamiskuupäevad teemaklastrite ümber | Ei ehita klastreid ega kirjuta postitusi; see oskus teeb mõlemat. |
| `blog-cannibalization` | Tuvastab märksõnade kattuvuse olemasolevas sisus | Ainult diagnostika. blog-cluster hoiab kannibaliseerimise ära juba planeerimisetapis. |
| `blog-write` | Kirjutab ühe postituse korraga | blog-cluster orkestreerib palju `blog-write` väljakutseid ühise klastri konteksti ja kahesuunalise linkimisega. |
| `blog-outline` | Genereerib ühe SERP-põhise struktuuri | blog-cluster genereerib struktuuri ekvivalendi kogu klastri ulatuses ja kirjutab seejärel postitused. |

blog-cluster on peatöövõtja: see analüüsib teemat, koostab andmepõhise plaani ja ehitab kogu struktuuri ühe lähtemärksõna põhjal.