İçeriğe geç
ArchiLinks
ArchiLinksKaydol

JavaScript SEO: Bağlantılarınızın render işleminden sağ çıktığından emin olun

Google, JavaScript'i her zaman güncel olan bir Chromium ile render eder. Sorun genellikle render işlemiyle ilgili değildir. Sorun, asla bağlantıya dönüşmeyen linklerde ve tarayıcının erişemediği bir duruma bağlı kalan sayfalardadır.

ArchiLinks araştırma ekibi ·

Bağlantı hayatta kalmasını temsil eden taş temellerden cam yapılara köprü

Bir tarayıcının gördükleri

Googlebot, Mayıs 2019'dan beri her zaman güncel bir Chromium kullanıyor. Bu, modern JavaScript'i çalıştırıp çalıştıramayacağı sorusunu çözmüştür.

Pratik riskler daha eskidir: Render işlemi taramadan sonra gerçekleşir ve gecikebilir, tıklamaların veya girişlerin arkasındaki içerik görünmez ve bir div üzerindeki onclick işleyicisinden oluşturulan bir bağlantı bir bağlantı değildir. Siteyi yeni bir React ön yüzüne taşıdığınız sayfalardaki geri bağlantıları kontrol etmeden önce, bu sayfaların içeriklerini ham yanıtta veya render edilmiş HTML'de gösterip göstermediğini doğrulayın.

SSR, SSG, CSR: Bağlantılar için neler değişiyor

Yaklaşımİlk yanıtta içerikBağlantı olarak iç bağlantılarİyi olduğu durumlar
SSR (Next.js, Nuxt)EvetEvet, gerçek bağlantılar kullanırsanızDeğişen veriler içeren genel sayfalar
SSG veya ön renderEvetEvetDokümantasyon, bloglar, pazarlama sayfaları
CSR tek sayfalık uygulamaHayır, boş kabukSadece render işleminden sonraGiriş gerektiren paneller
Hibrit (SSR ana sayfa, CSR uygulama)Her rota içinHer rota içinGenel bir yüzü olan çoğu ürün

Test 1: Ham HTML ile render edilmiş HTML karşılaştırması

Ana bağlantılar ilk yanıtta görünüyorsa, sorun kapanır. Görünmüyorsa, headless bir render ile karşılaştırın.

bash
# raw response: are the links there?
curl -s https://new-shop.com/guides/ | grep -o '<a [^>]*href="[^"]*"' | head -20

# rendered DOM with headless Chrome
chrome --headless --dump-dom https://new-shop.com/guides/ | grep -c '<a '
Dış geri bağlantı sağlık kontrollerini temsil eden bir bahçıvan

Dış bağlantılar nasıl gelir

Bir render hatası içeriğinizi gizler. Diğer sitelerin zaten size verdiği bağlantıları silmez.

Next.js, Vite veya headless bir CMS'ye geçişten sonra, ana makine için toppages komutunu çalıştırın ve en çok bağlantı alan 20 URL'nin durumunu, canonical'ını ve görünür içeriğini test edin. Bunu ilk yapın. 40 bağlantı alan bir sayfa boş bir kabuk veya istemci tarafı 404 döndürüyorsa, otoritenizin nereye hitap ettiğini bildiğiniz için başka hiçbir şeyden önce bunu düzeltin. İç ve dış bağışkı sayfası, bu listeyi iç bağlantılarınızla nasıl karşılaştıracağınızı gösterir ve geçiş kontrol listesi testi bir lansman planının içine yerleştirir.

Çerçeveler disiplinden daha az önemlidir. Şablon motoru ile Express, bir WordPress teması ve bir Next.js uygulama yönlendiricisi hepsi taranabilir bağlantılar sunabilir. Her biri de bir ekip, bağlantıları tıklamadan sonra yalnızca var olan şekilde gönderirse başarısız olabilir.

Bağlantı ve render kontrol listesi

  • Navigasyon ve sayfalama <a href> kullanır, diğer öğelerdeki tıklama işleyicilerini değil.
  • Her rota gerçek bir durum kodu döndürür. Yumuşak 404 ekranları 404 döndürmelidir.
  • JavaScript tarafından enjekte edilen noindex veya canonical, sunucu yanıtındakine uymalıdır.
  • İlk yanfttaki yedek içerik gerçek sayfadır, Google'ın indeksleyebileceği bir dönen simge değil.
  • Kimlik doğrulama kodu genel rotalarda tarayıcıları yönlendirmez.
  • Render için gerekli CSS ve JS dosyaları robots.txt'de engellenmemiştir.
  • Yavaş yükleme IntersectionObserver veya yerel yükleme öznitelikleri kullanır, kaydırma olaylarını değil.

Arama Konsolu kanıtlarını okuma

Arama Konsolu, doğru raporu sorarsa çoğu render sorununu yanıtlar. URL Denetimi'ni kullanın, ardından Taranan Sayfa'yı görüntüleyin.

Üç şeyi karşılaştırın: Google'ın getirdiği HTML, ekran görüntüsü ve yüklenemeyen sayfa kaynakları. Tarayıcınızda tam görünen ancak ekran görüntüsünde boş olan bir sayfa genellikle bir betik hatası veya engellenen bir kaynak nedeniyle engellenir ve düzeltme içeriğinizde değil, derlemenizde yer alır.

Gecikmeyi unutmayın. Bugün yayınladığınız bir değişiklik, Google URL'yi yeniden taramadan önce denetim aracında yalnızca günler sonra görünür.

SSR ne zaman değerlidir

Sıralama yapması gereken genel sayfalar: evet. Paneller: hayır.

Bir rota organik trafik çekmeliyse, içeriği ilk yanıtta sunun. Giriş gerektiriyorsa karmaşıklıktan kaçının. Rota başına seçin, proje başına değil ve kararı belgeleyin ki bir sonraki geliştirici bunu bozmasın.

  • Render edilmiş çıktıyı karşılaştırmak için Zengin Sonuçlar testini ve URL Denetimi'ni kullanın.
  • Her çerçeve yükseltmesinden sonra Arama Konsolu canlı testini kullanarak test edin.
Ön render ile istemci taraflı render'ı gösteren bir tepedeki iki ev

Sunucu render'ı gerekli mi, yoksa ön render yeterli mi?

Sunucu render'ı isteğe bağlıdır. İlk yanfın bir tarayıcının ihtiyaç duyduğu içeriği taşımasını sağlayan bir yoldur. Birçok genel site, ön render, statik bir derleme veya önemli sayfalar için sunucu render'ı ile bu sonuca ulaşır ve giriş gerektiren kısımları olduğu gibi bırakır.

Ürün sayfalarınız ve dokümantasyonunuz genelken, panelin giriş gerektirdiğini varsayın. İlk grubu ön render edin. Paneli istemci tarafında bırakın. Böylece genel sayfalar bağlantılarını ilk yanıtta taşır ve panel ihtiyacı olduğu kadar karmaşık kalabilir.

Yalnızca ana sayfanın ön render'ı

Ana sayfanın ön render'ı ilk taramayı çözer, ancak diğer tüm rotaları tarayıcıya bekletir. Ana sayfa istemci taraflı kategorilere link veriyorsa, bu sayfalardaki bağlantılar hala render'a bağlıdır. Sadece giriş kapısını değil, sahip olduğunuz her şablonu kontrol edin.

Genel rotaların ve render yöntemlerinin kısa bir listesini tutun. Bu liste, bir tarama raporundan daha hızlı boşlukları gösterecektir.

Sunucu render'ı yerel görünürlüğü değiştiriyor mu

Sunucu render'ı ilk içeriğin ne kadar hızlı göründüğünü değiştirebilir ve okuyucular bunu hisseder. Bir sayfayı yerel bir sorgu için uygun kılmaz. Bu sinyaller sayfa içeriğinden, işletme detaylarından ve sayfaya yönlendiren bağlantılardan gelir.

Render'ı bu sinyallerin bir tarayıcı tarafından okunabilir hale gelme yolu olarak ele alın ve bağlantıları API ile ayrı olarak ölçün.

Tek kabuk sunan Vite ve React uygulamaları

Her yol için tek bir HTML kabuğu sunan bir Vite derlemesi, tüm işi istemciye bırakır. Böyle bir uygulama bazı sorgular için hala sıralanabilir, ancak her genel rota için bir plana ihtiyaç vardır: ön render yapın, sunucuda render yapın veya kaybı kabul edin ve bunu yazın.

Yeniden derleme sonrası rotalardaki geri bağlantıları kontrol etmeden önce, her genel rotanın içeriğini nasıl alacağınıza karar verin. Aksi takdirde link verisi, dış bağlantıların içi boş sayfalara düştüğünü gösterecektir.

Bir rotanın bağlantılarını gösterip göstermediğini test etme

İki test çoğu soruyu yanıtlar. Ham yanıt, herhangi bir betik çalışmadan önce bir tarayıcının ne aldığını gösterir. Render edilmiş DOM, bir tarayıcının sonrasında ne oluşturduğunu gösterir. Yalnızca ikincide görünen bir bağlantı hala bir bağlantıdır, ancak render'ın iyi gitmesine bağlıdır.

Arama Konsolu'ndaki canlı testi okuma

URL Denetimi'nden canlı testi rota başına çalıştırın. Render edilmiş HTML'ye bakın, ardından yüklenemeyen kaynaklar listesine bakın. Engellenen bir betik tüm bir navigasyon bloğunu silebilir ve sayfa görünür bir hata göstermeden ince görünür.

Çerçeve yükseltmesinden sonra testi tekrarlayın, çünkü yeni bir varsayılan, bağlantıların bir betik çalışmadan önce mi yoksa sonra mı render edileceğini değiştirebilir. İndekslenmeyen sayfalar kılavuzu, render edilmiş bir sayfanın hala dışarıda kalması durumunda ne yapılacağını kapsar.

Bir rota render edildiğinde ancak içerik bir dönen simge olduğunda

İlk yanfttaki yedek içerik, çoğu ekibin beklediğinden daha önemlidir. Bir dönen simge veya boş bir kapsayıcı, sayfanın o anda tarayıcı için hiçbir metin taşımadığı anlamına gelir. Başlık, giriş ve ana bağlantıları ilk yanıtta koyun, detaylı bir liste daha sonra yüklense bile.

Gerçek sayfa olan bir yedek basit kalabilir. Tek işi, geri kalanı gelene kadar içeriği tutmaktır.

İstemci taraflı bir siteyi bağlantılarını kaybetmeden taşıma

01

Dış bağlantısı olan rotaları listeleyin

Ana makine için toppages çalıştırın ve en çok bağlantı alan 50 URL'yi not edin. Kod değişikliklerinden önce bu rotaları test edin, böylece yeniden derlemenin neyi koruması gerektiğini bilin.

02

Ham ve render edilmiş çıktıyı karşılaştırın

Her rota için eski ve yeni derlemede ham HTML'yi ve render edilmiş DOM'u kontrol edin. Birinde var olan ancak diğerinde olmayan herhangi bir bağlantıyı not edin.

03

Tıklama işleyicilerini bağlantılarla değiştirin

Navigasyonu gerçek bir adresle gerçek bağlantılara dönüştürün. Hız işi bir sprint için bekleyebilir, ancak eksik bir bağlantı rotanın siteye giriş yolunu kaybettirir.

04

Yayından sonra testi tekrarlayın

Yayından bir hafta sonra, aynı rotalarda canlı testi çalıştırın ve sonuçları öncekilerle karşılaştırın. Farklılıklar, yeniden derlemenin çıktıyı nerede değiştirdiğini gösterir.

İstemci taraflı bir uygulamada durum kodları ve yönlendirmeler

Tek sayfalık bir uygulama genellikle bulunamadı ekranı gösterirken sunucu 200 durumunu döndürür. Google böyle bir sayfayı yumuşak 404 olarak değerlendirebilir ve eksik URL'ye指向 dış bağlantılar size pek fayda sağlamaz. Düzeltme sunucuda olmalıdır.

Hala 200 döndüren bilinmeyen rotalar

Var olmayan herhangi bir rota için sunucudan gerçek bir 404 döndürün ve istemci taraflı bir rota ile gelen ziyaretçiler için uygulama içi bulunamadı ekranını koruyun. Bir yer değiştirme varsa, bunun yerine 301 gönderin.

Her yayından sonra canlı ana makinede birkaç uydurma adresi kontrol edin. Okunması gereken şey yanıt kodudur, tarayıcıda gördüğünüz sayfa değil.

Tarayıcıda çalışan yönlendirmeler

Sayfa yüklendikten sonra tetiklenen bir yönlendirme (örneğin bir bileşen içinde bir URL parametresi okuyarak), bir sunucu yönlendirmesinden farklı bir şeydir. Bir tarayıcı, yönlendirme çalışmadan önce ilk yanıtı indeksleyebilir. Bir rota kalıcı olarak taşındıysa, sunucudan 301 döndürün ve içeriği değiştiren parametreleri koruyun. Yönlendirme haritası tarifi, bu kuralları nasıl test edeceğinizi gösterir.