Methodology v1.0
25 Ağustos 2026 • By AICompatible Ekibi • 7 dk okuma

11 Dilde Aynı İçerik 'Kopya' Sayılıyordu: Canonical Etiket Eksikliği

11 Dilde Aynı İçerik 'Kopya' Sayılıyordu: Canonical Etiket Eksikliği

11 Dilde Aynı İçerik 'Kopya' Sayılıyordu: Canonical Etiket Eksikliği

Sorunun Fark Edilişi: Search Console'da Garip Bir Düşüş

AICompatible.com'u 11 dilde yayına aldıktan yaklaşık üç hafta sonra, Google Search Console'da beklemediğimiz bir şey gördük: bazı dil versiyonlarımızın indeksleme oranı %40'larda takılı kalmıştı. Özellikle Almanca ve Fransızca sayfalarımız için "Duplicate without user-selected canonical" uyarısı almaya başladık.

İlk başta bunun hreflang etiketleriyle ilgili olduğunu düşündük—sonuçta çok dilli bir site için klasik bir tuzak. Ama hreflang yapılandırmamız doğruydu. Asıl sorun çok daha temel bir yerdeydi: 1200'den fazla sayfamızda canonical etiketi hiç yoktu.

Bunu fark ettiğimizde geriye dönüp baktığımızda, Google'ın hangi sayfa versiyonunun "asıl" olduğunu kendi başına tahmin etmeye çalıştığını gördük. Bazen İngilizce versiyonu canonical olarak seçiyor, bazen Türkçe'yi. Bu da diğer dil versiyonlarının kopya içerik gibi değerlendirilmesine yol açıyordu.

Teşhis Süreci: Sorun Ne Kadar Yaygın?

Önce birkaç sayfayı manuel olarak kontrol ettik. Chrome DevTools'u açıp <head> bölümüne baktığımızda, hreflang etiketlerinin olduğunu ama canonical etiketinin olmadığını gördük:

<head>
    <meta charset="UTF-8">
    <title>AI Tools für Marketing | AICompatible</title>
    <link rel="alternate" hreflang="en" href="https://aicompatible.com/en/tools/marketing" />
    <link rel="alternate" hreflang="de" href="https://aicompatible.com/de/tools/marketing" />
    <link rel="alternate" hreflang="fr" href="https://aicompatible.com/fr/tools/marketing" />
    <!-- canonical etiketi yok! -->
</head>

Sonra Screaming Frog ile tüm siteyi taradık. Filtrelerden "Canonical" sekmesine geçip "Missing" olanları listeledik. Sonuç: 1247 sayfa. Neredeyse tüm içerik sayfalarımız canonical etiketi olmadan yayındaydı.

Neden Bu Kadar Kritik?

  • Çok dilli siteler için zorunlu: Her dil versiyonu kendi URL'sine self-referencing canonical ile işaret etmeli. Böylece Google, "Bu Almanca sayfa, Almanca versiyonun canonical'ı" diye anlıyor.
  • Kopya içerik riski: Canonical olmadan Google, 11 dildeki aynı içeriği birbirinin kopyası olarak görebilir ve sadece birini indeksleyebilir.
  • Link equity kaybı: Eğer Google yanlış sayfayı canonical seçerse, diğer dillere gelen backlink'lerin değeri kaybolabilir.

Teknik Çözüm: 1200+ Sayfaya Toplu Canonical Ekleme

Elimizde iki seçenek vardı: ya CMS'e (bizim durumumuzda özel bir static site generator) canonical ekleme özelliği ekleyecektik, ya da mevcut HTML dosyalarını toplu olarak düzenleyecektik. Hızlı çözüm için ikinci yolu seçtik.

Adım 1: Mevcut Yapıyı Analiz

Tüm HTML dosyalarımız /public klasöründe, dil kodlarına göre alt klasörlerdeydi:

/public
  /en
    /tools
      marketing.html
      design.html
  /de
    /tools
      marketing.html
  /tr
    /tools
      marketing.html
  ...

Her dosyanın <head> bölümünde hreflang etiketleri vardı ama canonical yoktu.

Adım 2: Python Script ile Toplu Ekleme

Tüm HTML dosyalarını tarayan, mevcut URL'yi tespit eden ve doğru self-referencing canonical ekleyen bir Python scripti yazdık:

import os
import re
from pathlib import Path

BASE_URL = "https://aicompatible.com"
PUBLIC_DIR = "./public"

def add_canonical(file_path, relative_url):
    with open(file_path, 'r', encoding='utf-8') as f:
        content = f.read()
    
    # Canonical zaten var mı kontrol et
    if ' /de/tools/marketing
                relative_path = file_path.replace(PUBLIC_DIR, '').replace('.html', '')
                
                if add_canonical(file_path, relative_path):
                    count += 1
                    print(f"✓ {relative_path}")
    
    return count

if __name__ == "__main__":
    total = process_directory(PUBLIC_DIR)
    print(f"\n✓ {total} dosyaya canonical eklendi.")

Scripti çalıştırdığımızda:

$ python add_canonical.py
✓ /en/tools/marketing
✓ /en/tools/design
✓ /de/tools/marketing
...
✓ 1247 dosyaya canonical eklendi.

Adım 3: Sonuç Kontrolü

Script çalıştıktan sonra örnek bir dosyayı açıp kontrol ettik:

<head>
    <meta charset="UTF-8">
    <title>AI Tools für Marketing | AICompatible</title>
    <link rel="canonical" href="https://aicompatible.com/de/tools/marketing" />
    <link rel="alternate" hreflang="en" href="https://aicompatible.com/en/tools/marketing" />
    <link rel="alternate" hreflang="de" href="https://aicompatible.com/de/tools/marketing" />
    <link rel="alternate" hreflang="fr" href="https://aicompatible.com/fr/tools/marketing" />
</head>

Mükemmel. Her sayfa artık kendi URL'sine işaret eden bir canonical etiketine sahipti. Almanca sayfa Almanca URL'yi, Fransızca sayfa Fransızca URL'yi canonical olarak gösteriyordu.

Adım 4: FTP ile Yükleme

Değişiklikleri FTP üzerinden sunucuya yükledik. 1200+ dosya olduğu için FileZilla'nın "Overwrite if newer" seçeneğini kullandık ve yaklaşık 8 dakikada tüm dosyalar güncellendi.

Sonuç ve Öğrendiklerimiz

Değişikliklerden sonraki 10 gün içinde Search Console'da dramatik bir iyileşme gördük:

  • "Duplicate without user-selected canonical" uyarıları %90 azaldı
  • Almanca ve Fransızca sayfaların indeksleme oranı %40'tan %78'e çıktı
  • Organik trafik, özellikle İngilizce dışındaki dillerde %34 arttı

Genel Dersler

Canonical etiketi, çok dilli siteler için opsiyonel değil, zorunlu. Hreflang etiketleri "bu sayfaların alternatifleri var" derken, canonical "ama bu sayfa, bu URL'nin kendisi" diyor. İkisi birlikte çalışmalı.

Bu sorun sadece bizde değil—özellikle static site generator'lar veya özel CMS'ler kullanan sitelerde çok yaygın. Eğer çok dilli bir siteniz varsa, hemen kontrol edin:

  1. Tarayıcıda bir sayfa açın, sağ tık → "Kaynağı Görüntüle"
  2. <head> bölümünde <link rel="canonical" arayın
  3. Yoksa veya yanlış URL'ye işaret ediyorsa, düzeltin

AICompatible.com'un site tarayıcısı, bu tür yapısal SEO sorunlarını (eksik canonical, yanlış hreflang, kopya içerik riski) otomatik tespit ediyor. Biz bu sorunu manuel olarak bulduk ama siz sitenizi taratarak dakikalar içinde öğrenebilirsiniz. Özellikle 100+ sayfalı çok dilli siteler için, bu tür kontroller manuel yapılamayacak kadar zaman alıyor.

Canonical etiketleri küçük bir detay gibi görünebilir, ama çok dilli bir sitede her dil versiyonunun bağımsız olarak değerlendirilmesi için kritik. Eğer sitenizde eksikse, Google'ın sizin yerinize karar vermesini beklemeyin—o kararlar genellikle istediğiniz gibi olmaz.