TurundusSisu

Märksõnade kattuvus

Tuvastab blogipostitused, mis konkureerivad samade märksõnade pärast.

AAgriciDaniel·Turundus·MIT

Kogu oskus — vaikeversiooni hoitakse GitHubis; sinu muudatused jäävad sinu enda klooni.

Kasuta seda oskustLaadi alla .zip
Kuidas see töötab?
  • ChatGPT avab uue vestluse, kuhu oskus on laaditud. Kui see on lingi jaoks liiga pikk, kopeeritakse see lõikelauale — lihtsalt kleebi.
  • Claude töötab samamoodi. Püsivaks paigaldamiseks laadi alla .zip ja lae see üles: Claude → Settings → Capabilities → Skills (Pro/Team/Enterprise).
  • Kopeeri oskus kopeerib oskuse, et saaksid selle kleepida mis tahes assistenti, sh Grok.

Blogi kannibaliseerimine - märksõnade kattumise tuvastamine

Tuvasta, millal mitu blogipostitust võistlevad samade otsingumärksõnade pärast. Kaks režiimi: ainult-kohalik analüüs (vaikimisi) ja DataForSEO API režiim SERP-tasemel andmete jaoks.

Kaks režiimi

Režiim Lipp Kulu Andmeallikas
Kohalik (vaikimisi) Tasuta Faili sisu analüüs Grep/Read kaudu
API --api ~0,01 $/kõne DataForSEO Page Intersection + Ranked Keywords

Kohalik režiim töötab ilma mis tahes API-võtmeteta. API-režiim nõuab DataForSEO mandaate, mis on seatud keskkonnamuutujatena: DATAFORSEO_LOGIN ja DATAFORSEO_PASSWORD.

Kohaliku režiimi töövoog

1. samm: skanni blogifailid

Kasuta Glob'i, et leida sihtkataloogis kõik sisufailid: - Mustrid: **/*.md, **/*.mdx, **/*.html - Jäta vahele failid kaustades node_modules/, .git/, drafts/

2. samm: ekstrahhi peamised märksõnad

Iga faili puhul loe ja ekstrahhi märksõnasignaalid järgmistest: - Pealkirjasilt või H1 pealkiri (kõrgeim kaal) - H2 pealkirjad (keskmine kaal) - Esimene lõik (toetav signaal) - Metakirjeldus, kui olemas frontmatter'is

Peamise märksõna ekstraheerimise meetod: 1. Tokeniseeri pealkiri, H1, H2-d, metakirjeldus ja esimene lõik 1-gramm-, 2-gramm- ja 3-gramm-fraasideks. 2. Normaliseeri deterministlikult: väiketähed, eemalda lokaaditeadlikud stoppsõnad, lemmatiseeri või tüveta järjekindlalt, säilita tootenimed ja hoia kavatsuse modifikaatorid nagu „best“, „pricing“, „vs“, „review“, „template“ ja aasta. 3. Skoori sektsioonid eraldi: pealkiri/H1 kõrgeim, metakirjeldus ja H2-d keskmine, esimene lõik toetav. 4. Vali kõrgeima skooriga 2-3-sõnaline fraas peamiseks märksõnaks ja registreeri teisesed märksõnad H2 pealkirjadest.

3. samm: klasterda sarnasuse järgi

Rühmita postitused klastritesse nende vastereeglite abil (prioriteedijärjekorras):

  1. Täpne vaste - identne peamine märksõna 2+ postituse lõikes
  2. Tüvevaste - sama juursõna (nt „optimize“ vs „optimization“)
  3. Semantiline kattumine - määra selged kavatsusesildid nagu informatiivne, kommertsiaalne, tehinguline, võrdlus või tõrkeotsing. Kaasa kindlus ja ühelauseline põhjendus või kasuta vektorvastendite (embeddings) töövoogu dokumenteeritud lävega.
  4. Alamhulga vaste - üks märksõna sisaldab teist (nt „email marketing“ vs „email marketing for startups“)

4. samm: skoori ja märgi

Iga klastri puhul, kus on 2+ postitust, hinda raskusastet ja loo soovitus.

5. samm: väljasta raport

Kuva tulemuste tabel ja klastripõhised soovitused.

API-režiimi töövoog (DataForSEO)

Nõuab --api lippu ja spetsiaalset kohalikku CLI-mähist, mis loeb DATAFORSEO_LOGIN ja DATAFORSEO_PASSWORD keskkonnast ja väljastab JSON-i. Ära kasuta DataForSEO POST-kõnede jaoks WebFetch'i ja ära kunagi avalda Basic-auth päiseid, sisselogimist, parooli ega kodeeritud mandaate päringutes või raportites. Kui projektis mähist pole, raporteeri SKIPPED: DataForSEO wrapper unavailable ja jooksuta kohalik režiim.

Kasutatud lõpp-punktid

Page Intersection - leia märksõnad, kus mitu URL-i asetsevad:

POST https://api.dataforseo.com/v3/dataforseo_labs/google/page_intersection/live

{
  "pages": {
    "1": "https://example.com/post-a",
    "2": "https://example.com/post-b"
  },
  "language_code": "en",
  "location_code": 2840
}

Kulu: ~0,01 $ kõne kohta. Tagastab kattuvad märksõnad koos positsiooni, mahu, CPC-ga.

Ranked Keywords - hangi kõik märksõnad, mille järgi üksainus URL asetseb:

POST https://api.dataforseo.com/v3/dataforseo_labs/google/ranked_keywords/live

{
  "target": "https://example.com/post-a",
  "language_code": "en",
  "location_code": 2840
}

Mähis saadab DataForSEO auth-päised keskkonnamuutujatest ja ei prindi neid kunagi.

API-analüüsi sammud

  1. Kogu kasutajalt (või saidikaardist) kõik avaldatud URL-id
  2. Jooksuta Ranked Keywords iga URL-i jaoks, et ehitada märksõnaprofiilid
  3. Jooksuta Page Intersection URL-ipaaride jaoks, mis jagavad märksõnaklastreid
  4. Arvuta raskusaste alloleva valemi abil
  5. Väljasta rikastatud raport otsingumahu ja positsiooniandmetega

Raskusastme skoorimine

Neli raskusastet kattumissignaalide põhjal:

Tase Kriteeriumid Tegevuse kiireloomulisus
Kriitiline Sama täpne märksõna, mõlemad lehed top 20-s Kohe
Kõrge Sama märksõnaklaster, üks leht asetseb teisest kõrgemal Sel nädalal
Keskmine Seotud märksõnad osalise SERP-kattumisega Sel kuul
Madal Semantiline sarnasus, aga erinevad kinnitatud kavatsused Jälgi

Raskusastme valem (API-režiim)

severity_score = overlap_count x avg_search_volume x (1 / position_gap)

Kus: - overlap_count = jagatud asetsevate märksõnade arv - avg_search_volume = jagatud märksõnade keskmine kuumaht - position_gap = keskmise asetuspositsiooni absoluutne erinevus (min 1)

Kõrgem skoor = kiireloomulisem kannibaliseerimisprobleem.

Raskusastme heuristika (kohalik režiim)

Ilma SERP-andmeteta kasuta lihtsustatud skoorimist: - Kriitiline: täpne peamise märksõna vaste postituste vahel - Kõrge: tüvevaste peamisel märksõnal või 3+ jagatud H2 märksõna - Keskmine: semantiline kattumine peamisel märksõnal - Madal: ainult alamhulga vaste või jagatud teisesed märksõnad

Väljundvorming

Kokkuvõttetabel

| Post A | Post B | Shared Keywords | Severity | Recommendation |
|--------|--------|-----------------|----------|----------------|
| /best-crm-tools | /top-crm-software | best crm, crm tools, crm software | Critical | MERGE |
| /email-tips | /email-marketing-guide | email marketing | High | DIFFERENTIATE |
| /seo-basics | /seo-for-beginners | seo basics, beginner seo | Critical | CANONICAL |
| /react-hooks | /react-state-mgmt | react, state | Low | NO ACTION |

Klastripõhine detail

Iga märgitud klastri puhul esita: - Mõlema postituse pealkirjad ja URL-id - Kattuvate märksõnade täisnimekiri (mahuga, kui API-režiim) - Kumb postitus on tugevam (põhjalikum, paremini struktureeritud) - Konkreetne soovitus koos põhjendusega

Soovitused

Neli võimalikku tegevust iga kannibaliseerimisklastri jaoks:

MERGE

Kui mõlemad lehed on õhukesed või katavad sama kavatsust sarnase sügavusega. - Ühenda mõlema parim sisu üheks põhjalikuks postituseks - 301 ümbersuunamine nõrgemalt URL-ilt ühendatud postitusele - Säilita kõik sisemised lingid, mis osutavad kummalegi URL-ile

DIFFERENTIATE

Kui lehed teenivad erinevaid kavatsusi, aga märksõnade sihtimine kattub. - Nihuta nõrgema postituse peamine märksõna seotud pika saba suunas - Uuenda pealkiri, H1 ja metakirjeldus, et peegeldada uut fookust - Lisa kahe postituse vahele sisemised lingid, et anda märku eri teemadest

CANONICAL

Kui üks postitus on selgelt autoriteet ja teine vähemtähtis duplikaat. - Lisa rel="canonical" nõrgemale lehele, osutades autoriteedile - Ära ühenda kanoonilist ja noindexit hooletult. Kasuta noindexit ainult siis, kui eemaldamine otsingust on kavatsetud - Lingi nõrgemalt lehelt autoriteedilehele

NOINDEX

Kui leht tuleks otsingutulemustest eemaldada, kuid see peaks kasutajate jaoks siiski eksisteerima. - Kinnita, et lehel pole mõttekat unikaalset otsingunõudlust ega äriväärtust - Hoia see indekseeritav, kuni noindex-direktiiv on täheldatud - Ära kasuta vaikimisi dubleeriva sisu parandusena

NO ACTION

Kui kavatsus on tõeliselt erinev hoolimata pindmisest märksõnasarnasusest. - Dokumenteeri põhjendus tulevaste auditite jaoks - Jälgi asetusi kord kvartalis võimalike positsioonimuutuste suhtes - Hinda uuesti, kui kumbki postitus asetustes langeb

Vigade käsitlemine