Public Klasörü Nedir?
Web dünyasında public klasörü, sunucunun dünyaya açılan penceresidir. Güvenlik ve mimari gereği, tarayıcıların görebildiği tek alan burası olmalıdır. Ancak bir framework yapısında bu pencere, tüm evi botlara ifşa eden bir kapıya dönüşebilir.
Public Klasörü Neden SEO Konusudur?
SEO sadece metin yazmak değildir; Google'ın "tek gerçek URL" dediği kavramın korunmasıdır. Eğer sitemize public klasörü üzerinden de ulaşılabiliyorsa, Google aynı evi iki farklı adreste görür: Birinde vitrin, diğerinde tüm inşaat alanı.
Web Root ve Public Ayrımı
Sunucu tarafında (Apache/Nginx) "Document Root" ayarı, projenin kalbidir. Laravel veya Symfony gibi modern yapılar, bu ayarın doğrudan public klasörünü göstermesini bekler. Eğer bu hiyerarşi bozulursa, SEO mimarisi temelden çatırdamaya başlar.
/public URL’sinin Açık Olması
Kullanıcı adres çubuğuna /public yazdığında sayfanız açılıyorsa, teknik bir açık verdiniz demektir. Bu durum sadece kullanıcıyı şaşırtmaz; botlara "benim mimarim hatalı, gel beni yanlış tara" sinyali gönderir.
/public/ ve / Aynı İçeriği Veriyorsa
Google botu sitenize geldiğinde her iki yoldan da içerik alır. Sonuç? Teknik Kopya İçerik. Google hangi sürümü asıl (Canonical) kabul edeceğine karar veremez ve sitenizin ana sayfa otoritesini ikiye bölerek sıralamanızı baltalar.
index.php Nedir?
Her dinamik sitenin bir orkestra şefi vardır: index.php. Bu dosya, tüm istekleri karşılayan ve framework'ü ayağa kaldıran dosyadır. Ancak bu dosyanın URL'de bir "ziyaretçi" gibi görünmesi değil, arka planda bir "işçi" gibi çalışması gerekir.
index.html Nedir?
Çoğu zaman eski sunuculardan veya CMS geçişlerinden kalan index.html dosyaları, sessiz birer SEO düşmanıdır. Eğer sunucunuz bu dosyayı PHP'den önce okuyorsa, güncel sitenizin üstüne eski bir "hayalet sayfa" biner.
index.php ile Ana Sayfa Çakışması
Bir sayfanın hem / hem de /index.php olarak açılması, Google'ın tarama bütçesini aynı sayfayı iki kez tarayarak harcamasına neden olur. Çözüm sadece canonical etiketi değildir; teknik disiplin 301 yönlendirmesini şart koşar.
index.html ile Ana Sayfa Çakışması
Statik artıklardan temizlenmemiş bir sunucu, sitemap zehirlenmesine yol açar. GSC (Google Search Console) üzerinden gelen "Hariç tutuldu" uyarılarının çoğu, bu tür görünmez çakışmalardan beslenir.
Aynı İçeriğin Birden Fazla URL’den Açılması
SEO'da "tek gerçek" ilkesi esastır. Bir makaleye veya ana sayfaya giden yol tek olmalıdır. Otoritenin (Link Juice) bölünmesi, bir atleti ikiye bölüp iki farklı piste yarıştırmaya benzer; her iki parça da finişi göremez.
Canonical Bu Sorunu Tek Başına Çözer mi?
Yetmez. Google canonical etiketini bir "tavsiye" olarak alır. Oysa public klasörü veya index.php çakışması bir "altyapı hatası"dır. Tavsiye ile değil, redirect (yönlendirme) ile kökten çözülmelidir.
301 Yönlendirme Stratejisi
Hatalı tüm yollar (public, index.php, index.html), kalıcı bir 301 yönlendirmesiyle temiz URL'e bağlanmalıdır. Bu, otoritenin %100 korunmasını sağlayan tek profesyonel yöntemdir.
Sitemap’te Ana Sayfa Nasıl Yer Almalı?
Sitemap içinde asla parametreli veya dosya uzantılı URL kullanılmamalıdır. Sadece temiz kök dizin https://site.com/ yer almalıdır. Yanlış bir sitemap girişi, tüm teknik SEO kurgunuzu kendi elinizle zehirlemektir.
Internal Linklerde Ana Sayfa Tutarlılığı
Logo linkinden tutun, footer menüsüne kadar her yerdeki ana sayfa linki pürüzsüz olmalıdır. Bir yerde / diğer yerde /index.php kullanmak, botun kafasını karıştırmak için yapılmış bir plandır sanki.
Crawl Budget Açısından Public Sorunu
Tarama bütçesi kıymetlidir. Google botunun bu bütçeyi duplicate (kopya) sayfalarınızda harcaması, yeni ve değerli içeriklerinizin taranmasını haftalarca geciktirebilir.
Güvenlik Perspektifi
Bu sadece bir SEO sorunu değildir; bu bir "Security" (Güvenlik) sorunudur. Public klasörünün URL'de görünmesi, sunucuda bir konfigürasyon hatası olduğunun ilanıdır ve hackerlar için bir davetiyedir.
Framework Bazlı Yaygın Hatalar
Özellikle paylaşımlı (shared) hostinglerde Laravel'in public klasörü zorunluluğu yanlış yönetilir. Klasör ismini değiştirmek veya trafiği yanlış yönlendirmek, projenin mimari bağımlılıklarını bozar.
CDN ve Reverse Proxy Etkisi
Cloudflare gibi servislerin arkasında kalan sitelerde, bazen cache (önbellek) hatası nedeniyle public klasörü maskelenmiş olsa da botlar tarafından bulunabilir. Debug sürecinde bu gizli yollar mutlaka kontrol edilmelidir.
Search Console’da Nasıl Tespit Edilir?
GSC'nin "Kapsam" (Coverage) raporunda, "Dizin oluşturuldu, ancak sitemap'te gönderilmedi" uyarıları bu problemin parmak izidir. URL Denetimi ile hangi sürümün dizinde olduğunu mutlaka görün.
Log Analizi ile Gerçek Sorunu Görmek
Teoride her şey temiz görünebilir; ancak sunucu logları gerçeği söyler. Botların /public dizinine istek attığını görüyorsanız, teknik bir sızıntınız var demektir.
Büyük Sitelerde Etkisi
Binlerce sayfası olan bir e-ticaret sitesinde bu hata, ana sayfa otoritesinin alt kategorilere akmasını engeller. "Otorite barajı" burada takılır ve sitenin geneli düşük performans gösterir.
SEO Araçlarının Bu Konuyu Kaçırması
Yüzeysel audit araçları sadece HTML'e bakar; sunucu hiyerarşisini kontrol etmezler. Seoskor, HTTP başlıklarını ve sunucu yanıtlarını analiz ederek bu görünmez hatayı ortaya çıkarır.
Doğru Yapı Nasıl Olmalı?
Kanonik, pürüzsüz ve tek bir URL. Ne /public, ne /index.php ne de /index.html. Sadece alan adınız. Net bir mimari, Google ile aranızdaki en iyi köprüdür.
Bu Hatanın SEO Skoruna Etkisi
Bu hata "Kritik" sınıftadır. Ana sayfa otoritesini doğrudan etkilediği için analizlerde alarm seviyesindedir. Çözülmeden gerçek bir SEO başarısından söz edilemez.
Public Klasörü Disiplini Bir Kültürdür
Teknik borç (technical debt) birikirse SEO'yu öldürür. Public klasörü disiplini, kurumsal bir yaklaşımın ve temiz kod yazma kültürünün web'deki imzasıdır.
Net Hüküm
"Birden fazla ana sayfası olan bir sitenin, aslında hiçbir ana sayfası yoktur. Otorite tekillikten beslenir."