İçeriğe geç

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.

4 dk okumaİleri seviyeGeçerlilik dönemi: 2026 Eylül itibarıyla
JavaScript robots meta etiketini değiştiriyorsa: noindex kaybolan veya eklenen sayfalar — editoryal kapak görseli

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.
JavaScript ile değişen robots etiketi: yanlış ve doğru uygulamanın karşılaştırması
JavaScript ile değişen robots etiketi: sorunlu durum ve doğru uygulama yan yana.

Adım adım çözüm

  1. 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.
  2. 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.
  3. İstemci tarafı kodun robots etiketini değiştirmesini engelleyin.
  4. 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.
  5. Sayfa gerçekten dizin dışı olmalıysa noindex'i ham HTML'de verin; dizinde olmalıysa ham HTML'de hiç noindex olmasın.
  6. 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.

JavaScript ile değişen robots etiketi için düzeltme örneği
Ham HTML ile render edilmiş DOM'daki robots değeri aynı olmalıdır.

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

  1. Google Search Central — JavaScript SEO temelleri
  2. Google Search Central — Robots meta etiketi ve X-Robots-Tag
  3. Search Console Yardım — URL Denetimi aracı

Paylaş