YazılarRehber
JavaScript kapalıyken sayfanız boş mu? 2 dakikalık curl testi
Rues tarafından · Yayın: · Güncelleme:
Kaynaklar tarihinde kontrol edildi
Sayfanızın ana metni sunucudan gelen ilk HTML'de duruyorsa, JavaScript çalıştırmayan bir araç da onu okur. Çalıştırmıyorsa sayfa o araca boş görünebilir. Bunu curl komutuyla iki dakikada, kendi bilgisayarınızdan test edebilirsiniz.
Yapay zekâ botları JavaScript çalıştırır mı?
Resmî belgeler bu soruyu cevaplamıyor, bu yüzden "çalıştırır" ya da "çalıştırmaz" diye genel bir cümle kurulamaz.
| Kaynak | Ne diyor |
|---|---|
| Googlebot sayfaları sıraya alır ve sırası gelince bir Chromium ile JavaScript'i çalıştırarak işler. Aynı belge, sunucu tarafında ya da önceden üretilmiş sayfanın iyi bir fikir olduğunu, çünkü "tüm botlar JavaScript çalıştıramaz" dediğini yazıyor (son güncelleme 4 Mart 2026). | |
| OpenAI (OAI-SearchBot, GPTBot, ChatGPT-User) | Bot belgesi görevlerini ve robots.txt kullanımını anlatıyor. JavaScript çalıştırma hakkında bir cümle bulamadık. |
| Anthropic (ClaudeBot, Claude-User, Claude-SearchBot) | Destek sayfası botların ne için kullanıldığını anlatıyor. JavaScript hakkında bir cümle bulamadık. |
| Perplexity (PerplexityBot, Perplexity-User) | Bot belgesi görevleri ve IP listelerini anlatıyor. JavaScript hakkında bir cümle bulamadık. |
Bu belgeleri 20 Ekim 2026'da okuduk. Cümle bulamamak "çalıştırmıyorlar" demek değil; yalnız "yazmıyorlar" demek.
Üçüncü bir kaynak var: Vercel, kendi ağındaki trafiği ölçüp 17 Aralık 2024'te yayımladığı çalışmada OpenAI, Anthropic, Meta, ByteDance ve Perplexity tarayıcılarının JavaScript çalıştırmadığını yazdı. Aynı çalışma, Google'ın Gemini altyapısının ve Apple'ın tarayıcısının çalıştırdığını söylüyor. Bu bir şirketin kendi ağındaki ölçümü ve iki yıla yakın eski; bugün aynı olduğunu doğrulayamadık. Bu yüzden kural basit: ana metni JavaScript'e bırakmayın.
curl ile 2 dakikalık test nasıl yapılır?
curl, bir adresi tarayıcı olmadan çağırıp gelen cevabı olduğu gibi yazdıran bir komut satırı aracıdır. Yani tam olarak "JavaScript çalıştırmayan bir araç"ın göreceği şeyi gösterir. Aşağıdaki örneklerde sayfa kurgudur: "Örnek Mağaza" adlı iki deneme sayfası, birinde metin HTML'de, ötekinde JavaScript ile yazılıyor.
1. Sayfanızda uzun, ayırt edici bir cümle seçin. Örneğin "Siparişlerde kargo 500 TL ve üzerinde ücretsizdir."
2. Cümlenin bir parçasını ilk HTML'de aratın:
curl -s https://ornek.com/ | grep -c 'ücretsizdir'
grep -c eşleşen satır sayısını yazar. 1 ya da daha fazlası, cümle ilk HTML'de demektir. 0, ilk HTML'de yok demektir.
Metin ilk HTML'de olan deneme sayfasında (yerel bir sunucuda, 20 Ekim 2026'da gerçekten koştuk) çıktı:
1
Metni JavaScript ile yazan deneme sayfasında (aynı koşu) çıktı:
0
3. Başlık ve ana başlığa bakın:
curl -s https://ornek.com/ | grep -o '<title>[^<]*</title>'
curl -s https://ornek.com/ | grep -o '<h1[^>]*>[^<]*</h1>'
Metni HTML'de olan sayfa iki satırı da döndürdü. JavaScript ile yazan sayfa başlığı döndürdü (başlık HTML'deydi), ana başlığı döndürmedi.
4. Durum kodunu kontrol edin:
curl -s -o /dev/null -w '%{http_code}\n' https://ornek.com/
200 beklenir. 403 ya da 429 görüyorsanız güvenlik katmanı isteği kesiyordur; bu ayrı bir sorundur ve metnin görünmesinden önce çözülmelidir (Cloudflare gibi bir CDN botları engelliyor mu?).
Komutları yalnız kendi sitenizde çalıştırın.
Sonucu nasıl okursunuz?
| Gördüğünüz | Anlamı | Ne yapılır |
|---|---|---|
| Cümle ilk HTML'de çıkıyor | Ana metin sunucudan geliyor. JavaScript çalıştırmayan araçlar da okuyabilir. | Bir şey yapmayın. Diğer sayfalarda da deneyin. |
| Cümle çıkmıyor, ama tarayıcıda görünüyor | Metin sonradan JavaScript ile yazılıyor. | Ana metni sunucu tarafında üretin ya da sayfayı önceden üretin (pre-render). |
| Başlık var, ana metin yok | Sayfa kabuğu geliyor, içerik sonradan doluyor. | Aynı. Önce en önemli sayfalarda başlayın. |
| Hiçbir şey dönmüyor ya da 403 | İstek kesiliyor. | Önce erişimi açın. |
Bir not: bu test Google'ı değil, "JavaScript çalıştırmayan araç"ı taklit eder. Google JavaScript çalıştırır; ama kendi rehberi sunucu tarafı üretimin hem hız hem diğer botlar için iyi olduğunu söylüyor.
Bot gibi görünerek denemek işe yarar mı?
curl'e bir bot kimliği (user agent) verebilirsiniz. OpenAI'ın belgesinde OAI-SearchBot için yazılan kimlik dizesiyle:
curl -s -A 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot' https://ornek.com/ | grep -c 'ücretsizdir'
Bu yalnız kimliğe bakan kuralları sınar. Kimlik düz bir metindir, herkes yazabilir. Gerçek botlar belgelenmiş IP adreslerinden gelir ve güvenlik duvarları bunlara göre karar verebilir; kendi bilgisayarınızdan gelen istek bunu taklit etmez. Gerçek ziyareti görmek için sunucu günlüğü gerekir: AI botları sunucu günlüğünüzde.
Tarayıcıda JavaScript'i kapatarak da bakılır mı?
Evet, ama bu farklı bir test. Chrome'da DevTools açıkken komut menüsünü açıp "Disable JavaScript" seçeneğini çalıştırabilirsiniz (Chrome'un belgesi 2019 tarihli; menü adları değişmiş olabilir). Sayfa yenilenince boş kalıyorsa metin JavaScript'e bağlıdır. Fark: tarayıcı testi görünen sayfaya, curl testi sunucunun verdiği ilk cevaba bakar. İkincisi bot gibi davranan araçlara daha yakındır.
Hangi sayfalarda test etmelisiniz?
Hepsinde değil. Sırayla: ana sayfa, en çok kazandıran ürün ya da hizmet sayfası, en önemli üç rehber yazısı, fiyat sayfası. Her birinde bir cümle seçip aratın.
Ruescan, Rueseo'nun site tarayıcısıdır. 30 Türk sitesinin ana sayfasını ölçtüğümüz çalışmada "yok" demek sayfanın ilk HTML'inde bulamadık demekti; sonradan JavaScript ile eklenen bir şema ya da başlık görünmemiş olabilirdi (ölçümün ayrıntıları ve sınırları). Aynı sınır sizin kontrolünüz için de geçerli.
Sık sorulan sorular
Sitem React, Vue ya da başka bir JavaScript çatısıyla yazıldı, ne yapmalıyım?
Çatının sunucu tarafında üretim (SSR) ya da önceden üretim (statik üretim) seçeneğini açın ve yukarıdaki testi yeniden çalıştırın. Hangi ayarın gerektiği çatıya göre değişir; bu yazı onu anlatmıyor.
Metin ilk HTML'de var ama sayfa bota yine boş görünebilir mi?
Evet. Güvenlik duvarı ya da CDN isteği kesiyorsa bot sayfayı hiç göremez. Bu yüzden durum kodunu da kontrol edin.
Test sonucu "çıkıyor" ise yapay zekâ cevaplarında görüneceğim mi?
Hayır. Bu test yalnız metnin botun elinde olup olmadığını gösterir. Alıntılanıp alıntılanmayacağını belirlemez.
Fiyat ya da stok gibi sürekli değişen kısımlar JavaScript ile gelirse sorun mu?
Sayfanın ana anlamı ilk HTML'de duruyorsa, kullanıcıya özel ya da sürekli değişen küçük parçaların JavaScript ile gelmesi tek başına sorun olmaz. Ama fiyat sayfanın asıl bilgisiyse onu da ilk HTML'e koymanızı öneririz. Bu bizim önerimiz, bir belge hükmü değil.
Windows'ta da çalışır mı?
Komutların biçimi (özellikle grep ve tırnaklar) işletim sistemine göre değişir. Biz yalnız Linux terminalinde denedik; Windows için doğrulamadık.
Kaynaklar
Hepsi 20 Ekim 2026'da okundu.
- Google Search Central, JavaScript SEO temelleri (son güncelleme 4 Mart 2026): developers.google.com
- OpenAI, OpenAI tarayıcılarına genel bakış: developers.openai.com
- Anthropic, Anthropic web'den veri tarıyor mu ve site sahipleri nasıl engeller: support.claude.com
- Perplexity, tarayıcılar ve kullanıcı kimlikleri: docs.perplexity.ai
- Vercel, The rise of the AI crawler (17 Aralık 2024): vercel.com
- Chrome for Developers, Disable JavaScript (son güncelleme 31 Ocak 2019): developer.chrome.com
- Rueseo, 30 Türk sitesinin ana sayfa ölçümü (19 Ekim 2026): Türk siteleri yapay zekâya hazır mı?