FUTIA
SEO8 dk okuma

Türkçe SEO'da Yapılan 10 Teknik Hata ve Pratik Çözümleri

Türkçe sitelerde canonical tag yanlışları, hreflang eksikliği ve i-İ problemi gibi hatalar organik trafiği %40'a kadar düşürebiliyor. İşte çözümleri.

Türkçe SEO'da Yapılan 10 Teknik Hata ve Pratik Çözümleri
Miraç Eroğlu
4 Mayıs 2026

Son 2 yılda 6 farklı Türkçe sitede teknik SEO denetimi yaptım. Ortak nokta şuydu: aynı 3-4 hata neredeyse her projede tekrar ediyordu. Bir e-ticaret sitesi canonical tag yanlışı yüzünden 18.000 sayfasının sadece %12'sini Google'a gösterebiliyordu. Başka bir haber sitesi hreflang kullanmadığı için Almanya'daki Türk okuyucularına .de uzantılı rakiplerini gösteriyordu.

Türkiye'deki SEO ajanslarının çoğu içerik ve backlink üzerine yoğunlaşıyor. Teknik altyapı ya göz ardı ediliyor ya da yüzeysel kalıyor. Oysa Google'ın 2024 raporuna göre teknik hataların %73'ü crawl budget'ı israf ediyor. Bu yazıda Türkçe sitelerde gördüğüm en yaygın 10 teknik hatayı ve düzeltme yöntemlerini paylaşacağım. Her biri için gerçek vaka örnekleri ve kod parçaları da var.

1. Canonical Tag Yanlış Uygulamaları

Türkçe e-ticaret sitelerinde en sık gördüğüm hata: her ürün varyantı için ayrı URL, ama canonical tag yok. Örneğin diolivo.com.tr projesinde başlangıçta 2.400 ürün sayfası vardı, ama Google sadece 890 tanesini indexliyordu. Sebep: renk ve beden filtreleri için oluşan /urun?renk=kirmizi, /urun?beden=m gibi URL'ler.

Çözüm basitti:

  • Ana ürün sayfasına self-referencing canonical ekledik:
  • Tüm varyant URL'lerinde aynı canonical'ı kullandık
  • 6 hafta içinde indexlenen sayfa sayısı 890'dan 2.180'e çıktı

Bir başka yaygın hata: sayfalama canonical'ı. /blog?sayfa=2 için canonical'ı /blog yapıyorlar. Google bu durumda 2. sayfadaki içerikleri hiç göremiyor. Doğru kullanım: her sayfa kendi URL'sine self-referencing canonical almalı, prev/next tag'leri eklenebilir (artık zorunlu değil ama yardımcı oluyor).

Kontrol Yöntemi

Screaming Frog'da "Canonical" filtresi ile tüm sayfaları tara. "Non-Indexable Canonical" uyarısı varsa, canonical URL'in kendisi indexlenemez durumda demektir. Bu ciddi bir hatadır.

2. Hreflang Tag'lerinin Tamamen Eksik Olması

Hollanda'dan Türkiye'ye servis verirken en çok şaşırdığım konu: Türkçe sitelerin %90'ında hreflang yok. "Zaten tek dil kullanıyoruz" diyorlar. Ama unutulan şey: Almanya, Hollanda, Belçika'da 5 milyondan fazla Türkçe konuşan kullanıcı var.

kamupersonelhaber.com projesinde başta hreflang yoktu. Google.de'de arama yapan Türk kullanıcılar Alman haber sitelerini görüyordu. Şu implementasyonu ekledikten sonra Almanya trafiği 3 ayda %180 arttı:

Önemli detay: hem tr-TR (Türkiye Türkçesi) hem tr (genel Türkçe) eklemek gerekiyor. x-default ise coğrafi hedefleme yapılmayan kullanıcılar için fallback.

Yaygın Hreflang Hataları

  • Karşılıklı referans eksikliği: A sayfası B'yi işaret ediyor ama B, A'yı işaret etmiyor
  • Self-referencing hreflang unutulması: sayfa kendi dilini de belirtmeli
  • Yanlış dil kodları: "tr-tr" yerine "tr-TR" (ISO 639-1 standardı)

Google Search Console'da "Uluslararası Hedefleme" bölümünden hreflang hatalarını görebilirsiniz. Genelde "Dönüş etiketi yok" uyarısı alırsınız.

3. Türkçe Karakter Sorunları (i-İ Problemi)

Bu Türkçe'ye özgü bir baş ağrısı. Google "istanbul" ile "İstanbul" aramasını aynı kabul ediyor, ama URL slug'larında sorun çıkabiliyor. memuratamalari.com'da şu hatayı yaşadık:

  • /İlan-detay/memur-alımı → 404 hatası
  • /ilan-detay/memur-alımı → çalışıyor

Sebep: sunucu URL'leri case-sensitive olarak işliyordu. Çözüm:

1. Tüm URL slug'larını küçük harfe çevirdik (WordPress için: Settings → Permalinks → Custom Structure) 2. Türkçe karakterleri ASCII'ye dönüştürdük: ı→i, ş→s, ğ→g 3. 301 redirect kuralı ekledik: büyük harfli URL'ler küçük harfliye yönlensin

Başka bir sorun: title ve meta description'da Türkçe karakterler bazen bozuk görünüyor. Charset UTF-8 olarak ayarlanmalı:

PHP'de mb_string kullanmak da önemli. Ben tüm projelerimde mb_strtolower() fonksiyonunu tercih ediyorum, çünkü Türkçe karakterleri doğru işliyor.

4. Robots.txt Yanlış Konfigürasyonları

Geçen ay bir müşteri "Google bizi indexlemiyor" diye geldi. Robots.txt'ye baktım:

User-agent: * Disallow: /

Tüm site engellenmiş. Geliştirici staging ortamında test ederken eklemiş, production'a geçerken kaldırmayı unutmuş. Bu ekstrem bir örnek ama benzer hatalar çok yaygın:

  • /wp-admin/ yerine /wp-content/ engelleniyor (tema ve plugin dosyaları erişilemiyor)
  • /kategori/ engelleniyor ama ürün sayfaları bu kategorilere bağlı (internal link değeri kayboluyor)
  • Sitemap.xml robots.txt'de belirtilmemiş

Doğru bir robots.txt şöyle olmalı:

User-agent: * Disallow: /wp-admin/ Disallow: /sepet/ Disallow: /odeme/ Allow: /wp-admin/admin-ajax.php

Sitemap: https://sitename.com/sitemap.xml

doktorbul.com projesinde 79.000 doktor profili var. Robots.txt'de /doktor-ara?filtre= parametrelerini disallow ettik, çünkü bunlar duplicate content yaratıyordu. Ama asıl profil sayfalarını (/doktor/dr-ahmet-yilmaz) allow ile açık bıraktık.

Test Yöntemi

Google Search Console → Robots.txt Test Aracı'nda URL'nizi test edin. "Engellenmiş" çıkan bir URL varsa ama indexlenmesini istiyorsanız, kurallarınızı gözden geçirin.

5. XML Sitemap Eksiklikleri ve Hataları

Çoğu Türkçe site Yoast veya RankMath kullanıyor, otomatik sitemap oluşturuyor. Ama kontrol edilmiyor. italyanmutfagi.com'da 618 tarif var, ama sitemap'te sadece 340 tanesi vardı. Sebep: eski tarifler "taslak" durumunda kalmış.

Sık görülen sitemap hataları:

  • 404 dönen URL'ler sitemap'te (Google bunları "Gönderildi ama bulunamadı" olarak işaretliyor)
  • 50.000'den fazla URL tek bir sitemap'te (Google limiti 50.000)
  • lastmod tarihi yanlış (her zaman "bugün" gösteriyor)
  • priority ve changefreq değerleri anlamsız (tüm sayfalara 1.0 verilmiş)

Ben sitemap'leri şöyle organize ediyorum:

  • sitemap-posts.xml → blog yazıları
  • sitemap-pages.xml → statik sayfalar
  • sitemap-products.xml → ürünler
  • sitemap-index.xml → ana index

Özellikle e-ticaret sitelerinde ürün sitemap'ine tag'leri ekliyorum:

https://site.com/urun/zeytinyagi https://site.com/img/zeytinyagi.jpg Soğuk Sıkım Zeytinyağı

Bu Google Images'de görünürlüğü artırıyor. diolivo.com.tr'de ürün görselleri sitemap'e eklendikten sonra görsel arama trafiği 6 ayda %340 arttı.

6. Schema Markup Kullanılmaması

Türkiye'deki sitelerin %80'inde yapısal veri yok. Oysa Google, zengin sonuçlar (rich snippets) için schema.org markup'ını kullanıyor. italyanmutfagi.com projesinde her tarif için Recipe schema ekledik:

Bu ekleme sonrası Google'da "karnıyarık tarifi" aramasında yıldız puanı, pişirme süresi ve kalori bilgisi görünmeye başladı. Tıklama oranı %18'den %34'e çıktı.

Türkçe Siteler İçin Önemli Schema Türleri

  • Article: blog yazıları için (headline, author, datePublished)
  • Product: e-ticaret için (price, availability, aggregateRating)
  • LocalBusiness: yerel işletmeler için (address, telephone, openingHours)
  • FAQPage: SSS sayfaları için (Google'da genişletilebilir SSS kutusu gösterir)
  • BreadcrumbList: breadcrumb navigasyonu için

kamupersonelhaber.com'da her habere NewsArticle schema'sı ekledik. Google News'e kabul sürecinde bu çok yardımcı oldu.

7. Mobile-First Index Sorunları

Google 2021'den beri mobile-first indexing kullanıyor. Yani sitenizin mobil versiyonunu indexliyor. Ama bazı Türkçe siteler hala masaüstü ve mobil için farklı içerik gösteriyor.

Bir müşteri sitesinde masaüstünde 800 kelimelik ürün açıklaması vardı, mobilde sadece 200 kelime. Google mobil versiyonu indexlediği için ranking düştü. Çözüm: responsive design ile her cihazda aynı içeriği göstermek.

Başka bir sorun: mobilde lazy loading yanlış uygulanmış. Görseller hiç yüklenmiyor, Google bot görselleri göremiyor. Doğru lazy loading:

Açıklama

Ama critical viewport'taki (ilk ekran) görsellere lazy loading eklemeyin. Bu Core Web Vitals'da LCP (Largest Contentful Paint) skorunu düşürüyor.

PageSpeed Insights Hataları

Türkçe sitelerde sık gördüğüm performans sorunları:

  • Gereksiz plugin'ler (ortalama WordPress sitesi 30+ plugin kullanıyor)
  • Optimize edilmemiş görseller (2MB PNG dosyaları)
  • Render-blocking JavaScript (jQuery, Font Awesome vs.)

Ben tüm FUTIA projelerinde Cloudflare + WP Rocket kombinasyonunu kullanıyorum. memuratamalari.com'da bu optimizasyonlarla mobil PageSpeed skoru 38'den 82'ye çıktı.

8. Internal Linking Stratejisi Eksikliği

Çoğu site internal link'i rastgele kullanıyor. Oysa doğru internal linking, PageRank'i stratejik sayfalara yönlendirir. doktorbul.com'da şu yapıyı kurduk:

  • Ana sayfa → 10 popüler şehir sayfası
  • Şehir sayfaları → o şehirdeki branş sayfaları
  • Branş sayfaları → doktor profilleri

Bu hiyerarşi sayesinde yeni eklenen doktor profilleri bile 2 hafta içinde indexlenmeye başladı. Çünkü her profil, 2-3 seviye yukarıdan link alıyordu.

Internal link anchor text'leri de önemli. "Buraya tıklayın" yerine "İstanbul'da diyetisyen doktorlar" gibi açıklayıcı anchor'lar kullanın. Ama aşırıya kaçmayın: aynı anchor'ı 50 kez kullanırsanız Google "aşırı optimizasyon" olarak algılayabilir.

Orphan Page Problemi

Orphan page: hiçbir internal link almayan sayfa. Google bunları bulmakta zorlanıyor. Screaming Frog'da "Orphan Pages" raporunu kontrol edin. italyanmutfagi.com'da 43 orphan tarif vardı, bunları kategori sayfalarına ve "benzer tarifler" widget'ına ekleyince trafikleri 3 kat arttı.

9. Duplicate Content ve Parametre Yönetimi

Türkçe e-ticaret sitelerinde filtre ve sıralama parametreleri duplicate content yaratıyor:

  • /urunler
  • /urunler?siralama=fiyat
  • /urunler?filtre=marka-x
  • /urunler?siralama=fiyat&filtre=marka-x

Google bunları ayrı sayfalar olarak görüyor. Çözüm:

1. Canonical tag: tüm varyantlar ana sayfaya canonical alsın 2. Google Search Console → URL Parametreleri: "siralama" parametresini "içeriği değiştirmez" olarak işaretle 3. Robots.txt: kritik olmayan parametreleri disallow et

diolivo.com.tr'de bu düzenlemeyi yaptıktan sonra indexlenen sayfa sayısı 6.800'den 2.400'e düştü (bu iyi bir şey, çünkü 4.400 duplicate sayfa temizlendi). Ama organik trafik %23 arttı, çünkü Google crawl budget'ını doğru sayfalara harcadı.

Sayfalama Duplicate Content

Blog'larda /sayfa/2, /sayfa/3 gibi URL'ler var. Bunlar için:

  • Her sayfa kendi URL'sine self-referencing canonical alsın
  • rel="prev" ve rel="next" ekleyin (artık zorunlu değil ama yardımcı)
  • Meta robots'a "noindex, follow" eklemeyin (Google 2019'da bunu önermemeye başladı)

10. HTTPS ve Güvenlik Sertifikası Sorunları

Bu temel gibi görünse de hala HTTP kullanan Türkçe siteler var. Google 2014'ten beri HTTPS'i ranking faktörü olarak kullanıyor. Ama bazı siteler HTTPS'e geçmiş ama mixed content hatası var:

→ HTTP → HTTPS

Tarayıcı "Not Secure" uyarısı gösteriyor, kullanıcılar güvenmiyor. Çözüm: tüm kaynakları (görseller, CSS, JS) HTTPS'e çevirin. WordPress'te Really Simple SSL plugin'i bunu otomatik yapıyor.

Başka bir sorun: SSL sertifikası süresi dolmuş. Ben tüm FUTIA projelerinde Let's Encrypt kullanıyorum, 90 günde bir otomatik yenileniyor. Cloudflare kullanıyorsanız, onların SSL/TLS ayarını "Full (strict)" yapın.

Redirect Zincirleri

HTTP → HTTPS geçişinde şu hata çok yaygın:

http://site.com → http://www.site.com → https://www.site.com

3 adımlı redirect zinciri. Her adım 100-200ms gecikme ekliyor. Doğrusu:

http://site.com → https://site.com (tek adım)

.htaccess'te şu kodu kullanın:

RewriteEngine On RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} ^www\. [NC] RewriteRule ^ https://site.com%{REQUEST_URI} [R=301,L]

Teknik SEO Denetimi Nasıl Yapılır?

Ben her yeni projede şu adımları takip ediyorum:

1. Google Search Console ve Analytics entegrasyonu (temel metrikler) 2. Screaming Frog ile site taraması (broken links, duplicate content, canonical hatalar) 3. PageSpeed Insights ile performans testi (mobil ve masaüstü) 4. Schema Markup Validator ile yapısal veri kontrolü 5. Robots.txt ve sitemap.xml incelemesi 6. Hreflang ve canonical tag doğrulaması 7. Internal linking analizi (orphan pages, link depth)

memuratamalari.com'da bu denetimi yaptığımızda 87 kritik hata bulduk. 6 haftalık düzeltme sürecinden sonra organik trafik %140 arttı. En büyük etki canonical tag ve sitemap düzeltmelerinden geldi.

Eğer sitenizde benzer teknik sorunlar olduğundan şüpheleniyorsanız, benimle WhatsApp üzerinden iletişime geçebilirsiniz: +90 532 491 17 05. FUTIA olarak site + otomasyon + aylık bakım paketi sunuyoruz, teknik SEO denetimi de bu paketin bir parçası. Alternatif olarak info@futia.net adresine detaylı bir mail atabilirsiniz, genelde 24 saat içinde dönüş yapıyorum.

Sıkça Sorulanlar

Teknik SEO hataları organik trafiği ne kadar etkiler?

Deneyimlerime göre ciddi teknik hatalar organik trafiği %30-60 arasında düşürebiliyor. Özellikle canonical tag yanlışlıkları, robots.txt blokları ve indexleme sorunları çok kritik. Örneğin bir e-ticaret sitesinde yanlış canonical kullanımı yüzünden 18.000 sayfanın sadece %12'si indexleniyordu. Bu düzeltildikten sonra 6 hafta içinde indexlenen sayfa sayısı 2,5 kat arttı. Ama her hata eşit etki yaratmıyor. Schema markup eksikliği trafik kaybına değil, daha çok tıklama oranı düşüklüğüne sebep oluyor.

Türkçe sitelerde hreflang kullanmak şart mı?

Eğer sadece Türkiye'deki kullanıcılara hitap ediyorsanız zorunlu değil. Ama Almanya, Hollanda, Belçika gibi ülkelerde 5 milyondan fazla Türkçe konuşan kullanıcı var. Hreflang kullanmazsanız, bu kullanıcılar Google.de veya Google.nl'de arama yaptığında yerel rakiplerinizi görebiliyorlar. Bir haber sitesinde hreflang ekledikten sonra Almanya trafiği 3 ayda %180 arttı. Implementasyon da zor değil, her sayfanın <head> bölümüne 3 satır kod eklemek yeterli. Hem tr-TR hem tr hem de x-default değerlerini kullanmanızı öneririm.

Canonical tag ve 301 redirect arasındaki fark nedir?

301 redirect kullanıcıyı ve botu fiziksel olarak başka bir URL'ye yönlendirir. Tarayıcı adres çubuğu değişir. Canonical tag ise sadece Google'a 'bu sayfanın orijinal versiyonu şurada' diye sinyal gönderir, kullanıcı mevcut sayfada kalır. Duplicate content durumlarında canonical tercih edilir. Örneğin ürün varyantları (/urun?renk=kirmizi, /urun?renk=mavi) için hepsini ana ürün sayfasına canonical ile işaretlersiniz. Ama eski bir URL'yi kalıcı olarak taşıyorsanız 301 redirect kullanmalısınız. Bir sayfada hem 301 hem canonical olursa, 301 önceliklidir.

Schema markup eklemek için kod bilgisi gerekli mi?

Hayır, WordPress kullanıyorsanız RankMath veya Yoast gibi plugin'ler otomatik schema oluşturuyor. Ama ben manuel JSON-LD eklemeyi tercih ediyorum, çünkü daha fazla kontrol sağlıyor. Google'ın Schema Markup Generator aracını kullanabilirsiniz, formu dolduruyorsunuz, size hazır kod veriyor. Bunu sitenizin <head> veya <body> bölümüne yapıştırıyorsunuz. Ekleme sonrası mutlaka Google'ın Rich Results Test aracında kontrol edin. Hata varsa gösterir. Bir tarif sitesinde Recipe schema ekledikten sonra tıklama oranı %18'den %34'e çıkmıştı, çünkü arama sonuçlarında yıldız puanı ve pişirme süresi görünmeye başlamıştı.

Teknik SEO denetimi ne sıklıkla yapılmalı?

Site büyüklüğüne göre değişiyor. 100-500 sayfalık bir site için 6 ayda bir yeterli. Ama e-ticaret veya haber siteleri gibi sürekli yeni içerik eklenen projelerde ayda bir kontrol yapmanızı öneririm. Özellikle şu durumlarda acil denetim gerekir: tema değişikliği sonrası, hosting değişimi sonrası, trafik aniden %20'den fazla düştüyse, Google Search Console'da ani hata artışı varsa. Ben FUTIA projelerinde aylık bakım kapsamında otomatik izleme yapıyorum. Screaming Frog taraması, GSC hata takibi ve Core Web Vitals kontrolü rutin olarak dönüyor. Kritik bir sorun tespit edersek müşteriye 24 saat içinde bildiriyoruz.

YAZAR HAKKINDA
Miraç Eroğlu

Hacettepe mezunu, 6 yıldır sosyal medya, 2 yıldır AI otomasyon.

Daha fazla bilgi →

Bu yazıdaki tekniklerden birini uygulamak ister misiniz? Kısa bir form doldurun, 48 saat içinde ücretsiz ön inceleme raporu mailinize düşsün.