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.
| 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.
Kasuta Glob'i, et leida sihtkataloogis kõik sisufailid:
- Mustrid: **/*.md, **/*.mdx, **/*.html
- Jäta vahele failid kaustades node_modules/, .git/, drafts/
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.
Rühmita postitused klastritesse nende vastereeglite abil (prioriteedijärjekorras):
Iga klastri puhul, kus on 2+ postitust, hinda raskusastet ja loo soovitus.
Kuva tulemuste tabel ja klastripõhised soovitused.
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.
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.
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 |
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.
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
| 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 |
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
Neli võimalikku tegevust iga kannibaliseerimisklastri jaoks:
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
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
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
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
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