İmzalanmış Takasları Kullanarak LCP'yi Optimize Etme

İmzalı exchange'lerden en iyi şekilde yararlanmak için bunları ölçme ve optimize etme

Devin Mullins
Devin Mullins

İmzalı exchange'ler (SXG'ler), sayfa hızınızı (özellikle Largest Contentful Paint (LCP)) iyileştirmenin bir yoludur. Yönlendiren siteler (şu anda Google Arama), bir sayfaya bağlantı verirken kullanıcı bağlantıyı tıklamadan önce sayfayı tarayıcı önbelleğine ön besleyebilir.

Önceden getirildiğinde sayfayı oluşturmanın kritik yolunda ağ bağlantısı gerektirmeyen web sayfaları oluşturabilirsiniz. 4G bağlantısında bu sayfanın yüklenmesi 2,8 saniyeden 0,9 saniyeye düşer (kalan 0,9 saniye çoğunlukla CPU kullanımıyla ilgilidir):

Günümüzde SXG yayınlayan çoğu kullanıcı, Cloudflare'ın kullanımı kolay otomatik imzalı takas (ASX) özelliğini kullanıyor (açık kaynak seçenekleri de mevcuttur):

Otomatik Olarak İmzalı Değişimler'i etkinleştirmek için onay kutusunun bulunduğu Cloudflare ayarlar paneli

Çoğu durumda, bu özelliği etkinleştirmek için kutuyu işaretlemek, yukarıda gösterilen türde önemli bir iyileştirme elde etmek için yeterlidir. Bazen bu SXG'lerin ardışık düzenin her aşamasında amaçlandığı gibi çalıştığından emin olmak ve sayfaları ön getirme özelliğinden tam olarak yararlanacak şekilde optimize etmek için birkaç adım daha uygulamanız gerekir.

Cloudflare'ın kullanıma sunulmasından bu yana geçen birkaç ay içinde, çeşitli forumlarda soruları okuyup yanıtladım ve sitelere SXG dağıtımlarından en iyi şekilde nasıl yararlanacakları konusunda nasıl tavsiyede bulunacağımı öğrendim. Bu yayın, verdiğimiz tavsiyelerin bir derlemesidir. Aşağıdaki adımları uygulayarak:

Giriş

SXG, bir URL, bir HTTP yanıtı üstbilgisi grubu ve bir yanıt gövdesi içeren bir dosyadır. Bunların tümü bir Web PKI sertifikası tarafından kriptografik olarak imzalanmıştır. Tarayıcı bir SXG yüklediğinde aşağıdakilerin tümünü doğrular:

  • SXG'nin süresi dolmamış olmalıdır.
  • İmza, URL, üstbilgiler, gövde ve sertifikayla eşleşiyor.
  • Sertifika geçerli ve URL ile eşleşiyor.

Doğrulama başarısız olursa tarayıcı SXG'yi bırakır ve bunun yerine imzalı URL'yi getirir. Doğrulama başarılı olursa tarayıcı, imzalı yanıtı doğrudan imzalı URL'den gelmiş gibi ele alarak yükler. Bu sayede, imzalandıktan sonra süresi dolmamış veya değiştirilmemiş SXG'ler herhangi bir sunucuda yeniden barındırılabilir.

Google Arama'da SXG, arama sonuçlarındaki sayfaların önceden getirilmesini etkinleştirir. Google Arama, SXG'leri destekleyen sayfaların webpkgcache.com'da barındırılan önbelleğe alınmış kopyasını önceden alabilir. Tarayıcı, orijinal, imzalı URL'ye saygı gösterdiğinden bu webpkgcache.com URL'leri sayfanın görüntülenmesini veya davranışını etkilemez. Önceden getirme, sayfanızın çok daha hızlı yüklenmesini sağlayabilir.

Analiz et

SXG'lerin avantajını görmek için SXG performansını tekrarlanabilir koşullarda analiz etmek üzere bir laboratuvar aracı kullanmaya başlayın. Şelaleleri ve LCP'yi SXG ön getirme ile ve ön getirme olmadan karşılaştırmak için WebPageTest'i kullanabilirsiniz.

Aşağıdaki gibi SXG içermeyen bir test oluşturun:

  • WebPageTest'e gidin ve oturum açın. Oturum açarak test geçmişinizi kaydedebilirsiniz. Böylece, daha sonra karşılaştırma yapabilirsiniz.
  • Test etmek istediğiniz URL'yi girin.
  • Gelişmiş Yapılandırma'ya gidin. (SXG testi için Gelişmiş Yapılandırma'ya ihtiyacınız olacağından, burada kullanmak test seçeneklerinin aynı olmasını sağlar.)
  • Test Ayarları sekmesinde, Bağlantı'yı 4G olarak ayarlamak ve "Çalıştırılacak Test Sayısı"nı 7'ye çıkarmak faydalı olabilir.
  • Testi başlat'ı tıklayın.

Yukarıdakilerle aynı adımları uygulayarak SXG ile bir test oluşturun ancak Testi Başlat'ı tıklamadan önce Komut Dosyası sekmesine gidin, aşağıdaki WebPageTest komut dosyasını yapıştırın ve iki navigate URL'sini talimatlara göre değiştirin:

// Disable log collection for the first step. We only want the waterfall for the target navigation.
logData 0

// Visit a search result page that includes your page.
navigate https://google.com/search?q=site%3Asigned-exchange-testing.dev+image

// Wait for the prefetch to succeed.
sleep 10

// Re-enable log collection.
logData 1

// Navigate to the prefetched SXG on the Google SXG Cache.
navigate https://signed--exchange--testing-dev.webpkgcache.com/doc/-/s/signed-exchange-testing.dev/sxgs/valid-image-subresource.html

İlk navigate URL'si için sayfanız henüz herhangi bir Google Arama sonucunda görünmüyorsa bu amaçla sahte bir arama sonuçları sayfası oluşturmak için bu ön getirme sayfasını kullanabilirsiniz.

İkinci navigate URL'sini belirlemek için SXG Validator Chrome uzantısını kullanarak sayfanızı ziyaret edin ve önbellek URL'sini görmek için uzantı simgesini tıklayın:

URL dahil önbellek bilgilerini gösteren SXG Validator

Bu testler tamamlandıktan sonra Test Geçmişi'ne gidin, iki testi seçin ve Karşılaştır'ı tıklayın:

İki testin işaretlendiği ve Karşılaştır düğmesinin vurgulandığı Test Geçmişi

WebPageTest'in karşılaştırmanın her iki tarafı için de ortalama LCP'ye sahip çalıştırmayı seçmesi amacıyla karşılaştırma URL'sine &medianMetric=LCP ekleyin. (Varsayılan değer, Hız Dizini'ne göre medyan değerdir.)

Şelaleleri karşılaştırmak için Şelale Şeffaflığı bölümünü genişletin ve kaydırma çubuğunu sürükleyin. Videoyu görüntülemek için Film Şeridi Ayarlarını Düzenle'yi tıklayın, bu iletişim kutusunda aşağı kaydırın ve Videoyu Görüntüle'yi tıklayın.

SXG ön getirme işlemi başarılı olursa "SXG ile" şelalesinin HTML için bir satır içermediğini ve alt kaynakların getirilmesinin daha erken başladığını görürsünüz. Örneğin, burada "Önce" ve "Sonra"yı karşılaştırın:

SXG ön getirme olmadan ağ şelalesi; ilk satır, 1050 ms süren HTML getirme işlemidir SXG ön getirme özelliğine sahip ağ şelalesi; HTML ön getirildiği için tüm alt kaynakların 1.050 ms daha erken getirilmesine olanak tanır

Hata Ayıklama

WebPageTest, SXG'nin önceden getirildiğini gösteriyorsa ardışık düzenin tüm adımlarında başarılı olmuştur. LCP'yi nasıl daha da iyileştireceğinizi öğrenmek için Optimizasyon bölümüne atlayabilirsiniz. Aksi takdirde, hatanın nerede ve neden oluştuğunu öğrenmeniz gerekir. Bunu nasıl yapacağınızı öğrenmek için okumaya devam edin.

Yayıncılık

Sayfalarınızın SXG olarak oluşturulduğundan emin olun. Bunun için bir tarayıcı gibi davranmanız gerekir. En kolay yol, SXG Validator Chrome uzantısını kullanmaktır:

Onay işareti (✅) ve application/signed-exchange;v=b3 içerik türünü gösteren SXG Doğrulayıcı

Uzantı, SXG sürümünü tercih ettiğini belirten bir Accept istek başlığıyla mevcut URL'yi getirir. Kaynak'ın yanında onay işareti (✅) varsa bir SXG döndürülmüştür. Dizine ekleme bölümüne atlayabilirsiniz.

X işareti (❌) görürseniz SXG döndürülmemiş demektir:

Çapraz işaret (❌) ve metin/html içerik türünü gösteren SXG Doğrulayıcı

Cloudflare ASX etkinse çarpı işaretinin (❌) nedeni büyük olasılıkla bir önbellek denetimi yanıt üst bilgisinin bunu engellemesidir. ASX, aşağıdaki adlara sahip üstbilgileri inceler:

  • Cache-Control
  • CDN-Cache-Control
  • Surrogate-Control
  • Cloudflare-CDN-Cache-Control

Bu üst başlıklardan herhangi biri aşağıdaki üst başlık değerlerinden herhangi birini içeriyorsa SXG oluşturulamaz:

  • private
  • no-store
  • no-cache
  • 120'den büyük veya eşit s-maxage tarafından geçersiz kılınmadığı sürece max-age 120'den küçük

SXG'ler birden fazla ziyaret ve birden fazla ziyaretçi için önbelleğe alınabilir ve yeniden kullanılabilir. Bu nedenle ASX bu durumlarda SXG oluşturmaz.

X işaretinin (❌) bir diğer olası nedeni, Set-Cookie hariç bu durum bilgisi içeren yanıt üst bilgilerinden birinin bulunmasıdır. ASX, SXG spesifikasyonuna uymak için Set-Cookie üst bilgisini kaldırır.

Diğer bir olası neden, Vary: Cookie yanıt başlığının bulunmasıdır. Googlebot, SXG'leri kullanıcı kimlik bilgileri olmadan getirir ve birden fazla ziyaretçiye sunabilir. Farklı kullanıcılara çerezlerine göre farklı HTML sunarsanız kullanıcılar, çıkış yapılmış bir görünüm gibi yanlış bir deneyim görebilir.

Chrome uzantısına alternatif olarak curl gibi bir araç kullanabilirsiniz:

curl -siH "Accept: application/signed-exchange;v=b3" $URL | less

veya dump-signedexchange:

dump-signedexchange -verify -uri $URL

SXG mevcutsa ve geçerliyse SXG'nin kullanıcı tarafından okunabilir bir çıktısını görürsünüz. Aksi takdirde bir hata mesajı görürsünüz.

Dizine ekleme

SXG'lerinizin Google Arama tarafından başarıyla dizine eklendiğinden emin olun. Chrome Geliştirici Araçları'nı açın ve ardından sayfanız için Google Arama'yı kullanın. SXG olarak dizine eklendiyse Google'ın sayfanıza yönlendiren bağlantısı, webpkgcache.com'un kopyasını işaret eden bir data-sxg-url içerir:

webpkgcache.com'u işaret eden bir sabit etiket gösteren DevTools'un bulunduğu Google Arama sonuçları

Google Arama, kullanıcının sonucu tıklama olasılığının yüksek olduğunu düşünürse sonucu ön beslemeyi de yapar:

webpkgcache.com için rel=prefetch içeren bir bağlantı gösteren DevTools ile Google Arama sonuçları

<link> öğesi, tarayıcıya SXG'yi önceden getirme önbelleği içine indirmesini söyler. Kullanıcı <a> öğesini tıkladığında tarayıcı, sayfayı oluşturmak için bu önbelleğe alınmış SXG'yi kullanır.

DevTools'taki Ağ sekmesine gidip webpkgcache içeren URL'leri arayarak da ön getirmenin kanıtını görebilirsiniz.

<a> webpkgcache.com adresini gösteriyorsa imzalanan exchange'in Google Arama dizine ekleme işlemi çalışıyor demektir. Veri beslemesi bölümüne atlayabilirsiniz.

Aksi takdirde, SXG'yi etkinleştirdiğinizden beri Google sayfanızı henüz yeniden taramamış olabilir. Google Search Console URL Denetleme Aracı'nı deneyin:

Search Console URL Denetleme aracında Taranan Sayfayı Görüntüle&#39;yi ve ardından Daha Fazla Bilgi&#39;yi tıklayın.

digest: mi-sha256-03=... üst bilgisinin bulunması, Google'ın SXG sürümünü başarıyla taradığını gösterir.

digest üst bilgisi yoksa bu, bir SXG'nin Googlebot'a sunulmadığının veya SXG'leri etkinleştirdiğinizden beri dizinin güncellenmediğinin göstergesi olabilir.

Bir SXG başarılı bir şekilde taranmışsa ancak hâlâ bağlantı oluşturmuyorsa SXG önbellek koşullarının karşılanmaması söz konusu olabilir. Bu konular bir sonraki bölümde ele alınmaktadır.

Besleme

Google Arama, bir SXG'yi dizine eklediğinde kopyasını Google SXG önbelleğine gönderir. Önbellek, SXG'yi önbellek şartlarına göre doğrular. Chrome uzantısı sonucu gösterir:

Onay işareti (✅) ve uyarı mesajı göstermeyen SXG Doğrulayıcı

Onay işareti (✅) görürseniz Optimize et'e geçebilirsiniz.

Koşulları karşılamıyorsa çarpı işareti (❌) ve nedenini belirten bir uyarı mesajı görürsünüz:

SXG Doğrulayıcı&#39;da çarpı işareti (❌) ve şu uyarı mesajı gösteriliyor:

Bu durumda sayfa, SXG'yi etkinleştirmeden önceki gibi çalışır. Google, SXG ön getirme olmadan sayfaya orijinal ana makinesinde bağlantı verir.

Önbelleğe alınan kopyanın süresi dolmuşsa ve arka planda yeniden getiriliyorsa bir kum saati (⌛) görürsünüz:

Kum saati (⌛) ve uyarı mesajı göstermeyen SXG Doğrulayıcı

SXG ile ilgili Google geliştirici belgesinde önbelleği manuel olarak sorgulama talimatları da yer alır.

Optimize etme

SXG Validator Chrome uzantısı tüm onay işaretlerini (✅) gösteriyorsa kullanıcılara sunulabilecek bir SXG'niz var demektir. SXG'den en fazla LCP iyileştirmesini elde etmek için web sayfanızı nasıl optimize edeceğinizi öğrenmek üzere okumaya devam edin.

max-age

SXG'lerin süresi dolduğunda Google SXG önbelleği arka planda yeni bir kopya getirir. Bu getirme işlemini beklerken kullanıcılar, orijinal ana makinesindeki sayfaya yönlendirilir. Bu sayfa önceden getirilmez. Cache-Control: max-age değerini ne kadar uzun süre ayarlarsanız bu arka plan getirme işlemi o kadar seyrek gerçekleşir ve ön getirme işlemiyle LCP o kadar sık azaltılabilir.

Bu, performans ile tazelik arasında bir dengedir. Önbellek, site sahiplerinin her sayfanın özel ihtiyaçlarına uyacak şekilde 2 dakika ile 7 gün arasında bir maksimum yaş değeriyle SXG'ler sağlamasına olanak tanır. Anekdot olarak şunu söyleyebiliriz:

  • max-age=86400 (1 gün) veya daha uzun süreler performans için iyi sonuç verir.
  • max-age=120 (2 dakika)

Verileri daha ayrıntılı bir şekilde inceleyerek bu iki değer arasındaki değerler hakkında daha fazla bilgi edinmeyi umuyoruz.

kullanıcı aracısı

Bir keresinde, önceden getirilmiş bir SXG kullanılırken LCP'nin arttığını gördüm. SXG ön getirme olmadan ve SXG ön getirmeyle elde edilen ortalama sonuçları karşılaştırmak için WebPageTest'i çalıştırdım. Aşağıdaki Sonra'yı tıkladığınızda:

SXG ön getirme işlemi olmayan ağ şelalesi; LCP 2 saniye SXG ön getirme özelliğine sahip ağ şelalesi; HTML önceden getirildiği için tüm alt kaynakların 800 ms daha erken getirilmesine olanak tanır ancak LCP 2,1 saniyedir.

Ön beslemenin çalıştığını gördüm. HTML, kritik yoldan kaldırılır ve böylece tüm alt kaynaklar daha erken yüklenebilir. Ancak yeşil kesikli çizgi olan LCP 2 saniyeden 2,1 saniyeye yükseldi.

Bu sorunu teşhis etmek için film şeritlerine baktım. Sayfanın SXG'de farklı şekilde oluşturulduğunu tespit ettim. Basit HTML'de Chrome, LCP için "en büyük öğenin" başlığın olduğunu belirledi. Ancak SXG sürümünde sayfaya eklenen gecikmeli yüklenmiş banner, başlığı sayfanın üst kısmının altına itti ve en büyük öğenin gecikmeli yüklenmiş çerez izni iletişim kutusu olmasına neden oldu. Her şey öncekinden daha hızlı oluşturuldu ancak düzendeki bir değişiklik, metriğin daha yavaş olarak raporlanmasına neden oldu.

Daha ayrıntılı bir inceleme yaptığımda, sayfanın User-Agent'e göre değiştiği ve mantıkta bir hata olduğu için düzendeki farkın ortaya çıktığını fark ettim. SXG tarama başlığı mobil cihazı belirtmesine rağmen masaüstü sayfası yayınlanıyordu. Bu sorun düzeltildikten sonra tarayıcı, sayfanın başlığını en büyük öğesi olarak tekrar doğru şekilde tanımladı.

"Sonra"yı tıkladığımda, önceden getirilen LCP'nin 1,3 saniyeye düştüğünü gördüm:

SXG ön getirme işlemi olmayan ağ şelalesi; LCP 2 saniye SXG ön getirme özelliğine sahip ağ şelalesi; LCP 1,3 saniye

SXG'ler tüm form faktörleri için etkindir. Buna hazırlanmak için şunlardan birinin doğru olduğundan emin olun:

Alt kaynaklar

SXG'ler, HTML ile birlikte alt kaynakları (resimler dahil) önceden almak için kullanılabilir. Cloudflare ASX, HTML'yi aynı kaynak (birinci taraf) <link rel=preload> öğeleri için tarar ve bunları SXG uyumlu bağlantı üstbilgilerine dönüştürür. Ayrıntılar için buradaki ve buradaki kaynak koduna göz atın.

İşlev çalışıyorsa Google Arama'dan ek ön getirmeler görürsünüz:

/alt/…/image.jpg ön beslemesini gösteren DevTools Ağ sekmesi ile Google Arama sonuçları

LCP için optimizasyon yapmak istiyorsanız şelalenize yakından bakın ve en büyük öğenin oluşturulması için kritik yolda hangi kaynakların bulunduğunu öğrenin. Önceden getirilemiyorlarsa kritik yoldan çıkarılıp çıkarılamayacaklarını değerlendirin. Yüklemeleri tamamlanana kadar sayfayı gizleyen komut dosyalarına dikkat edin.

Google SXG Önbelleği, 20'ye kadar alt kaynak ön yüklemesine izin verir ve ASX bu sınırın aşılmamasını sağlar. Ancak çok fazla alt kaynak ön yükleme eklemenin riski vardır. Tarayıcı, siteler arası izlemeyi önlemek için önceden yüklenmiş alt kaynakları yalnızca tümünün getirilmesi tamamlandıysa kullanır. Alt kaynak sayısı arttıkça, kullanıcı sayfanızı tıklamadan önce bunların hepsinin ön getirme işlemini tamamlama olasılığı azalır.

SXG Validator şu anda alt kaynakları kontrol etmez. Hata ayıklama için bu esnada curl veya dump-signedexchange kullanın.

Ölçüm

WebPageTest'te LCP iyileştirmesini optimize ettikten sonra, SXG ön getirmenin sitenizin genel performansı üzerindeki etkisini ölçmek faydalı olur.

Sunucu tarafı metrikleri

İlk Bayt Zamanı (TTFB) gibi sunucu tarafı metrikleri ölçerken sitenizin yalnızca biçimi kabul eden tarayıcılara SXG'ler yayınladığını unutmayın. TTFB ölçümünüzü bot'lar yerine gerçek kullanıcılardan gelen isteklerle sınırlayın. SXG oluşturmanın tarayıcı isteklerinin TTFB'sini artırdığını fark edebilirsiniz ancak bu durum ziyaretçilerinizin deneyimini etkilemez.

İstemci tarafı metrikleri

SXG'ler, özellikle LCP olmak üzere istemci tarafı metrikler için en fazla hız avantajını sağlar. Etkilerini ölçerken Cloudflare ASX'yi etkinleştirebilir, Googlebot tarafından yeniden taranmasını bekleyebilir, Temel Web Vitals (CWV) toplama işlemi için 28 gün daha bekleyebilir ve ardından yeni CWV sayılarınıza bakabilirsiniz. Ancak bu zaman aralığındaki diğer tüm değişiklikler arasında bu değişikliğin fark edilmesi zor olabilir.

Bunun yerine, etkilenmiş olabilecek sayfa yüklemelerine "yakınlaştırma" yapıp bunu "SXG'ler sayfa görüntülemelerinin% X'ini etkiliyor ve 75. yüzdelik dilimde LCP'yi Y milisaniye iyileştiriyor." şeklinde ifade etmeyi yararlı buluyorum.

Şu anda SXG ön getirme işlemi yalnızca belirli koşullarda gerçekleşir:

  • Chromium tarayıcı (ör. iOS hariç Chrome veya Edge), M98 veya sonraki bir sürüm
  • Referer: google.com veya diğer Google arama alan adlarını kullanabilirsiniz. (Google Analytics'te yönlendiren etiketinin oturumdaki tüm sayfa görüntülemeleri için geçerli olduğunu, SXG ön getirmenin ise yalnızca doğrudan Google Arama'dan bağlantı verilen ilk sayfa görüntülemesi için geçerli olduğunu unutmayın.)

"Sayfa görüntülemelerinin% X'ini" ve "LCP'yi Y milisaniye iyileştirilmesini" nasıl ölçeceğinizi öğrenmek için Çağdaş çalışma bölümünü okuyun.

Çağdaş çalışma

Gerçek kullanıcı izleme (RUM) verilerine bakarken sayfa yüklemelerini SXG ve SXG olmayan olarak ayırmanız gerekir. Bu işlemi yaparken, seçim yanlılığını önlemek için baktığınız sayfa yükleme grubunu sınırlamak önemlidir. Böylece, SXG olmayan taraf SXG'nin uygunluk koşullarıyla eşleşir. Aksi takdirde, aşağıdakilerin tümü yalnızca SXG dışı sayfa yüklemelerinde bulunur. Bu yüklemelerin LCP'si doğal olarak farklı olabilir:

  • iOS cihazlar: Bu cihazlara sahip kullanıcılar arasındaki donanım veya ağ hızındaki farklılıklar nedeniyle.
  • Eski Chromium tarayıcılar: Aynı nedenlerle.
  • Masaüstü cihazlar: Aynı nedenlerle veya sayfa düzeni farklı bir "en büyük öğenin" seçilmesine neden olduğu için.
  • Aynı sitede gezinme (ziyaretçilerin site içindeki bağlantıları takip etmesi): Önceki sayfa yüklemesinden önbelleğe alınmış alt kaynakları yeniden kullanabilirler.

Google Analytics'te (UA), "Hit" kapsamına sahip, biri "isSXG", diğeri "referrer" adlı iki özel boyut oluşturun. (Yerleşik "Kaynak" boyutu oturum kapsamına sahiptir, bu nedenle aynı sitedeki gezinmeleri hariç tutmaz.)

Önerilen ayarlarla Google Analytics boyut düzenleyici

Aşağıdaki filtrelerin AND bağlamında birleştirilmesiyle "SXG karşıt gerçek" adlı bir özel segment oluşturun:

  • referrer, https://www.google. değeriyle başlıyor
  • Browser, Chrome ile tam olarak eşleşir
  • Browser Sürüm, normal ifadeyle eşleşir ^(9[8-9]|[0-9]{3})
  • isSXG, false ile tam olarak eşleşir
Önerilen filtreler içeren Google Analytics segment düzenleyicisi

Bu segmentin "SXG" adlı bir kopyasını oluşturun. Bu kopyada isSXG, true ile tam olarak eşleşmelidir.

Site şablonunuzda, Google Analytics snippet'inin üzerine aşağıdaki snippet'i ekleyin. Bu, ASX'nin SXG oluştururken false değerini true olarak değiştireceği özel bir söz dizimidir:

<script data-issxg-var>window.isSXG=false</script>

LCP'yi kaydetmek için Google Analytics raporlama komut dosyanızı önerilen şekilde özelleştirin. gtag.js kullanıyorsanız özel boyutu ayarlamak için 'config' komutunu değiştirin ('dimension1' ve 'dimension2' değerlerini Google Analytics'in kullanılmasını söylediği adlarla değiştirin):

gtag('config', 'YOUR_TRACKING_ID', {
  'dimension1': String(isSXG),
  'dimension2': document.referrer,
});

analytics.js kullanıyorsanız 'create' komutunu burada açıklandığı gibi değiştirin.

Veri toplamak için birkaç gün bekledikten sonra Google Analytics Etkinlikler raporuna gidin ve SXG segmenti için ayrıntılı inceleme ekleyin. Bu işlem, "SXG'ler sayfa görüntülemelerinin% X'ini etkiliyor" ifadesi için X değerini doldurur:

%12, 5 benzersiz etkinlik gösteren SXG segmenti içeren Google Analytics Etkinlikler raporu

Son olarak, Web Vitals raporu'na gidin, "Segment seçin"i, ardından "SXG karşıt gerçek" ve "SXG"yi seçin.

SXG karşıt gerçek ve SXG seçimleri içeren Web Vitals raporu

"Gönder"i tıklayın. İki segment için LCP dağılımını görürsünüz. Bu işlem, "LCP'yi yüzde 75'lik dilimde Y milisaniye artırma" için Y değerini doldurur:

SXG karşıt gerçek ve SXG için LCP dağılımını gösteren Web Vitals raporu

Uyarılar

Yukarıdaki filtrelerin tümünü uyguladıktan sonra SXG karşıt gerçeklikteki sayfa yüklemeleri aşağıdaki gibi öğelerden oluşmalıdır:

  • Önbellek hataları: Google SXG önbelleği, belirli bir URL için SXG'nin yeni bir kopyasına sahip değilse sitenizdeki orijinal URL'ye yönlendirme yapar.
  • Diğer sonuç türleri: Google Arama şu anda yalnızca standart web sonuçları ve birkaç başka tür için SXG'yi desteklemektedir. Öne çıkan snippet'ler ve En çok okunan haberler bandı gibi diğer özellikler ise sitenizdeki orijinal URL'ye bağlantı verir.
  • Uygun olmayan URL'ler: Sitenizdeki bazı sayfalar SXG için uygun değilse (ör. önbelleğe alınamayacakları için) bu grupta görünebilir.

SXG sayfa yüklemeleri ile yukarıdaki SXG dışı sayfa yüklemeleri arasında kalan bir önyargı olabilir ancak bu önyargı, Çağdaş çalışma bölümünün en üstünde belirtilen önyargılardan daha küçük olmalıdır. Örneğin, önbelleğe alınamayan sayfalarınız önbelleğe alınabilen sayfalarınızdan daha yavaş veya daha hızlı olabilir. Bunun bir sorun olabileceğinden şüpheleniyorsanız sonuçlarının genel çalışmayla eşleşip eşleşmediğini görmek için belirli bir SXG'ye uygun URL ile sınırlı verilere bakabilirsiniz.

Sitenizde bazı AMP sayfaları varsa bu sayfalar zaten Google Arama'dan önceden getirilebildiğinden, SXG'nin etkinleştirilmesiyle performansta iyileştirmeler görülmeyebilir. Alakalı değişikliklere daha fazla "yaklaşmak" için bu tür sayfaları hariç tutacak bir filtre ekleyebilirsiniz.

Son olarak, tüm seçim önyargılarını ele alsanız bile, sağ kalanlar önyargısının LCP iyileştirmelerini RUM istatistiklerinde düşüş gibi gösterme riski vardır. Bu makalede bu risk açıkça açıklanmakta ve bu durumun yaşanıp yaşanmadığını tespit etmek için bir tür vazgeçme metriğine bakılması önerilmektedir.

Çalışmadan önce/sonra

Çağdaş çalışmanın sonuçlarını doğrulamak için SXG'yi etkinleştirmeden önce ve sonra LCP'yi karşılaştırmak yararlı olabilir. Yukarıda belirtilen olası önyargıları ortadan kaldırmak için SXG sayfa görüntülemeleriyle sınırlı kalmayın. Bunun yerine, SXG'ye uygun sonuçlara (isSXG kısıtlaması olmayan yukarıdaki segment tanımları) bakın.

Google Arama'nın, SXG'nin etkinleştirildiğini belirlemek için sitenizdeki tüm sayfaları yeniden taramasının birkaç haftayı bulabileceğini unutmayın. Bu birkaç hafta içinde ortaya çıkabilecek diğer olası önyargılar şunlardır:

  • Yeni tarayıcı sürümleri veya kullanıcıların donanımındaki iyileştirmeler, sayfa yükleme hızını artırabilir.
  • Tatil gibi önemli bir etkinlik, trafiği normalden farklı bir yöne çekebilir.

Yukarıdaki çalışmaları doğrulamak için, genel 75. yüzdelik dilim LCP'ye de bakmak faydalı olacaktır. Popülasyonun bir alt kümesi hakkında bilgi edinmek, bize genel popülasyon hakkında bilgi vermeyebilir. Örneğin, SXG'nin sayfa yüklemelerinin% 10'unu 800 ms artırdığını varsayalım.

  • Bunlar zaten en hızlı% 10'luk sayfa yüklemeleriyse 75. yüzdelik dilimi hiç etkilemez.
  • Bu sayfa yüklemeleri, en yavaş% 10'luk dilimde yer alıyorsa ancak başlangıçta 75. yüzdelik dilimdeki LCP'den 800 ms daha yavaşsa 75. yüzdelik dilimi hiç etkilemez.

Bunlar gerçekliği yansıtmayan uç örneklerdir ancak sorunu açıklamaya yardımcı olabilir. Uygulamada, SXG'nin çoğu sitenin 75. yüzdelik dilimini etkilemesi muhtemeldir. Siteler arası gezinmeler genellikle en yavaş işlemlerden biridir ve ön beslemeden elde edilen iyileştirmeler genellikle önemli olur.

Bazı URL'leri kapsam dışında bırakma

Son olarak, SXG performansını karşılaştırmanın bir yolu, sitenizdeki bazı URL alt kümeleri için SXG'yi devre dışı bırakmaktır. Örneğin, Cloudflare ASX'nin SXG oluşturmasını engellemek için bir CDN-Cache-Control: no-store üst bilgisi ayarlayabilirsiniz. Bunu yapmamanızı öneririz.

Diğer çalışma yöntemlerine kıyasla daha fazla seçim yanlılığı riski vardır. Örneğin, sitenizin ana sayfasının mı yoksa benzer popülerlikte bir URL'nin mi kontrol grubuna veya deneme grubuna seçildiği büyük bir fark yaratabilir.

Ayrılma çalışması

Etkiyi ölçmenin ideal yolu, ayrılmış grup çalışması yapmaktır. Maalesef şu anda bu tür bir test yapamazsınız. Gelecekte bu tür bir test için destek sunmayı planlıyoruz.

Askıya alma çalışması aşağıdaki özelliklere sahiptir:

  • Deneme grubunda, SXG olacak sayfa görüntülemelerinin rastgele bir kısmı "bekletilir" ve bunun yerine SXG olmayan bir şekilde yayınlanır. Bu sayede eşdeğer kullanıcılar, cihazlar, senaryolar ve sayfalar arasında "bire bir" karşılaştırma yapabilirsiniz.
  • Engellenen (diğer adıyla karşıt gerçeklik) sayfa görüntülemeleri, analizlerde bu şekilde etiketlenir. Bu sayede, verileri "yakınlaştırarak" görebilir ve kontrol grubundaki SXG sayfa yüklemelerini denemedeki SXG karşıt gerçekleriyle karşılaştırabiliriz. Bu da SXG ön yükleme işleminden etkilenmeyecek diğer sayfa yüklemelerinden kaynaklanan gürültüyü azaltır.

Bu, yukarıda belirtilen olası seçim yanlılığı kaynaklarını ortadan kaldırır ancak LCP sağ kalan yanlılığı riskini ortadan kaldırmaz. Bu özelliklerin her ikisi de tarayıcının veya yönlendirenin etkinleştirilmesini gerektirir.

Sonuç

Bora Çok fazla bilgi verdiniz. Bu makalenin, SXG performansının laboratuvar testinde nasıl test edileceği, laboratuvar testiyle sıkı bir geri bildirim döngüsü içinde performansının nasıl optimize edileceği ve son olarak gerçek dünyadaki performansının nasıl ölçüleceği hakkında daha kapsamlı bir fikir verdiğini umuyoruz. Tüm bunları bir araya getirmek, SXG'lerden en iyi şekilde yararlanmanıza ve sitenize ve kullanıcılarınıza fayda sağladıklarından emin olmanıza yardımcı olacaktır.

SXG performansını yakalama hakkında başka tavsiyeleriniz varsa lütfen bize bildirin. Önerdiğiniz iyileştirmeleri developer.chrome.com adresinde hata kaydı olarak gönderin.

İmzalı exchange'ler hakkında daha fazla bilgi için web.dev belgelerine ve Google Arama belgelerine göz atın.