Ana Sayfa / Seviye 2 / SEO / Teknik SEO — Taranabilirlik

Teknik SEO — Taranabilirlik

📚 Seviye 2 — Uygulama ⏱ ~15 dakika

1. Googlebot ve Tarama Süreci

Googlebot, Google'ın web'i tarayan yazılımıdır. Sayfaları keşfeder, içeriklerini okur ve dizine ekler. Sitenin arama sonuçlarında görünmesi için önce Googlebot'un sayfalarını bulabilmesi ve tarayabilmesi gerekir.

a) Googlebot Nasıl Çalışır?

  1. Bilinen bir URL'den başlar (önceki taramalar, sitemap, harici bağlantılar).
  2. Sayfadaki bağlantıları takip ederek yeni URL'leri keşfeder.
  3. Her sayfayı render eder (JavaScript dahil) ve içeriğini analiz eder.
  4. İçeriği dizine ekler veya günceller.

b) Crawl Budget (Tarama Bütçesi) — Google'ın Sana Ayırdığı Zaman

Google Bir Kapitalist Şirkettir

Google hayır kurumu değil — her işlemin bir maliyeti var. Google'ın veri merkezleri dünyanın en büyük enerji tüketicilerinden biridir.

Crawl Budget Nedir?

Google'ın senin siteni taramak için ayırdığı kaynak miktarı. Sınırsız değil — Google her siteye belirli bir "tarama bütçesi" ayırır.

Sitenin aldığı tarama miktarı iki faktöre bağlıdır:

Crawl Budget'ı Ne Etkiler?

  1. Site hızı: Yavaş site = Google'ın tarayıcısı bekler = daha az sayfa taranır
  2. Sunucu yanıt süresi: Sunucu yavaşsa Google taramayı yavaşlatır
  3. 404 hataları: Google sitendeki yüzlerce 404 sayfayı taramaya çalışır → boşa kaynak harcar → "bu site beni yoruyor" der → sana verdiği değeri düşürür
  4. Yinelenen içerik: Aynı içeriği farklı URL'lerden taramak bütçe israfı
  5. Düşük kaliteli sayfalar: Tag sayfaları, yazar arşivleri, parametre URL'leri
  6. Redirect zincirleri: A→B→C→D yönlendirmeleri bütçeyi yer
💡 Benzetme: Postacı
Google'ı bir postacı gibi düşün. Her gün senin mahallene 30 dakika ayırıyor. Eğer kapının önüne 50 tane çöp kutusu (404 sayfalar) koyarsan, postacı çöpleri aşmaya çalışırken zamanını harcar ve asıl önemli mektupları (değerli sayfalarını) teslim edemez. Ertesi gün "bu mahalle çok zahmetli" deyip 20 dakikaya düşürür.

Crawl Budget Nasıl Korunur?

Crawl Budget Kimler İçin Kritik?

graph TD GC["🤖 Google Tarayıcı
Siteye gelir"] CB["⏱️ Crawl Budget
Sınırlı süre"] GC --> CB CB --> TEMIZ["✅ Temiz Site"] CB --> KIRLI["❌ Kirli Site"] TEMIZ --> T1["Önemli sayfalar taranır"] TEMIZ --> T2["Yeni içerik hızla dizinlenir"] TEMIZ --> T3["Google siteye güvenir"] KIRLI --> K1["404 hataları bütçeyi yer"] KIRLI --> K2["Redirect zincirleri yavaşlatır"] KIRLI --> K3["Önemli sayfalar atlanır"] KIRLI --> K4["Google bütçeyi düşürür"] style GC fill:#29ABE2,stroke:#1E8EBF,color:#fff,stroke-width:2px style CB fill:#FEF3C7,stroke:#F59E0B,stroke-width:2px style TEMIZ fill:#DCFCE7,stroke:#22C55E,stroke-width:2px style KIRLI fill:#FEE2E2,stroke:#EF4444,stroke-width:2px style T1 fill:#DCFCE7,stroke:#22C55E,stroke-width:1px style T2 fill:#DCFCE7,stroke:#22C55E,stroke-width:1px style T3 fill:#DCFCE7,stroke:#22C55E,stroke-width:1px style K1 fill:#FEE2E2,stroke:#EF4444,stroke-width:1px style K2 fill:#FEE2E2,stroke:#EF4444,stroke-width:1px style K3 fill:#FEE2E2,stroke:#EF4444,stroke-width:1px style K4 fill:#FEE2E2,stroke:#EF4444,stroke-width:1px
graph TD GB["🤖 Googlebot"] K["Keşif
URL'leri bul"] T["Tarama
Sayfayı indir"] R["Render
JS çalıştır"] D["Dizinleme
İçeriği kaydet"] GB --> K -->|"Sitemap, bağlantılar"| T -->|"HTML + CSS + JS"| R -->|"İçerik analizi"| D RT["robots.txt
Engelle / İzin ver"] MR["Meta Robots
noindex / nofollow"] CN["Canonical
Tercih edilen URL"] RT -.->|"Tarama öncesi kontrol"| K MR -.->|"Dizinleme kontrolü"| D CN -.->|"Yinelenen içerik çözümü"| D style GB fill:#29ABE2,stroke:#1E8EBF,color:#fff,stroke-width:2px style K fill:#E8F6FC,stroke:#29ABE2,stroke-width:2px style T fill:#E8F6FC,stroke:#29ABE2,stroke-width:2px style R fill:#FEF3C7,stroke:#F59E0B,stroke-width:2px style D fill:#DCFCE7,stroke:#22C55E,stroke-width:2px style RT fill:#FEE2E2,stroke:#EF4444,stroke-width:2px style MR fill:#FEE2E2,stroke:#EF4444,stroke-width:2px style CN fill:#FEF3C7,stroke:#F59E0B,stroke-width:2px

2. robots.txt

robots.txt, sitenin kök dizininde bulunan (ornek.com/robots.txt) ve arama motoru botlarına hangi sayfaları tarayıp hangilerini taramaması gerektiğini söyleyen bir metin dosyasıdır.

a) Temel Söz Dizimi

# Tüm botlara tüm sayfaları aç
User-agent: *
Allow: /

# Admin panelini engelle
User-agent: *
Disallow: /admin/
Disallow: /wp-login.php

# Sadece Googlebot'a özel kural
User-agent: Googlebot
Disallow: /gecici-sayfalar/

# Sitemap konumu
Sitemap: https://www.ornek.com/sitemap.xml

b) Önemli Kurallar

⚠️ Kritik Uyarı
robots.txt sadece taramayı engeller, dizinlemeyi değil. Disallow ile engellediğin bir sayfaya başka sitelerden bağlantı varsa, Google o sayfayı dizine ekleyebilir (başlığı ve URL'si görünür, içeriği görünmez). Dizinlenmesini istemediğin sayfalar için meta robots noindex kullan. robots.txt'te CSS ve JS dosyalarını engelleme — Googlebot'un sayfayı render etmesini engellersin.

c) Yaygin Disallow Ornekleri

Cogu web sitesinde asagidaki alanlarin taranmasini engellemek mantiklidir:

User-agent: *
Disallow: /wp-admin/       # WordPress admin paneli
Disallow: /cart/            # Sepet sayfalari
Disallow: /checkout/        # Odeme sayfalari
Disallow: /search?          # Site ici arama sonuclari
Disallow: /tag/             # Etiket sayfalari (thin content)
Disallow: /author/          # Yazar arsiv sayfalari
Allow: /
Sitemap: https://siteadi.com/sitemap.xml
Onemli Uyari: robots.txt Sadece "Oneri"dir
robots.txt sadece bir "lutfen tarama" direktifidir — Google cogu zaman uyar ama baglayici degildir. Gercek engelleme icin meta robots noindex kullan. Ayrica robots.txt'in dogru calistigini dogrulamak icin Search Console > URL Inceleme araci ile kontrol edebilirsin.

d) robots.txt Kontrol

3. XML Sitemap

XML sitemap, sitenin tüm önemli sayfalarının listesini içeren ve arama motorlarına sunulan bir dosyadır. Google'a "bu sayfalari tara" diye yol haritasi verir.

a) Dosyanin Yeri ve Amaci

b) Sitemap Yapısı

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.ornek.com/</loc>
    <lastmod>2025-03-15</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://www.ornek.com/hizmetler/dis-implant</loc>
    <lastmod>2025-02-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>

c) Sitemap Icermesi Gerekenler

d) Sitemap IcerMEMESI Gerekenler

e) Sitemap Kurallari ve Best Practices

f) robots.txt ve sitemap.xml Birlikte Nasil Calisir?

graph LR RT["robots.txt
Neyi TARAMA
(engelleme listesi)"] SM["sitemap.xml
Neyi TARA
(oncelik listesi)"] G["Googlebot"] RT -->|"Su alanlari tarma"| G SM -->|"Su sayfalari tara"| G G --> V["Verimli Tarama
Onemli sayfalar taranir
Gereksiz sayfalar atlanir"] style RT fill:#FEE2E2,stroke:#EF4444,stroke-width:2px style SM fill:#DCFCE7,stroke:#22C55E,stroke-width:2px style G fill:#E8F6FC,stroke:#29ABE2,stroke-width:2px style V fill:#FEF3C7,stroke:#F59E0B,stroke-width:2px

4. Meta Robots Tag

Sayfanın <head> bölümüne eklenen ve arama motorlarına o sayfa için talimat veren etikettir.

a) Yaygın Direktifler

DirektifAnlamNe Zaman Kullan?
noindexBu sayfayı dizine eklemeArama sonuçlarında görünmemesi gereken sayfalar (thank you page, internal search)
nofollowBu sayfadaki bağlantıları takip etmeGüvenilmeyen kullanıcı içerikleri olan sayfalar
noindex, nofollowNe dizine ekle ne bağlantıları takip etTamamen gizlenmesi gereken sayfalar
index, followVarsayılan davranış (yazmasına gerek yok)Normal sayfalar

Kullanım:

<meta name="robots" content="noindex, nofollow">

5. Canonical Tag

Canonical tag, bir sayfanın "tercih edilen" URL versiyonunu belirtir. Yinelenen (duplicate) içerik sorunlarını çözmek için kullanılır.

a) Neden Gerekli?

Aynı içeriğe birden fazla URL'den ulaşılabiliyor olabilir:

b) Kullanım

<link rel="canonical" href="https://www.ornek.com/urun">

c) Self-Referencing Canonical

Her sayfaya kendisini gösteren canonical eklemek en iyi pratiktir. Böylece parametre eklenmesi durumunda bile tercih edilen URL belli olur.

⚠️ Yaygın Canonical Hataları
  • Noindex sayfaya canonical koymak — çelişki yaratır.
  • Canonical zinciri oluşturmak — A → B → C yerine A → C olmalı.
  • Farklı içerikteki sayfalara canonical vermek — sadece gerçekten aynı/çok benzer içerik için kullan.
  • Sitemap'te canonical olmayan URL'leri listelemek.

6. Yönlendirmeler (Redirects)

a) 301 vs 302 Redirect

TürAnlamKullanımLink Equity
301Kalıcı yönlendirmeSayfa kalıcı olarak taşındığında, URL yapısı değiştiğindeAktarır (~%90+)
302Geçici yönlendirmeSayfa geçici olarak başka yerde (bakım, A/B test)Aktarmaz
📌 Redirect Zincirleri
A → B → C → D gibi zincirleme yönlendirmelerden kaçın. Her adımda hız kaybı ve link equity kaybı olur. Doğrudan A → D yönlendirmesi yap. Google Search Console veya Screaming Frog ile zincirleri tespit edebilirsin.
⏸️ Karar Vermeden Önce Kontrol Et

301 yönlendirme yapmadan önce kontrol et:

  • Eski URL'in backlink'leri var mı? (301 ile link değerini koru)
  • Yeni URL doğru çalışıyor mu? (404'e yönlendirme yapma)
  • Redirect zinciri oluşuyor mu? (A→B→C olmasın, A→C olsun)
  • Sitemap güncellendi mi? (eski URL'yi kaldır, yeni URL'yi ekle)
  • Search Console'da eski URL'yi kaldırma gerekiyor mu?
📝 Değişiklik Notu: 301 yönlendirme, robots.txt değişikliği, sayfa silme gibi teknik SEO işlemlerini MUTLAKA Notion'a kaydet. Bu değişiklikler sıralamaları doğrudan etkiler. 2 ay sonra "bu sayfanın trafiği neden sıfırlandı?" diye sorulduğunda Notion'a bakıp "301 yönlendirme yapıldı, trafik yeni sayfaya aktarıldı" diye cevap verebilmelisin.

7. HTTP Durum Kodları

Sunucunun tarayıcıya veya Googlebot'a verdiği yanıt kodları. SEO açısından en önemlileri:

graph LR HTTP["📡 HTTP Durum Kodları"] S2["✅ 200 OK
Sayfa başarıyla
yüklendi
"] S31["↪️ 301
Kalıcı
yönlendirme
"] S32["↪️ 302
Geçici
yönlendirme
"] S4["❌ 404
Sayfa
bulunamadı
"] S41["🗑️ 410
Sayfa kalıcı
olarak silindi
"] S5["💥 500
Sunucu
hatası
"] HTTP --> S2 HTTP --> S31 HTTP --> S32 HTTP --> S4 HTTP --> S41 HTTP --> S5 style HTTP fill:#29ABE2,stroke:#1E8EBF,color:#fff,stroke-width:2px style S2 fill:#DCFCE7,stroke:#22C55E,stroke-width:2px style S31 fill:#E8F6FC,stroke:#29ABE2,stroke-width:2px style S32 fill:#FEF3C7,stroke:#F59E0B,stroke-width:2px style S4 fill:#FEE2E2,stroke:#EF4444,stroke-width:2px style S41 fill:#FEE2E2,stroke:#EF4444,stroke-width:2px style S5 fill:#FEE2E2,stroke:#EF4444,stroke-width:2px
KodAnlamSEO Etkisi
200BaşarılıNormal — sayfa sorunsuz yüklendi.
301Kalıcı yönlendirmeLink equity aktarır. URL değişikliklerinde kullan.
302Geçici yönlendirmeLink equity aktarmaz. Geçici durumlarda kullan.
404Sayfa bulunamadıAz sayıda normal ama çok sayıda 404 tarama bütçesini boşa harcar.
410Kalıcı olarak silindiGoogle'a "bu sayfa asla gelmeyecek" der. 404'ten daha kesin sinyal.
500Sunucu hatasıCiddi sorun — Google sayfayı tarayamaz, sık olursa sıralama düşer.
📌 404 Sayfası En İyi Pratik
Özel bir 404 sayfası tasarla. Kullanıcıyı ana sayfaya yönlendir, arama kutusu ekle veya popüler sayfalara bağlantı ver. Böylece kullanıcı siteyi terk etmek yerine başka bir sayfaya geçer.

8. Site İçi Kırık Link Analizi — Screaming Frog

Kırık linkler (broken links), tıklandığında 404 hatası veren ve var olmayan sayfalara yönlendiren bağlantılardır. Hem kullanıcı deneyimini bozar hem SEO performansını düşürür.

a) Kırık Linkler Neden Önemli?

b) Screaming Frog ile Kırık Link Analizi — Adım Adım

  1. Screaming Frog'u aç ve sitenin URL'sini üst çubuğa gir
  2. "Start" tıkla — tarama başlar, tüm sayfalar ve bağlantılar incelenir
  3. Tarama tamamlanınca "Response Codes" sekmesine git
  4. "Client Error (4xx)" filtrele — bu liste kırık linkleri gösterir
  5. "Inlinks" sekmesinde hangi sayfadan kırık linke gidildiğini gör — sorunun kaynağını bul
  6. Export et — Excel'de listele, her kırık link için aksiyon planla
  7. Her kırık link için karar ver:
    • Sayfa taşındıysa → 301 yönlendirme ekle
    • Sayfa kaldırıldıysa → Linki kaldır veya alternatif sayfaya yönlendir
    • Yazım hatası varsa → Doğru URL ile düzelt
graph LR A["Screaming Frog
Tarama Başlat"] --> B["4xx Hataları
Filtrele"] B --> C["Inlinks Kontrol
Kaynak Sayfayı Bul"] C --> D{"Karar"} D -->|Sayfa Taşındı| E["301 Yönlendirme"] D -->|Sayfa Kaldırıldı| F["Linki Kaldır /
Alternatife Yönlendir"] D -->|Yazım Hatası| G["Doğru URL ile Düzelt"] E --> H["Sonraki Ay
Tekrar Tara"] F --> H G --> H style A fill:#E8F6FC,stroke:#29ABE2 style D fill:#FEF3C7,stroke:#F59E0B style E fill:#DCFCE7,stroke:#22C55E style F fill:#DCFCE7,stroke:#22C55E style G fill:#DCFCE7,stroke:#22C55E style H fill:#F5F7FA,stroke:#64748B
Periyodik Kontrol
Bu analiz ayda bir yapılmalıdır. Notion takvime tekrarlayan görev olarak ekle: "Kırık link analizi — Screaming Frog". Screaming Frog ücretsiz sürüm 500 URL'ye kadar tarar — büyük siteler için lisanslı sürüm gerekir.

9. Orphan Pages (Yetim Sayfalar)

a) Orphan Page Nedir?

Orphan page (yetim sayfa), sitedeki hicbir sayfadan ic link almayan, izole kalmis sayfalardir. Bu sayfalar site yapisinda "baglantisiz" kalir ve hem kullanicilar hem de arama motorlari tarafindan bulunmasi cok zordur.

💡 Benzetme
Orphan page, alisveris merkezindeki tabelasi olmayan, koridordan ulasilamayan bir dukkan gibidir. Urunleri ne kadar iyi olursa olsun, kimse bulamaz.

b) Neden Sorunlu?

c) Nasil Tespit Edilir?

Screaming Frog ile orphan page tespiti yapilir:

  1. Screaming Frog'da siteyi tara
  2. Ayni zamanda sitemap.xml dosyasini da Screaming Frog'a yukle
  3. "Orphan Pages" raporuna git — sitemap'te olan ama site ici taramada hicbir sayfadan link almayan sayfalari gosterir
  4. Bu sayfalar sitemap ile tarama karsilastirmasi yapilarak belirlenir

d) Nasil Kurtarilir?

  1. Ilgili sayfalardan orphan page'e ic link ver — anlamli anchor text ile (ör: "implant sonrasi bakim rehberimizi okuyun")
  2. Blog yazilarinin sonuna "Ilgili Yazilar" bolumu ekle — orphan page'leri iliskili iceriklerle bagla
  3. Kategori/hizmet sayfalarindan alt sayfalara link ver — her alt sayfa ust kategorisinden link almali
  4. Breadcrumb navigasyonu ekle — sayfa hiyerarsisini hem kullaniciya hem Google'a gosterir
  5. Sayfa gercekten gereksizse: sil veya noindex yap — her sayfanin varligi hakliysa linkle, degilse kaldir

e) Periyodik Kontrol

Aylik kontrol: Screaming Frog ile orphan page taramasi yapilmalidir. Notion takvimine tekrarlayan gorev olarak ekle: "Orphan page kontrolu — Screaming Frog". Yeni icerik eklendikce orphan sayfa olusma riski artar — duzenlı kontrol sart.

📝 Quiz — Bilgini Test Et

← Önceki Ders Sonraki Ders →