Bu kılavuz, sayfanızı veya JavaScript destekli sayfalardaki belirli içerikleri Google Arama’da görünmekten alıkoyabilecek JavaScript sorunlarını tanımlamanıza ve düzeltmenize yardımcı olur.
Google Arama JavaScript çalıştırsa da, tarayıcıların içeriğinize nasıl eriştiğini ve içeriğinizi nasıl oluşturduğunu hesaba katarak sayfalarınızı ve uygulamalarınızı tasarlarken göz önünde bulundurmanız gereken bazı farklılıklar ve sınırlamalar vardır.
Bizim JavaScript SEO temelleri kılavuzumuz JavaScript sitenizi Google Arama için nasıl optimize edebileceğiniz hakkında daha fazla bilgi içerir.
Googlebot, web’in iyi bir vatandaşı olacak şekilde tasarlanmıştır. Tarama onun ana önceliğidir, bunu yaparken siteyi ziyaret eden kullanıcıların deneyimini düşürmediğinden emin olur.
Googlebot ve onun Web İşleme Hizmeti (WRS) bileşeni, temel sayfa içeriğine katkıda bulunmayan kaynakları sürekli olarak analiz eder ve tanımlar; bu tür kaynakları getirmeyebilir.
Örneğin, temel sayfa içeriğine katkıda bulunmayan raporlama ve hata istekleri ile diğer benzer istek türleri, temel sayfa içeriğini çıkarmak için kullanılmaz veya gereksizdir. İstemci tarafı analitiği, sitenizdeki Googlebot ve WRS etkinliğinin tam veya doğru bir temsilini sağlamayabilir.
Kullanın Google Search Console’daki tarama istatistikleri raporunu sitenizdeki Googlebot ve WRS etkinliğini ve geri bildirimlerini izlemek için.
JavaScript sorunlarının sayfanızı veya JavaScript destekli sayfalardaki belirli içerikleri Google Arama’da görünmekten alıkoyduğundan şüpheleniyorsanız, bu adımları izleyin. JavaScript’in ana neden olup olmadığından emin değilseniz, genel hata ayıklama kılavuzumuzu izleyerek sorunu belirleyin.
- Google’ın bir URL’yi nasıl taradığını ve oluşturduğunu test etmek için, şunu kullanın: Zengin Sonuçlar Testi veya URL Denetleme Aracı Search Console’da.
Yüklenen kaynakları, JavaScript konsolu çıktılarını ve istisnalarını, oluşturulan DOM’u ve daha fazla bilgiyi görebilirsiniz.İsteğe bağlı olarak, içeriğin nasıl oluşturulduğunu etkileyebilecek potansiyel sorunları belirlemek için sitenizde Googlebot dahil kullanıcıların karşılaştığı JavaScript hatalarını toplamanızı ve denetlemenizi de öneririz.
İşte global onerror işleyicisindegünlüğe kaydedilen JavaScript hatalarının nasıl günlüğe kaydedileceğini gösteren bir örnek. Bazı JavaScript hatası türlerinin (ayrıştırma hatası gibi) bu yöntemle günlüğe kaydedilemeyeceğini unutmayın. - Şunları önlediğinizden emin olun:
soft 404hataları. Tek sayfalık bir uygulamada (SPA), bu özellikle zor olabilir. Hata sayfalarının dizine eklenmesini önlemek için aşağıdaki stratejilerden birini veya her ikisini kullanabilirsiniz:- Sunucunun bir
404durum kodu ile yanıt verdiği bir URL’ye yönlendirin. - Şunu ekleyin veya değiştirin: robots
metaetiketinoindex.
Bir SPA, hataları işlemek için istemci tarafı JavaScript kullandığında, genellikle
200HTTP durum kodu yerine uygun durum kodubildirirler. Bu, hata sayfalarının dizine eklenmesine ve muhtemelen arama sonuçlarında gösterilmesine yol açabilir. - Sunucunun bir
- Googlebot’un kullanıcı izni isteklerini.
reddetmesini bekleyin. Kullanıcı izni gerektiren özellikler Googlebot veya tüm kullanıcılar için mantıklı değildir. Örneğin,Kamera API'sinizorunlu tutarsanız, Googlebot size bir kamera sağlayamaz.
Bunun yerine, kullanıcıların kamera erişimine izin vermeye zorlanmadan içeriğinize erişmelerinin bir yolunu sağlayın. - Farklı içerikleri yüklemek için URL parçalarını (fragments) kullanmayın.
Bir SPA, farklı görünümleri yüklemek için URL parçalarını (örneğin https://example.com/#/products) kullanabilir. AJAX tarama şeması 2015’ten beri kullanımdan kaldırılmıştır , bu nedenle Googlebot ile çalışmak için URL parçalarına güvenemezsiniz.
SPA’da URL’ye göre farklı içerik yüklemek için History API’sini kullanmanızı öneririz. - İçerik sunmak için veri kalıcılığına güvenmeyin.
WRS, her URL’yi yükler (Google’ın içeriği nasıl keşfettiğine dair genel bir bakış için Google Arama Nasıl Çalışır bölümüne bakın), tıpkı normal bir tarayıcı gibi sunucu ve istemci yönlendirmelerini takip eder.
Ancak, WRS sayfa yüklemeleri arasında durumu korumaz:- Yerel Depolama (Local Storage) ve Oturum Depolama (Session Storage) verileri sayfa yüklemeleri arasında temizlenir.
- HTTP Çerezleri sayfa yüklemeleri arasında temizlenir.
- Googlebot ile önbelleğe alma sorunlarını önlemek için içerik parmak izi (fingerprinting) kullanın.
Googlebot, ağ isteklerini ve kaynak kullanımını azaltmak için agresif bir şekilde önbelleğe alır. WRS, önbelleğe alma başlıklarını görmezden gelebilir. Bu, WRS’nin güncel olmayan JavaScript veya CSS kaynaklarını kullanmasına yol açabilir. İçerik parmak izi, içeriğin bir parmak izini dosya adının bir parçası yaparak bu sorunu önler, örneğin:main.2bb85551.js.
Parmak izi dosyanın içeriğine bağlıdır, bu nedenle güncellemeler her seferinde farklı bir dosya adı oluşturur. Daha fazla bilgi edinmek için uzun ömürlü önbelleğe alma stratejileri hakkındaki web.dev kılavuzuna göz atın. - Uygulamanızın ihtiyaç duyduğu tüm kritik API’ler için özellik algılama (feature detection) kullandığından emin olun ve uygulanabilir olduğunda bir geri dönüş davranışı veya polyfill sağlayın.
Bazı web özellikleri henüz tüm kullanıcı aracıları tarafından benimsenmemiş olabilir ve bazıları belirli özellikleri kasıtlı olarak devre dışı bırakabilir. Örneğin, tarayıcıda fotoğraf efektleri oluşturmak için WebGL kullanıyorsanız, özellik algılama Googlebot’un WebGL’i desteklemediğini gösterir.
Bunu düzeltmek için fotoğraf efektini atlayabilir veya içeriğinizi Googlebot dahil herkes için erişilebilir kılan fotoğraf efektlerini önceden oluşturmak için sunucu tarafı oluşturmayı (SSR) kullanmaya karar verebilirsiniz. - İçeriğinizin HTTP bağlantılarıyla çalıştığından emin olun.
Googlebot, sunucunuzdan içerik almak için HTTP isteklerini kullanır. Aşağıdakiler gibi diğer bağlantı türlerini desteklemez:WebSocketsveyaWebRTCbağlantıları.
Bu tür bağlantılarla ilgili sorunları önlemek için içerik almak üzere bir HTTP geri dönüşü sağladığınızdan ve sağlam hata işleme ile özellik algılama. - kullandığınızdan emin olun.
Web bileşenlerinizin beklendiği gibi oluşturulduğundan emin olun. Şunu kullanın: Zengin Sonuçlar Testi veya URL Denetleme Aracı
oluşturulan HTML’nin beklediğiniz tüm içeriğe sahip olup olmadığını kontrol etmek için. WRS, light DOM ve shadow DOM’u düzleştirir.
Kullandığınız web bileşenleri light DOM içeriği için<slot>mekanizmasını kullanmıyorsa , daha fazla bilgi için web bileşeninin belgelerine başvurun veya bunun yerine başka bir web bileşeni kullanın.
Daha fazla bilgi için bkz: web bileşenleri için en iyi uygulamalar. - JavaScript tabanlı bir ödeme duvarı (paywall) kullanıyorsanız, uygulamayı göz önünde bulundurun.
Bazı JavaScript ödeme duvarı çözümleri, tam içeriği sunucu yanıtına dahil eder, ardından abonelik durumu onaylanana kadar içeriği gizlemek için JavaScript kullanır. Bu, içeriğe erişimi sınırlamak için güvenilir bir yol değildir. Ödeme duvarınızın tam içeriği yalnızca abonelik durumu onaylandıktan sonra sağladığından emin olun. - Bu kontrol listesindeki öğeleri düzelttikten sonra sayfanızı şununla test edin: Zengin Sonuçlar Testi veya URL denetleme aracı Search Console’da tekrar.
Sorunu çözdüyseniz, yeşil bir onay işareti görünür ve hiçbir hata görüntülenmez. Hâlâ hata görüyorsanız, Search Central yardım topluluğunda.
Biz bunu nasıl uyguluyoruz
When a JavaScript site indexes badly, the cause is usually a blocked resource, a timeout or content injected after render. We work through those three in order instead of rewriting the application.
İlgili hizmetler