Web sitende hangi sayfaya girersen gir URL’nin sonunda #gsc.tab=0 gibi bir ek görüyorsan, ilk refleks “acaba site hacklendi mi?” oluyor. İyi haber: Bu durum çoğu senaryoda bir güvenlik problemi değil; tarayıcı tarafında çalışan bir arama bileşeninin URL’ye eklediği hash/fragment bilgisidir.
#gsc.tab=0 Nedir?
#gsc.tab=0 ifadesi URL’nin “#” ile başlayan parçasıdır. Bu bölüm, genellikle sayfadaki bir arama/sekme durumunu (tab) hatırlamak için kullanılır. En sık sebep; sitene eklenmiş olan Google Programmable Search Engine (PSE) / eski adıyla Google Custom Search kodudur (bazı kurulumlarda AdSense for Search entegrasyonlarıyla birlikte gelir).
SEO’ya Etkisi Var mı?
Genelde kritik bir SEO felaketi değildir çünkü “#” sonrası kısım sunucuya gönderilmez; aynı sayfanın farklı bir “durumu” gibi davranır. Ancak pratikte şu sorunları çıkarabilir:
- Link kirliliği: Kullanıcı linki kopyalayıp paylaşınca hash’li hali yayılır.
- Analitik karmaşası: Bazı ölçüm araçları hash’li URL’leri ayrı sayfa gibi raporlayabilir.
- Cache/önbellek tutarsızlığı: Nadiren bazı eklentiler hash’i yanlış ele alıp görüntü farklılığına yol açabilir.
Özet: “Index’im gitti” tipi bir sonuç bekleme; ama temizlik ve kullanıcı deneyimi için kaldırmak mantıklıdır.
Neden Her Sayfada Görünüyor?
Çoğu sitede sebep şudur: PSE/arama kodu site geneline (header/footer gibi) eklenmiştir ve “gezinme geçmişi / sonuçlara göz atma geçmişi” gibi bir özellik URL hash’ini sürekli güncelliyordur. Bu yüzden bir sayfaya girdiğinde hash yazılmış gibi görünür.
Hızlı Kontrol (2 Dakika)
- Gizli sekmede siteyi aç: aynı durum var mı?
- Sayfada arama kutusu/arama reklamı var mı? (Özellikle “site içi arama” bileşenleri)
- Kaynak kodda Programmable Search / cse / gsc benzeri scriptler var mı?
Kesin Çözüm 1: Programmable Search Engine Ayarından Kapat
Bu yöntem en temiz ve kalıcı çözümdür. Genel mantık: PSE’de “sonuçlara göz atma geçmişi / results browsing history” benzeri özellik kapatılır.
- Google’da Programmable Search Engine paneline gir.
- Sitene ait arama motorunu seç.
- Arama Özellikleri (Search features) bölümünü bul.
- Tüm Arama Özellikleri Ayarları (All search features settings) ekranına gir.
- Gelişmiş Ayarlar (Advanced) alanına in.
- Web Araması Ayarları (Web search settings) içinde Sonuçlara göz atma geçmişi (Results browsing history) seçeneğini kapat.
Not: Panel ekran adları zamanla değişebilir ama aradığın şey “history / browsing history / results history” mantığıdır.
Kesin Çözüm 2: Aramayı Sadece “Arama Sonuçları” Sayfasında Kullan
Eğer PSE kodunu her sayfaya gömmek yerine yalnızca /arama/ gibi tek bir sayfada çalıştırırsan hash’in tüm sitede görünme ihtimali ciddi azalır.
- Header’a sadece “Arama” linki koy (ör.
/arama/). - PSE scriptini yalnızca o sayfada yükle.
- WordPress kullanıyorsan alternatif olarak WP’nin kendi aramasını veya bir arama eklentisini tercih edebilirsin.
Hızlı Çözüm 3 (Workaround): #gsc.tab=0 Hash’ini Otomatik Temizle
Panelden çözüm bulamadığın durumlarda, geçici/yardımcı bir yöntem olarak sayfa açılır açılmaz bu hash’i temizleyebilirsin. Bu, arama bileşeninin davranışını etkileyebilir; o yüzden önce test ortamında dene.
<script>
(function () {
// Sadece gsc ile başlayan hash'leri hedefle (diğer anchor/hash kullanımını bozma)
if (window.location.hash && window.location.hash.indexOf('#gsc.') === 0) {
// Hash'i URL'den sil (sayfayı yenilemeden)
history.replaceState(null, document.title, window.location.pathname + window.location.search);
}
})();
</script>
Uyarı: Sayfanda “#başlık” gibi anchor linkler kullanıyorsan bu script onları etkilemesin diye özellikle #gsc. ile başlayan hash’leri hedefliyoruz.
Sık Sorulan Sorular
Bu bir virüs/hack belirtisi mi?
Tek başına #gsc.tab=0 görmek genellikle hack belirtisi değildir. Yine de sitende gizli yönlendirme, bilinmeyen scriptler, anormal trafik artışı gibi bulgular varsa ayrıca kontrol etmek gerekir.
Google Search Console (GSC) ile alakalı mı?
İsim benzerliği kafa karıştırıyor. Buradaki “gsc” çoğu zaman Programmable Search bileşeninin dahili parametreleriyle ilgilidir; Search Console raporlarıyla doğrudan bağlantılı değildir.
Kanonik URL ayarıyla çözer mi?
Kanonik etiketler iyi bir pratik olsa da “#” sonrası kısım sunucuya gitmediği için çoğu durumda asıl temizlik, kaynağı (PSE ayarı / script davranışı) düzeltmektir.
Kaldırdım ama hâlâ görünüyor, neden?
Cache (LiteSpeed/Cloudflare) nedeniyle eski script davranışı bir süre devam edebilir. Cache temizle, tarayıcıyı sert yenile (Ctrl+F5) ve tekrar test et.
Kısa Özet
- #gsc.tab=0 çoğu zaman PSE/Custom Search kaynaklıdır.
- Kalıcı çözüm: PSE panelinde “results browsing history” benzeri ayarı kapat.
- Daha temiz kurgu: Arama scriptini sadece “Arama” sayfasında çalıştır.
- Gerekirse:
#gsc.ile başlayan hash’i JS ile temizle.