Rehber
JavaScript robots meta etiketini değiştiriyorsa: noindex kaybolan veya eklenen sayfalar
Sunucudan gelen HTML'de bir robots yönergesi, JavaScript çalıştıktan sonra başka bir yönerge varsa Google hangisine uyacağını sizin istediğiniz gibi seçmeyebilir. Riskleri ve çözümü anlatıyoruz.
SEO Analyzer her sayfayı iki kez okur: sunucunun gönderdiği ham HTML'i ve JavaScript çalıştıktan sonra tarayıcının oluşturduğu son hali. Bu iki görünümde robots yönergesi farklıysa, arama motorunun hangi sürümü göreceğine bağlı olarak sayfanız dizine girebilir ya da tamamen dışarıda kalabilir.
Bu yüzden bu bulgu kritik önemde raporlanır: bir sayfanın dizinde olup olmaması gibi temel bir kararın rastlantıya bırakılmaması gerekir.
KTYAPTECH SEO Analyzer bu sorunu RENDER-ROBOTS-META-CHANGED-001 koduyla, “robots yönergesi iki görünümde farklı” başlığı altında ve kritik önem derecesiyle raporlar (Teknik SEO). Bu rehber, bulgunun ne anlama geldiğini, neden önemli olduğunu ve adım adım nasıl düzeltileceğini anlatıyor.
JavaScript ile değişen robots etiketi nedir?
Robots meta etiketi (<meta name="robots">) sayfanın dizine eklenip eklenmeyeceğini ve bağlantılarının izlenip izlenmeyeceğini söyler. Tek sayfa uygulamalarında (SPA) ve bazı CMS temalarında bu etiket JavaScript ile sonradan eklenir, silinir veya değiştirilir.
Google önce ham HTML'i işler; sayfayı render etmek için ayrı bir aşama kullanır. Ham HTML'de noindex varsa Google render aşamasına hiç geçmeyebilir ve JavaScript'in etiketi kaldırmasını hiçbir zaman görmez.
Neden önemli? SEO ve kullanıcı deneyimine etkisi
Senaryo 1: ham HTML'de noindex var, JavaScript onu kaldırıyor. Google sayfayı büyük olasılıkla dizine eklemez; siz ise tarayıcıda baktığınızda noindex göremezsiniz.
Senaryo 2: ham HTML'de noindex yok, JavaScript ekliyor. Google render ettiğinde noindex'i görür ve sayfayı dizinden çıkarır; ama bu davranış render zamanlamasına bağlıdır ve tutarsızdır.
Her iki durumda da sayfanın arama görünürlüğü sizin kontrolünüzden çıkar.
Sorun nasıl tespit edilir?
- SEO Analyzer raporundaki “robots yönergesi iki görünümde farklı” bulgusu, ham HTML ve render edilmiş HTML'deki değerleri yan yana gösterir.
- curl ile ham HTML'i alıp meta robots etiketine bakın; ardından tarayıcı geliştirici araçlarının Elements panelinde render edilmiş DOM'daki etiketi kontrol edin.
- Search Console URL Denetimi'nde “Taranan sayfayı görüntüle” ile Google'ın gördüğü HTML'i inceleyin.
- Uygulama kodunda document.head üzerinde robots meta etiketi oluşturan veya değiştiren kodları arayın.
Adım adım çözüm
- Robots yönergesinin hangi kodla değiştiğini bulun: istemci tarafı yönlendirici, metadata kütüphanesi, çerez onay aracı veya A/B test betiği olabilir.
- Yönergeyi sunucu tarafında, sayfanın gerçek durumuna göre belirleyin ve ilk HTML yanıtında doğru değeri gönderin.
- İstemci tarafı kodun robots etiketini değiştirmesini engelleyin.
- Tek sayfa uygulamalarında sunucu tarafı render (SSR) veya statik üretim kullanın; bu mümkün değilse en azından robots etiketini sunucu şablonunda sabitleyin.
- Sayfa gerçekten dizin dışı olmalıysa noindex'i ham HTML'de verin; dizinde olmalıysa ham HTML'de hiç noindex olmasın.
- Değişiklikten sonra URL Denetimi ile Google'ın gördüğü HTML'i doğrulayın.
Google'ın noindex davranışı
Google belgelerine göre ham HTML'de noindex bulunan bir sayfa render aşamasına alınmayabilir; bu yüzden JavaScript'in noindex'i kaldırması sayfayı dizine sokmaz. Tersine, JavaScript ile noindex eklemek çalışabilir ama Google bunu güvenilir bir yöntem olarak önermez.
Framework'lerde metadata yönetimi
Next.js, Nuxt ve benzeri framework'ler metadata'yı sunucu tarafında üreten API'ler sunar. Robots, title ve canonical gibi değerleri bu API'lerle tanımlamak, ham ve render HTML'in aynı olmasını garanti eder.
Sık yapılan hatalar
- Sayfayı yalnızca tarayıcıda kontrol edip ham HTML'e bakmamak.
- Yükleme ekranında noindex gösterip içerik gelince kaldırmak.
- Çerez onayı veya A/B test betiklerinin head etiketlerini değiştirmesine izin vermek.
Düzeltmeyi nasıl doğrularsınız?
- Ham HTML ve render edilmiş DOM'daki robots değerlerinin aynı olduğunu kontrol edin.
- URL Denetimi'nde “Dizine eklemeye izin verildi mi?” sonucunu görün.
- SEO Analyzer'ı yeniden çalıştırın; bulgu kaybolmalı.
Sık sorulan sorular
JavaScript ile noindex kaldırmak işe yarar mı?
Hayır. Ham HTML'de noindex varsa Google render aşamasına geçmeyebilir ve kaldırılmasını görmez.
Bu sorun sadece SPA'larda mı olur?
En sık SPA'larda görülür, ancak etiketleri değiştiren betik kullanan her sitede ortaya çıkabilir.
Neden kritik önemde raporlanıyor?
Çünkü sayfanın dizinde olup olmayacağını belirsiz hale getirir; yanlış yöne düşerse önemli sayfalar aramadan tamamen kaybolur.
Özet
Robots yönergesi ham HTML'de ve render edilmiş sayfada aynı olmalıdır. Yönergeyi sunucu tarafında belirleyin, istemci kodunun onu değiştirmesini engelleyin ve Google'ın gördüğü HTML'i URL Denetimi ile doğrulayın.
Sitenizde bu ve benzeri sorunların olup olmadığını görmek için KTYAPTECH Ücretsiz SEO Analizi aracını kullanabilirsiniz: rapordaki her bulgunun yanında, sorunu anlatan çözüm rehberine giden bir bağlantı bulunur.
Kategoriler
Etiketler
Kaynaklar
Paylaş
İlgili içerikler
URL'de büyük harf kullanmak SEO'ya zarar verir mi?
Adres yolları büyük-küçük harfe duyarlıdır: /Urunler ve /urunler farklı adreslerdir. Büyük harf kullanımının yarattığı yinelenen adres ve kırık bağlantı riskini anlatıyoruz.
2 dk okuma
Yazıyı okuSonda eğik çizgi (trailing slash): /sayfa ve /sayfa/ ikisi de açılıyorsa
Aynı sayfa hem eğik çizgili hem eğik çizgisiz adreste 200 dönüyorsa Google iki ayrı sayfa görür. Tek bir biçim seçip diğerini yönlendirmeyi anlatıyoruz.
3 dk okuma
Yazıyı okuÇok parametreli adresler: filtre ve sıralama URL'leri taramayı nasıl etkiler?
Renk, beden, fiyat ve sıralama filtreleri birleştikçe binlerce adres üretilir. Google bu adresleri taramaya çalışırken önemli sayfalarınıza sıra gelmeyebilir. Parametre yönetimini anlatıyoruz.
3 dk okuma
Yazıyı oku
