Google'ın PageSpeed ​​Insights Değerlendirmesini Geliştirmek

Yayınlanan: 2022-07-22

Bir işletme sahibiyseniz, web siteniz için daha iyi arama sıralamaları almakla ilgileniyorsunuz. Bir geliştiriciyseniz, müşterinin ihtiyaçlarını karşılamanız ve iyi sıralamaya sahip bir site oluşturmanız gerekir. Google, Arama Motoru Sıralama Sayfasında (SERP) web sitelerinin sırasını belirlerken yüzlerce özelliği dikkate alır.

Sayfa hızı, 2018'in ortalarında resmi olarak önemli bir sıralama özelliği olarak gösterildi. Bu yazımızda işletme sahiplerinin dikkat etmesi gereken performans puanlarını açıklayacağız: PageSpeed ​​Insights. Yazılım geliştiricilerin tek sayfalık uygulamalarla ilgili olanlar gibi karmaşık durumlarda iyileştirmeler yapmasına yardımcı olacak bazı teknik ayrıntılara daha derinden gireceğiz.

Acing Google'ın PageSpeed ​​Insights Testi Neden Önemlidir?

Google, 2010 yılında PageSpeed ​​Araçlarını tanıttığında, çoğu web sitesi sahibi onunla tanıştı. Henüz yapmamış olanlar sitelerini kontrol etmek için PageSpeed ​​Insights'ı açmalıdır.

Hizmet, bir web sitesinin hem masaüstü hem de mobil tarayıcılarda nasıl performans gösterdiğine ilişkin ayrıntılar sağlar. Analizin üst kısmındaki Mobil ve Masaüstü sekmelerini kullanarak bunlar arasında geçiş yapabileceğiniz gerçeğini gözden kaçırmak kolaydır:

Arama kutusunun altında ortalanmış iki sekmeyi gösteren Google PageSpeed ​​Insights'ın ekran görüntüsü. Bunlar, "Gerçek kullanıcılarınızın neler yaşadığını keşfedin" ve "Dünyanın dört bir yanındaki gerçek kullanıcılarınızdan alınan verilere dayanarak sitenizin nasıl performans gösterdiğini öğrenin" adlı metnin iki satırının üzerindedir.

Mobil cihazlar kompakt olduklarından ve pil ömrünü korumayı amaçladıklarından, web tarayıcıları masaüstü işletim sistemlerini çalıştıran cihazlardan daha düşük performans gösterme eğilimindedir, bu nedenle masaüstü puanının daha yüksek olmasını bekleyin.

Büyük teknoloji şirketleri hiçbir alanda kırmızı puan almayacak, ancak daha dar bütçelerle çalışan daha küçük siteler olabilir. İşletme sahipleri ayrıca rakiplerinin sitelerinde PageSpeed ​​Insights çalıştırabilir ve performansı iyileştirmeye yatırım yapmaları gerekip gerekmediğini görmek için sonuçları kendilerininkiyle karşılaştırabilir.

PageSpeed ​​Değerlendirmesini Geçmek için Hangi Puan Yeterlidir?

PageSpeed, bir başarılı/başarısız değerlendirmesi sağlamak için Önemli Web Verilerinden alınan ölçümleri kullanır.

Bu aracın üç puanı vardır:

  1. PageSpeed, Performans Sorunlarını Tanılama bölümünde Performans puanını renkli bir daire içinde belirgin bir şekilde görüntüler. Ortalama bir mobil veya masaüstü cihazla eşleşen özelliklere sahip PageSpeed'in yerleşik sanal makineleri kullanılarak hesaplanır. Lütfen bu değerin sayfa yükleme ve PageSpeed'in sanal makinesi için olduğunu ve Google Arama motoru tarafından dikkate alınmadığını unutmayın.

    Yeşil bir daire içinde 100 puan gösteren Performans Sorunlarını Tanılama bölümünün ekran görüntüsü.

    Bu rakam, geliştiricilerin bir web sitesinde değişiklikleri uyguladığında yararlıdır, çünkü değişikliklerin performans üzerindeki etkisini kontrol etmelerine olanak tanır. Ancak, Google'ın arama motoru yalnızca ayrıntılı puanları dikkate alır.

  2. Belirli bir sayfanın ayrıntılı puanları ve PageSpeed'in analiz edilen sayfaya benzer olduğunu düşündüğü puanlar, Chrome tarayıcılarının gerçek bilgisayarlarda toplayıp Google'a gönderdiği istatistiklerden hesaplanır. Bu, Firefox, Safari ve diğer Chromium dışı tarayıcılardaki performansın dikkate alınmadığı anlamına gelir.

    Bu URL sekmesi altında belirli bir sayfa için ayrıntılı puanları gösteren bir ekran görüntüsü. Ekran görüntüsü başarısız bir Önemli Web Verileri değerlendirmesini ve ilk içerikli boyama (FCP), ilk girdi gecikmesi (FID), en büyük içerikli boyama (LCP) ve kümülatif düzen kayması (CLS) için puanları gösterir. FCP, FID ve LCP yeşilken CLS puanı kırmızı bir değere sahiptir.

  3. Web sitesinin tüm sayfalarının özeti, tek sayfalık puanla aynı şekilde elde edilir. Erişmek için Bu URL sekmesi yerine Kaynak sekmesini seçin. Origin, sitenin ana sayfasını (yalnızca alan) görüntüleyeceğinden, sekmeler çubuğunun altında listelenen URL farklı olacaktır.

    Kaynak sekmesi altında, web sitesinin tüm sayfaları için ayrıntılı puanları gösteren bir ekran görüntüsü. Ekran görüntüsü başarısız bir Önemli Web Verileri değerlendirmesini ve ilk içerikli boyama (FCP), ilk girdi gecikmesi (FID), en büyük içerikli boyama (LCP) ve kümülatif düzen kayması (CLS) için puanları gösterir. FCP puanı sarı, FID ve LCP puanları yeşil, CLS puanı ise kırmızıdır.

Google, PageSpeed ​​tarafından dikkate alınan metriklerin listesini sürekli olarak günceller, bu nedenle önemli olanın en iyi kaynağı, web sitenizi buraya eklediğinizi varsayarsak, Google Arama Konsolundaki Deneyim / Temel Web Verileri bölümüdür.

Önemli Web Verileri Değerlendirmesini geçmek için tüm puanların yeşil olması gerekir:

Ekran görüntüsü, geçmiş bir Temel Web Verileri Değerlendirmesini ve ilk içerikli boyama (FCP), ilk girdi gecikmesi (FID), en büyük içerikli boyama (LCP) ve kümülatif düzen kayması (CLS) için puanları gösterir. Dört puanın tümü yeşil değerlere sahiptir.

Değerlerin yeşil olması için sayfanın testten en az %75 puan alması ve birçok kullanıcının eşit veya daha iyi değerler deneyimlemesi gerekir. Eşik, her puan için farklıdır ve FID için önemli ölçüde daha yüksektir.

Değerleri daha iyi anlamak için puan başlığına tıklayın:

Başlığın kırmızı bir kutu ile vurgulandığı First Contentful Paint (FCP) puanının ekran görüntüsü.

Bu, verilen kategori için eşikleri daha ayrıntılı olarak açıklayan bir blog gönderisine bağlantı verir.

Veriler 28 gün boyunca toplanır ve gerçek kullanıcıların deneyimleyebileceklerinden iki önemli fark daha vardır:

  1. Gerçek cihazların performansı ve internet hızları değişiklik gösterir, bu nedenle bu test, PageSpeed'in sanal makine sonuçlarından farklı sonuçlar verir.
  2. Ayrıntılı derecelendirmeler, sayfanın açık olduğu her beş saniyelik aralıktan en kötü değerler alınarak tüm sayfa ömrü boyunca hesaplanır.

Bir sitenin kullanıcılarının çoğu yavaş internet erişimi olan bölgelerde yaşıyorsa ve eski veya düşük performans gösteren cihazlar kullanıyorsa, aradaki fark şaşırtıcı olabilir. Bu, PageSpeed ​​Insights'ın iyileştirme önerilerinden biri değildir. İlk bakışta, bu sorunla nasıl başa çıkılacağı belli değil, ancak daha sonra açıklamaya çalışacağız.

PageSpeed ​​Insights Önerilerini Kullanarak Puanları İyileştirme

Derecelendirmenin ana kısmı, çoğu kullanıcının sayfayı nasıl açtığından gelir. Tüm kullanıcıların bir web sitesini uzun bir süre boyunca ziyaret etmemesine ve çoğu bir web sitesini ara sıra ziyaret etmesine rağmen, tüm kullanıcılar derecelendirmelerde dikkate alınır, bu nedenle herkesi etkileyen sayfa yükleme hızlarını iyileştirmek iyi bir başlangıç ​​noktasıdır.

Değerlendirme sonuçlarının altındaki Fırsatlar bölümünde öneriler bulabiliriz.

Fırsatlar bölümünün ekran görüntüsü, sağda görüntülenen saniye cinsinden tahmini sayfa yükü tasarrufuyla birlikte iyileştirme için birden fazla fırsat gösterir. Örneğimizde, tahmini 1,56 saniyelik tasarrufla "Birden çok sayfa yönlendirmesinden kaçının" ile başlayan, tahmini 0,3 saniyelik tasarrufla "Eski JavaScript'i modern tarayıcılara sunmaktan kaçının"a kadar altı önerimiz var.

Her bir öğeyi genişletebilir ve iyileştirmeler için ayrıntılı öneriler alabiliriz. Çok fazla bilgi var, ancak işte en temel ve önemli ipuçları:

  • Sunucu yanıt hızını artırın. Örneğin, paylaşılan barındırma kullanıyorsanız, planınızı yükseltin veya sanal bir özel sunucuya (VPS) veya hatta özel bir sunucuya geçiş yapın. Ayrıca, tüm ana bilgisayarlar eşit değildir. İyi donanım ve çalışma süresi garantileriyle güvenilir barındırma seçmeyi deneyin.
  • Sitenizi açmak için gereken trafik hacmini azaltın. Bunu başarmak için görüntüleri optimize edilmiş olanlarla değiştirebilirsiniz: formatlarını değiştirin, çözünürlüğü ve sıkıştırmayı ayarlayın, gerekirse hareketli görüntüleri statik olanlarla değiştirin, vb. Popüler içerik yönetim sistemlerinde bu işlemi kolaylaştıran eklentiler bulunur.
  • Daha fazla veriyi önbelleğe alın. Bunu yapmanın en basit yolu, statik içerik (görüntüler, stiller, komut dosyaları, değişmeyen sayfalar) için Cloudflare gibi bir içerik dağıtım ağı (CDN) kullanmaktır. Performansı optimize etmek için önbelleğe alma kurallarını yapılandırabilirsiniz.

Şimdi deneyimli bir programcının yardımcı olabileceği daha karmaşık faktörlere bir göz atalım.

Sayfa Ömrü Boyunca Puanlarda Hata Ayıklama

Belirtildiği gibi, Google Arama Konsolu, Chromium tabanlı tarayıcılardan son 28 gün için alınan ortalama puanları dikkate alır ve ayrıca sayfanın tüm kullanım ömrü için değerleri içerir.

Sayfanın ömrü boyunca neler olduğunu görememek bir sorundur. PageSpeed'in sanal makinesi, yüklendikten ve kullanıcılar sayfayla etkileşime girdikten sonra sayfanın nasıl performans gösterdiğini açıklayamaz, bu da site geliştiricilerinin iyileştirme önerilerine erişemeyeceği anlamına gelir.

Çözüm, bir kullanıcı sayfayla etkileşime girerken neler olduğunu görmek için Google Chrome Web Vitals kitaplığını bir site projesinin geliştirici sürümüne dahil etmektir.

Bu kitaplığın nasıl dahil edileceğine ilişkin çeşitli seçenekler GitHub'daki README.md dosyasındadır. En basit yol, aşağıdaki betiği eklemektir. Ana şablonun <head> içinde sayfa ömrü boyunca değerleri görüntülemek için ayarlanmıştır:

 <script> (function() { var script = document.createElement('script'); script.src = 'https://unpkg.com/web-vitals/dist/web-vitals.iife.js'; script.onload = function() { // When loading `web-vitals` using a classic script, all the public // methods can be found on the `webVitals` global namespace. webVitals.getCLS(console.log, true); // CLS supported only in Chromium. webVitals.getLCP(console.log, true); // LCP supported only in Chromium. webVitals.getFID(console.log, true); webVitals.getFCP(console.log, true); webVitals.getTTFB(console.log, true); } document.head.appendChild(script); }()) </script>

Kümülatif Düzen Kayması (CLS) ve En Büyük İçerikli Boyama (LCP) hesaplamasının yalnızca Chrome, Opera, Brave (kütüphanenin çalışması için Cesur Kalkanları devre dışı bırakın) ve Firefox hariç diğer birçok modern tarayıcı dahil olmak üzere Chromium tabanlı tarayıcılar için kullanılabildiğini unutmayın. , bir Mozilla motoruna ve Apple'ın Safari tarayıcısına dayalıdır.

Komut dosyasını ekledikten ve sayfayı yeniden yükledikten sonra tarayıcının geliştirici araçlarını açın ve Konsol sekmesine geçin.

Google Chrome tarayıcısındaki Konsol sekmesinin, her biri "name", "value", "delta", "girişler, " ve "kimlik." "Girişler" için değer bir dizidir.
Chrome'un Konsol Sekmesinde Chrome Web Verileri Kitaplığı Tarafından Sağlanan Değerler

Mobil sürüm için bu değerlerin nasıl hesaplandığını görmek için Cihaz araç çubuğunu kullanarak mobil cihaza geçin. Erişmek için tarayıcınızın Geliştirici araçlarında Aygıt Araç Çubuğunu Değiştir düğmesini tıklayın.

Google Chrome'un Geliştirici araçlarının en üstündeki "Öğeyi incele" düğmesi ile "Öğeler" sekmesi arasındaki "Cihaz araç çubuğunu değiştir" düğmesinin ekran görüntüsü.

Bu, sorunları belirlemeye yardımcı olacaktır. Konsoldaki satırı genişletmek, puan değişikliğini neyin tetiklediğiyle ilgili ayrıntıları gösterecektir.

Çoğu zaman, diğer puanlar için otomatik tavsiye, bunların nasıl iyileştirileceği konusunda bir fikir edinmek için yeterlidir. Ancak, sayfa kullanıcı etkileşimleriyle yüklendikten sonra CLS değişir ve özellikle tek sayfalı uygulamalar için herhangi bir öneri olmayabilir. Sayfanız arama motoru tarafından dikkate alınan faktörler için değerlendirmeyi geçemese bile Performans Sorunlarını Tanılama bölümünde tam 100 puan görebilirsiniz.

CLS ile mücadele eden bizler için bu yardımcı olacaktır. Günlük kaydını, ardından girişleri, belirli girişi, kaynakları, belirli kaynağı genişletin ve currentRect ile previousRect karşılaştırın:

Vurgulanan currentRect ve öncekiRect değerleriyle günlük kaydının bir görüntüsü.

Artık neyin değiştiğini görebildiğimize göre, onu düzeltmenin bazı yollarını belirleyebiliriz.

Kümülatif Düzen Kaymasını Azaltma

Tüm puanlar arasında CLS, anlaşılması en zor olanıdır, ancak kullanıcı deneyimi için çok önemlidir. Düzen kaydırma, belge nesne modeline (DOM) bir öğe eklendiğinde veya mevcut bir öğenin boyutu veya konumu değiştirildiğinde meydana gelir. Bu öğenin altındaki öğelerin kaymasına neden olur ve kullanıcı neler olup bittiğini kontrol edemediğini hissederek web sitesini terk etmelerine neden olur.

Bunu basit bir HTML sayfasında halletmek nispeten kolaydır. Resimlerin genişlik ve yükseklik niteliklerini, altlarındaki metnin yüklenirken kaydırılmaması için ayarlayın. Bu muhtemelen sorunu çözecektir.

Sayfanız dinamikse ve kullanıcılar onunla bir uygulama gibi çalışıyorsa, CLS sorunlarını çözmek için aşağıdaki adımları göz önünde bulundurun:

  1. Sayfayı, kullanıcı bir düğmeyi veya bağlantıyı tıkladıktan sonra CLS'nin tetiklenmesine neden olmadan içeriği 500 milisaniye gösterecek şekilde ayarlayın.
  2. Diğer DOM öğelerinin değişmesine neden olmayan parametreleri değiştirin: arka plan, renk vb.
  3. Bir öğenin boyutunu veya konumunu değiştirirken diğer öğelerin kaymadığından emin olun.

Google Developers Optimize CLS sayfasında daha ayrıntılı öneriler mevcuttur.

500 Milisaniye CLS'yi Nasıl Azaltabilir?

500 milisaniye eşiğinin nasıl kullanılacağını göstermek için resim yükleme içeren bir örnek kullanacağız.

Normalde bir kullanıcı bir dosya yüklediğinde, komut dosyası DOM'a bir <img> öğesi ekler ve ardından istemci tarayıcısı görüntüyü sunucudan indirir. Bir sunucudan bir görüntünün alınması 500 milisaniyeden fazla sürebilir ve bir düzen kaymasına neden olabilir.

Ancak, zaten istemci bilgisayarda olduğu için görüntüyü daha hızlı almanın ve böylece 500 milisaniyelik son tarih dolmadan <img> öğesini oluşturmanın bir yolu var.

İşte çoğu modern tarayıcıda çalışacak kütüphaneler olmadan saf ECMAScript'e evrensel bir örnek:

 <!DOCTYPE html> <html> <head></head> <body> <input type="file"> <img> <script> document.getElementById('input').addEventListener('change', function() { var imageInput = document.getElementById('input'); if (imageInput.files && imageInput.files[0]) { var fileReader = new FileReader(); fileReader.onload = function (event) { var imageElement = document.getElementById('image'); imageElement.setAttribute('src', event.target.result); } fileReader.readAsDataURL(imageInput.files[0]); } }); </script> </body> </html>

Daha önce gördüğümüz gibi, bu tür sorunları çözmek zihinsel çeviklik gerektirebilir. Mobil cihazlar, özellikle ucuz olanlar ve yavaş mobil internet ile, 90'ların performans optimizasyonu sanatı kullanışlı hale geliyor ve eski tarz web programlama yaklaşımları tekniğimize ilham verebilir. Modern tarayıcı hata ayıklama araçları bu konuda yardımcı olacaktır.

Google Arama Konsolunu Güncelleyin

Sorunları bulup ortadan kaldırdıktan sonra, Google'ın arama motorunun değişiklikleri kaydetmesi biraz zaman alabilir. Sonuçları biraz daha hızlı güncellemek için Google Search Console'a sorunları çözdüğünüzü bildirin.

Sol üst köşedeki Arama özelliği kutusunu kullanarak üzerinde çalıştığınız sayfayı seçin. Ardından sol hamburger menüsünde Önemli Web Verileri'ne gidin:

Google Search Console'un sol üst köşesindeki Arama özelliği açılır kutusu aracılığıyla Önemli Web Verileri seçeneğini gösteren bir ekran görüntüsü.

Mobil veya masaüstü raporunun sağ üst kısmındaki Raporu Aç düğmesini tıklayın. (Her ikisinde de sorun yaşadıysanız, daha sonra ikinci rapor için aynı işlemleri tekrarlamayı unutmayın.)

Google Arama Konsolu Önemli Web Verileri bölümünün, ana başlıkların altındaki zaman damgasının altındaki "Mobil" çubuğunun sağındaki Açık Rapor etiketini gösteren ekran görüntüsü.

Ardından, grafiğin altındaki Ayrıntılar bölümüne gidin ve başarısız doğrulama uyarısının olduğu satıra tıklayın.

Google Arama Konsolu Önemli Web Verileri'ndeki Ayrıntılar bölümünün, mobil cihazlar için kötü bir sonuç gösteren ekran görüntüsü. Skor 17'dir ve bir CLS sorunu ("0,25'ten fazla (mobil)"), doğrulamanın başarısız olmasına neden olmuştur.

Ardından, bu sorun için Ayrıntıları Gör düğmesini tıklayın.

Kullanıcı "Doğrulama başarısız" çubuğunun sağındaki Ayrıntıları Gör düğmesini tıkladıktan sonra ne olduğunu gösteren bir ekran görüntüsü. Araç, etkilenen 17 URL'yi bildirir.

Ve son olarak Yeni Doğrulamayı Başlat'a tıklayın.

Ana Google Arama Konsolu başlığının altındaki "Doğrulama ayrıntıları" çubuğunun altındaki "Doğrulama başarısız" çubuğunun sağındaki Yeni Doğrulamayı Başlat düğmesini gösteren Google Arama Konsolu ekran görüntüsü.

Hemen sonuç beklemeyin. Doğrulama 28 güne kadar sürebilir.

Doğrulama sürecinin başladığını ve 28 gün içinde tamamlanacağını gösteren Google Arama Konsolu ekran görüntüsü.

Optimizasyon Sürekli Bir Mücadeledir

SEO optimizasyonu sürekli bir süreçtir ve aynısı performans optimizasyonu için de geçerlidir. Hedef kitleniz büyüdükçe sunucular daha fazla istek alır ve yanıtlar yavaşlar. Artan talep genellikle sitenize yeni özelliklerin eklenmesi anlamına gelir ve bunlar performansı etkileyebilir.

Performans optimizasyonunun maliyet/fayda yönüne gelince, doğru dengeyi kurmak gerekir. Geliştiricilerin her zaman tüm sitelerde en iyi değerleri elde etmesi gerekmez. En önemli performans sorunlarına neyin sebep olduğuna odaklanın; Sonuçları daha hızlı ve daha az çabayla alırsınız. Büyük şirketler çok fazla kaynak yatırımı yapabilir ve tüm puanları alabilir, ancak bu küçük ve orta ölçekli işletmeler için geçerli değildir. Gerçekte, küçük bir işletmenin büyük olasılıkla Amazon gibi endüstri ağır toplarının değil, rakiplerinin performansını yakalaması veya aşması gerekir.

İşletme sahipleri, site optimizasyonunun neden kritik olduğunu, işin hangi yönlerinin en önemli olduğunu ve bunu yapmak için işe aldıkları insanlarda hangi becerileri aramaları gerektiğini anlamalıdır. Geliştiriciler ise performansı her zaman göz önünde bulundurarak, müşterilerinin yalnızca son kullanıcılar için hızlı hissetmekle kalmayıp aynı zamanda PageSpeed ​​Insights'ta iyi puanlar alan siteler oluşturmasına yardımcı olmalıdır.