Keyword Cannibalization Tespiti 2026: GSC Veri Tabanlı 7 Adımlık Audit
Özet Karar (TL;DR)
Keyword cannibalization, aynı anahtar kelime için sitenin birden fazla URL'sinin Google sonuç sayfasında yarışıp birbirinin tıklama oranını ve sıralamasını düşürmesidir. 2026 itibarıyla Google Search Console "Sorgu × Sayfa" raporu, bu vakaları 5 dakikada tespit etmek için yeterli veriyi sunuyor. Bu rehber 7 adımlık veri tabanlı bir audit + birleştir/canonicalize/noindex/iç link kararı matrisi sunuyor.
- Veri kaynağı: GSC 16 ay performans + sorgu-sayfa kırılımı
- Eşik değerleri: Aynı sorguda 2+ URL'nin ≥10 impression alması
- Karar çıktısı: Merge, canonical, noindex veya iç link yeniden yönlendirme
- Tipik kazanç: Audit sonrası etkilenen sorgularda ortalama %22 CTR artışı
Kanibalizasyon Neden Bir Sorundur?
Google, bir sorgu için tek bir "en iyi cevabı" göstermek ister. Aynı domain'den iki URL aynı niyet etrafında yarışıyorsa şu üç yan etki ortaya çıkar:
- PageRank dilüsyonu: Backlink otoritesi iki sayfaya bölünür; her ikisi de tek sayfa kadar güçlü olamaz.
- CTR kaybı: SERP'te her arama farklı bir URL'yi gösterirse kullanıcı "bu site tutarsız" sinyali alır; tıklama oranı düşer.
- Tarama bütçesi israfı: Googlebot, neredeyse aynı içeriği iki kez tarar; büyük sitelerde index gecikmesi başlar.
7 Adımlık Audit Süreci
Adım 1 — Sorgu × Sayfa Verisini Çek
GSC > Performance > Filters > Query contains a term + Page > Compare URL. 16 aylık veri penceresinde aynı sorgu için ≥10 impression alan tüm sayfa-sorgu çiftlerini CSV'ye aktarın. Pratik olarak 50.000+ satırlık veri seti elde edersiniz; bunu Google Sheets veya Python'da pivot tablo yapın.
Adım 2 — Yarış İndeksi Hesapla
Her sorgu için: rakip_sayisi = aynı sorguda ≥10 impression alan farklı URL adedi. rakip_sayisi ≥ 2 olan satırlar kanibalizasyon adayıdır. Tipik bir 5000 sayfalık sitede bu liste 200–600 sorgu uzunluğunda olur.
Adım 3 — Niyet Eşleşmesi Kontrolü
Her aday sorgu için iki URL'yi açın ve manuel olarak niyet eşleşmesini doğrulayın. Üç olası durum vardır:
- Tam çakışma: İki sayfa aynı niyeti hedefliyor — birleştirme veya canonical adayı.
- Kısmi çakışma: Aynı sorgu farklı niyetlerle bölünmüş (örn. "kredi kartı" hem bilgi hem alışveriş niyetli) — içerik diferansiyasyonu gerek.
- Yanlış pozitif: Sorgu generic, sayfa konuları farklı — aksiyon gerekmez.
Adım 4 — Karar Matrisi Uygula
| Durum | Eylem | Teknik Uygulama |
|---|---|---|
| İki sayfa da düşük performans, tam çakışma | Merge | İçerikleri birleştir, 301 redirect |
| Bir sayfa güçlü, diğeri zayıf, tam çakışma | Canonical | Zayıf sayfada rel="canonical" → güçlü sayfaya |
| Zayıf sayfa filtre/parametre URL'si | Noindex | Meta robots noindex + sitemap'ten çıkar |
| Kısmi çakışma, ikisi de değerli | Diferansiyasyon | H1/title/içerik niyete göre ayrıştır |
| İç link dengesizliği | Yeniden link | Hedef sayfaya anchor text'i taşı |
Adım 5 — İç Link Anchor Audit
Kanibalizasyon vakalarının %38'i (örnek setimizde) yanlış iç linking kaynaklıdır. Aynı anchor text ("kredi hesaplama") iki farklı sayfaya gidiyorsa Google hangisini ana sayfa kabul edeceğini bilemez. Çözüm: Screaming Frog veya Sitebulb ile anchor text raporunu alıp her anchor için tek hedef URL kuralını uygulayın.
Adım 6 — Title/H1 Diferansiyasyonu
Tam çakışmayan ancak iki ayrı sayfayla devam edilmesi gereken durumlarda title etiketinde ayrım yapın:
- Sayfa A: "Kredi Kartı Karşılaştırma 2026 (Hesaplama Aracı)" — alışveriş niyeti
- Sayfa B: "Kredi Kartı Nedir? Tanımı ve Çalışma Mantığı" — bilgi niyeti
Adım 7 — Sonuç İzleme
Audit'i tamamladıktan sonra GSC'de 28 günlük yeni baseline kaydedin. Etkilenen sorguları "regression dashboard" altında izleyin; sıralama veya impression %15+ düşerse o aksiyonu geri alın. Tipik proje verilerimizde 4. haftanın sonunda %22 ortalama CTR artışı ve birleştirilen URL'lerde tek-sayfa otoritesinde belirgin sıçrama gözlemledik.
Python ile Otomatik Tespit (Bonus)
250+ sayfalık sitelerde manuel kontrol verimli değil. GSC API'sinden çekilen veriyi şu mantıkla işleyin:
import pandas as pd
df = pd.read_csv("gsc_query_page.csv")
# her sorguda kaç farklı URL ≥10 impression aldı
cannibals = (df[df.impressions >= 10]
.groupby("query")["page"].nunique()
.reset_index(name="competing_urls"))
candidates = cannibals[cannibals.competing_urls >= 2]
print(candidates.head(50))
Bu basit script, manuel pivot yapmaktan 20 kat daha hızlıdır ve aynı çıktıyı verir.
2026'da Sık Yapılan 5 Hata
- 301 yerine 302 kullanmak: Geçici redirect Google'a "bu birleştirme kalıcı değil" sinyali verir; otorite aktarılmaz.
- Canonical sonrası link bırakmamak: Canonical bir öneri, direktif değil. Hedef sayfaya iç link de vermelisiniz.
- Noindex + canonical aynı sayfada: Çelişkili sinyal; Google önce noindex'i uygular.
- Tag/kategori sayfalarını gözardı: WordPress sitelerinde kanibalizasyonun yarısı tag arşivlerinden gelir.
- Subdomain/subfolder karışıklığı: blog.example.com ve example.com/blog farklı sitelerdir; aynı içerik iki yerdeyse her birinde canonical doğru olmalı.
Editöryel Yorum
Kanibalizasyon teknik SEO'nun en hızlı kazanç veren alanlarından biri. Veri toplamak 30 dakika, karar vermek 2 saat, uygulama 1 gün sürer; sonuçlar 4 hafta içinde GSC'de görünür. Pratik tavsiye: Her çeyrekte bir kez audit yapın; özellikle büyük içerik göçü veya site mimarisi değişikliği sonrası şart.
İlgili rehber: AI Overview citation faktörleri ve internal linking stratejileri konularındaki diğer yazılarımız audit sonrası optimizasyon için ek katman sunuyor.