Tek sayfalı uygulamalardaki (SPA) Google Search Console kapsam hataları, genellikle gecikmiş JavaScript yürütmesinden, istemci tarafı yönlendirme hatalarından veya Googlebot’un ilk HTTP isteği sırasında oluşturulmamış DOM içeriğinden kaynaklanır. SPA’lar içeriği dinamik olarak doldurmak için istemci tarafı komut dosyalarına güvendiğinden, gecikmiş API yanıtları veya eksik sunucu tarafı ön oluşturma, sayfaların Sayfa Dizine Ekleme raporunda ‘Keşfedildi – şu anda dizine eklenmedi’ veya ‘Soft 404’ olarak işaretlenmesine neden olur.
Tek Sayfalı Uygulamalar Neden Kapsam Hatalarını Tetikler?
React, Vue veya Angular gibi çerçevelerle oluşturulan tek sayfalı uygulamalar, içeriği tarayıcı içinde istemci tarafı JavaScript komut dosyalarını kullanarak oluşturur. Googlebot standart bir çok sayfalı siteyi ziyaret ettiğinde, sunucu tam metni, başlık etiketlerini ve dahili bağlantı yapısını içeren bir ilk HTML belgesi döndürür. Buna karşılık, tamamen istemci tarafından oluşturulan uygulamalar, paket bağlantılarıyla birlikte minimum işaretleme içeren iskelet bir HTML kabuğu döndürür.

Googlebot web sayfalarını belirgin bir iki aşamalı boru hattı aracılığıyla işler. İlk olarak, tarayıcı meta verileri ve bağlantıları çıkarmak için ham HTML yanıtlarını ayrıştırır. İkinci olarak, kaynaklar kullanılabilir olduğunda, Web Oluşturma Hizmeti, tam Belge Nesne Modelini (DOM) birleştirmek için JavaScript kodunu yürütür. İlk tarama ile gerçek oluşturma arasındaki zaman gecikmeleri genellikle dizine ekleme boşlukları yaratır. Dinamik yolların hidratasyonu çok uzun sürerse veya yürütme hatalarıyla karşılaşırsa, arama tarayıcıları boş DOM düğümlerini günlüğe kaydeder.
Ağ zaman aşımı sınırları da dizine ekleme sorunları oluşturmada doğrudan bir rol oynar. Ürün kataloğunuzu veya editoryal metninizi destekleyen bir dahili API isteği, tarayıcı yürütme sırasında beş saniyeden uzun sürerse, oluşturma motoru içerik DOM’a girmeden önce beklemeyi durdurabilir. Sonuç olarak, arama motorları sayfayı boş bir düzen veya geçici bir yer tutucu olarak görür ve Search Console içinde hata durumları atar.
Search Console’daki En Yaygın SPA Dizine Ekleme Hataları Nelerdir?
Search Console içindeki Sayfa Dizine Ekleme raporu, URL’leri tarama bulgularına göre açık kategorilerde gruplandırır. İstemci tarafı oluşturma mekanizmalarının belirli uyarı mesajlarını nasıl tetiklediğini anlamak, ekiplerin teknik kök nedenleri verimli bir şekilde teşhis etmesine yardımcı olur.

- Keşfedildi – şu anda dizine eklenmedi: Google, site haritaları veya gelen bağlantılar aracılığıyla hedef URL’nin var olduğunu bilir, ancak ana bilgisayar yükü sınırları veya tarama kuyrukları nedeniyle oluşturmayı ertelemiştir.
- Tarandı – şu anda dizine eklenmedi: Googlebot URL’yi başarıyla getirdi ve oluşturdu, ancak ortaya çıkan DOM’un yeterli benzersiz metin içeriğinden yoksun olduğunu belirledi, bu genellikle boş şablon kabuklarından kaynaklanır.
- Soft 404: Oluşturulan istemci sayfası, web sunucusundan gerçek bir 404 HTTP durum başlığı döndürmeden ziyaretçilere bir hata durumu veya eksik içerik mesajı gösterir.
- Kullanıcı tarafından seçilen kanonik olmayan kopya: Dinamik uygulama yolları veya karma parça yolları, açık kanonik bağlantı başlıkları olmadan aynı düzen görünümleri oluşturur.
- robots.txt tarafından engellendi: İstemci hidratasyonu için gereken kritik komut dosyası paketleri, uygulama kitaplıkları veya arka uç API uç noktaları, robots.txt dosyası kuralları tarafından kısıtlanmıştır.
Geliştiriciler JavaScript Oluşturma Gecikmelerini Nasıl Teşhis Edebilir?
Dizin kapsamı raporu, Google’ın web sitenizde dizine eklediği veya dizine eklemeye çalıştığı tüm sayfaların bir özetini verir.
Google Search Central
SPA dizine ekleme sorunlarını ayıklamak, ham sunucu yanıtlarını oluşturulan DOM çıktılarıyla karşılaştırmayı gerektirir. Search Console, Googlebot’un belirli uygulama yollarını nasıl işlediğini tam olarak simüle etmek için URL Denetleme Aracını sağlar. Bir hedef yol girmek, hem sunucu tarafından sağlanan HTML kodunu hem de çalışma zamanı komut dosyası uyarılarıyla birlikte oluşturulan DOM görünümünü görüntüler.
URL Denetleme içindeki oluşturulan HTML sekmesi eksik başlık etiketleri veya boş kapsayıcı öğeleri gösteriyorsa, sayfanız işlenmemiş asenkron isteklere dayanıyor demektir. Bu sorunu yerel olarak Chrome DevTools’ta kısıtlanmış ağ ayarları altında çoğaltabilirsiniz. Yavaş bir 3G bağlantısını simüle etmek, otomatik tarama sırasında oluşturma zaman aşımlarını tetikleyen yavaş API uç noktalarını vurgular.
Üçüncü taraf komut dosyası etiketleri genellikle içerik hidratasyonunu geciktirir. Ana içerik bileşenlerinden önce yürütülen ağır pazarlama etiketleri, sohbet widget’ları veya müşteri izleme komut dosyaları tarayıcı CPU döngülerini tüketir. Komut dosyası yükleme sıranızı yeniden yapılandırmak, temel sayfa öğelerinin ikincil araçlar yürütülmeden önce oluşturulmasını sağlar.
Hangi adımlar SPA Tarama ve Dizine Ekleme Engelleyicilerini çözer?
Tek sayfalı uygulamalardaki kapsam hatalarını çözmek, HTTP isteği başlatıldığında doğrudan tam olarak doldurulmuş HTML yapılarına hizmet etmeyi gerektirir, bu da asenkron istemci yürütmeye olan bağımlılığı azaltır.
- Sunucu Tarafı Oluşturma (SSR) veya Statik Site Oluşturma (SSG) uygulayın: Modern web çerçeveleri, tam HTML belgelerini sunucuda oluşturarak arama motorlarının tam okunabilir içeriği hemen almasını sağlar.
- Dinamik Oluşturma Çözümleri Dağıtın: Tam mimari geçişi pratik değilse, arama tarayıcılarını algılamak ve önceden oluşturulmuş statik HTML anlık görüntüleri sunmak için bir ön oluşturma ara yazılımı uygulayın.
- Standart HTTP Durum Kodlarını döndürün: Sayfa yolları başarısız olduğunda gerçek 404 veya 410 başlıkları çıkarmak için istemci yönlendiricilerini ve arka uç ağ geçitlerini yapılandırın, böylece soft 404 hatalarından kaçının.
- robots.txt’de Varlıklara Erişime izin verin: robots kurallarının CSS stil sayfalarını, ana JavaScript paketlerini veya sayfa montajı için gereken genel veri uç noktalarını engellemediğini doğrulayın.
- Mutlak Kanonik Başlık Etiketlerini tanımlayın: İstemci tarafı DOM manipülasyonu yoluyla daha sonra eklemek yerine, ilk HTML yanıt başlıklarına statik, mutlak kanonik bağlantılar ekleyin.
Alien Road SPA Hata Ayıklamasını Müşteri Projelerinde Nasıl Uyguluyor?
Alien Road’da, mühendislik ekibimiz kurumsal müşteri platformlarında tek sayfalı uygulama kapsam uyarılarını belirlemek ve çözmek için yapılandırılmış dört aşamalı bir iş akışını izler.
İlk keşif aşamasında, tam URL listelerini doğrudan Search Console’dan çekiyoruz ve kapsam hatalarını yol şablonuna göre gruplandırıyoruz. Tarama istatistiklerini sunucu günlüğü kayıtlarıyla çapraz referanslayarak oluşturma gecikmelerinin dizine ekleme hızını nerede etkilediğini izole ediyoruz.
Kurulum aşamasında, ilk ham HTML’yi doldurulmuş istemci DOM ağaçlarıyla karşılaştıran başsız tarayıcı testleri çalıştırıyoruz. API yükleme performansını ölçüyor, open graph etiketlerini doğruluyor ve tarayıcı etkileşimi gerçekleşmeden önce yapılandırılmış meta veri çıktılarının doğru olduğundan emin oluyoruz.
Uygulama sırasında, yol düzeyinde sunucu ön oluşturmayı yapılandırma, kanonik başlıkları standartlaştırma ve robots.txt içindeki kaynak erişim kurallarını ayarlama gibi hedeflenmiş düzeltmeler uyguluyoruz. Search Console URL Denetleme API’sini kullanarak test URL kümeleri genelindeki değişiklikleri doğruluyoruz.
Devam eden raporlama aşamasında, dizine eklenen sayfa yüzdelerini ve organik arama gösterimlerini özel izleme panolarında takip ediyoruz. Ana bilgisayar durumu ölçümlerinin düzenli incelemeleri, arama motoru tarayıcılarının yeni uygulama yollarını beklenmedik darboğazlar olmadan dizine eklemeye devam etmesini sağlar.
Bu Hafta Nereden Başlamalı?
Denetiminize Google Search Console’a giriş yaparak ve Sayfa Dizine Ekleme bölümünü kontrol ederek başlayın. Tekrarlayan kalıp eğilimlerini ortaya çıkarmak için uyarıları özellikle ‘Keşfedildi – şu anda dizine eklenmedi’ ve ‘Tarandı – şu anda dizine eklenmedi’ için filtreleyin.
Her hata kategorisinden beş anahtar URL seçin ve URL Denetleme içindeki Canlı Test aracını kullanarak bunları test edin. Oluşturulan ekran görüntüsünü ve DOM ağacını canlı tarayıcı deneyiminizle karşılaştırın. Test DOM’unda anahtar metin blokları veya ürün bileşenleri eksikse, bu belirli yollar için sunucu tarafı oluşturma veya statik ön oluşturma ayarlamaya hemen öncelik verin.