Uzun zamandır yazmak istediğim fakat bir türlü fırsatını bulamadığım bir konuya artık açıklık getirmek istiyorum.

Umarım konu sabitlenir ve çoğu arkadaş da bu yazıdan faydalanır.

Google geçen senenin sonunda Google Page Speed İnsight aracına yönelik büyük bir güncelleştirme getirdi. Yapılan bu Lighthouse güncellemesi ile beraber artık daha ayrıntılı grafiksel veriler ve raporlama ile karşılaşıyorsunuz. Ayrıca Chrome Kullanıcı Deneyimi Raporu (CrUX) tarafından sağlanan alan verileri de analize dahil ediyor.

Google PSI aşağıdaki kategorilerden oluşan detaylı bir rapor sunuyor.
  • Alan Verisi: Bu kısım Chrome Kullanıcı Deneyimi raporunu kullanır ve size İlk Zengin İçerikli Boya (First Contentful Paint / FCP) ve İlk Giriş Gecikmesi (First Input Delay / FID) gösterir.
  • Lab Data: Özenle hazırlanmış mobil versiyonda sayfanın Lighthouse analizi ve İlk Zengin İçerikli Boya, Hız İndeksi, Etkileşimli Zaman, İlk Anlamlı Boyama, İlk CPU Boşta, Tahmini Giriş Gecikmesi de dahil olmak üzere bu araçtan metrikler verir ve daha sonra nasıl ekran görüntüleri gösterir görüntülendi.
  • Fırsatlar: Problemli alanları ve sayfanızı ne kadar yavaşlattıkları da dahil olmak üzere söz konusu sayfanın performansını iyileştirmenin yollarını gösterir.
  • Teşhis: Bu, uygulamanızın önbelleğe alma, DOM boyutu, JavaScript ve daha fazlası gibi şeylerle ilgili performansıyla ilgili bir rapor sunar.
  • Başarılı Denetimler: Ardından rapor, JavaScript’i, CSS’yi, yönlendirmeleri ve çok daha fazlasını minimize etmeyi de içeren çeşitli denetimlerde ne kadar iyi çalıştığınızı gösterir.
PageSpeed testini çalıştırdığınızda hatırlamanız gereken 3 önemli nokta

1. PSI testleri, bir 3G bağlantısı kullanılarak yapılır.

Ziyaretçileriniz düşük hızlı 3G ağları kullanıyorsa bu muhtemelen önemli olacaktır. Bildiğiniz gibi , cep telefonundaki ortalama indirme hızı sürekli artıyor: mobil ağlarımız gittikçe daha güçlü ve 3G bağlantısının hızından dört kat daha hızlı çalışabiliyorlar.
Hedef kitleniz, 3G mobil hızından daha hızlı bağlantılarla sitenizi ziyaret ediyorsa, bu parametre o kadar önemli değildir.

2. PSI raporları tarafından kullanılan test sunucusu konumu bilinmiyor

Bu önemli bir nokta!
Sunucunuzun Türkiye de hedef kitlenize en yakın yerde olduğunu varsayalım. PageSpeed Insights tarafından kullanılan test sunucusu ise Los Angeles’ta.
Türkiye'de bulunan bir ziyaretçinin, coğrafi olarak sunucunuza daha yakın olacak şekilde daha hızlı yüklenme süresine ulaşacağından reel de ualaşabildiğiniz sonuçlara ulaşamayabilirsiniz.
Bu nedenle performans denetiminizi her zaman farklı sunucu konumları seçmenize olanak sağlayan Pingdom ve GTMetrix gibi araçlar kullanarak tamamlamanızı öneririz.

3. PSI tarafından kullanılan mobil cihaz (veya mobil cihazın emülatörü) orta kademe bir Moto G4

Mobil cihazlar işlem gücünde / özelliklerinde önemli farklılıklar gösterir ve bu sayfa yükleme süresini büyük ölçüde etkileyebilir. Örneğin IOS yada Android bir cihazda elde edilen site yüklenme süresi cihaz modeli, işletim sistemi sürümü ve hatta kullanılan tarayıcı da göz önüne alındığında farklılılar gösterebilir.
En son teknoloji akıllı telefonun aynı ağ koşullarında, yalnızca birkaç yıl daha eski olan cihazlara kıyasla bir sayfanın yüklenmesi daha az zaman alacaktır.

Güncelleme öncesinde PSI'da 80-90 arasında puan alan sitelerin skorları yeni güncelleme ile 50'lere ve daha aşağısına düştüğü bile oluyor.

Malum aynı katagoride cache hizmeti veriyorum ve gelen müşterilerimin büyük kısmı Page Speed için çalışma yaptırmak istiyor. Hatta bazıları mobil testlerde 90 ve üstünü garanti edebilir misiniz diye soruyor. Ne ben ne de bir başkası asla böyle bir garanti veremez. Verdiğini de iddia eden kesinlikle yalan söyler. Evet belli bir değere ulaşılabilir ama kesinlikle o değer sabit kalmaz. Sürekli olarak değişir. Hatta masaüstünde elde edilen değer mobile göre 2 kat yüksek bile olabilir.

Neden skorun sabit kalmadığı ve neden garanti verilemeyeceğini aşağıdaki incelemeyi okuyunca anlayacaksınız.

Web sitesi sahipleride Google da daha öne çıkabilmek ve Google'un istediği kriterlerde siteye sahip olabilmek adına PSI'dan çıkan sonuçları dikkate alarak sitelerindeki hataları gidermek ve daha hızlı hale getirmek adına cache işlemi yaptırmak istiyor. Fakat bu konuda kriter kabul edilen ve en çok kullanılan GTMETRİX ve Pingdom gibi servisler de elde edilen skor yüksek çıksa da Google PSI'da dibi görebiliyor. Hatta yüksek skor elde eden sitelerin bile puanları kısa süre içerisinde yapılan testlerde bile farklılık gösterebiliyor.

İşte size Github da bir kullanıcının yapmış olduğu testin ayrıntıları.

https://github.com/GoogleChrome/ligh...ment-466034596

Alıntı
Merhaba, ben de aynı problemi yaşadım. Sorunun ne olduğunu bulmaya çalışırken, Chrome Lighthouse da 100, PSI'da ise 85 puan alan çok basit bir sayfa hazırladım. Belki daha fazla araştırmaya yardımcı olabilir:
Basit Sayfa - Bu sayfa sadece preformance.now () 'ı konsolda basan sadece yirmi boş js dosyası içerir.

PSI Sonuçları

PSI testlerini beş kez yaptım ve şu sonuçları aldım: 84, 69, 85, 88, 86
Raporların tamamını burada görebilirsiniz:

https://i.hizliresim.com/nQp8aM.png
https://i.hizliresim.com/26qXR2.png
https://i.hizliresim.com/BaNp1M.png
https://i.hizliresim.com/oXpDa9.png
https://i.hizliresim.com/lqpa8r.png

Google Chrome Deniz Feneri Sonuçları

Beş kez test yaptım ve bu sonuçları aldım: 99, 100, 99, 99, 100
Raporların tamamını burada görebilirsiniz:

https://i.hizliresim.com/7ad0LN.png
https://i.hizliresim.com/P1NLVO.png
https://i.hizliresim.com/grp3GO.png
https://i.hizliresim.com/ZXpbq3.png
https://i.hizliresim.com/lqpaDQ.png
Yukarıdaki resimlerden de göreceğiniz üzere ardışık yapılan testlerde dahi sürekli olarak farklı sonuçlar alınabiliyor.

Twitter da bir kullanıcının sitesinde PSI skorunun dalgalanması ile alakalı sorduğu soruya Google da mühendis olan John Muller şu cevabı verdi.

Alıntı
“PageSpeed Insights skorunuz sitenizdeki değişikliklere bakılmaksızın değişebilir.”


https://twitter.com/_sebastiansimon/...73747025690626


John özetle soruyu soran kullanıcıya PSI da elde edilen skorların tamamen kullanıcıların web sitelerini daha iyi optimize etmek için oluşturulduğunu, yüksek bir PSI skoruna ulaşmanın nihai bir hedef olarak algılanmaması gerektiğini belirtip, PageSpeed Insights skorunuz sitenizdeki değişikliklere bakılmaksızın değişebilir diyerek cümlesini tamamladı.

En basitinden Google'un kendi sitelerinde bile test yaptığınızda aslında elde edilen skorların çok da hayati önem taşımadığını görürsünüz. Kendi önerdiği işlemleri dahi uygulamayan Google'un konu sizin sitenize gelince bunu bir sıralama yada değer biçme kriteri olarak göreceğini düşünmek mantıksız olur. Aşağıdaki Google'a ait olan siteyi analiz ettiğinizde çok da yüksek bir skor elde edemediğini, hatta kullanılan resimlerin bile PSI'ın istediği formatta olmadığını görebilirsiniz.

https://gsuite.google.com/intl/en/

Yine Githubda ki yukarıda belirttiğim konuda şöyle bir mesaja denk geldim.
Alıntı

Pagespeed / Lighthouse tarafından ele geçirilen bir izi araştırdım ve bu test için benchmarkIndex 762 değerini gördüm idi.

🤔 Yine de gösterge endeksi nedir?

Benchmark indeksi, testin yapılmasından önce makinenin ne kadar hızlı olduğunu değerlendirmek için Lighthouse tarafından yapılan hızlı fakat oldukça zekice bir testtir.

Bu soyut bir sayıdır, ancak makinenin hızını js runtime ile tanımlamakta oldukça etkilidir.

Örneğin, şu anki kullandığım Macbook Pro yaklaşık 1200 değerinde bir benchmarkIndex değerine ulaşıyor. Not edeceğiniz gibi, sayfa hızından alınan masaüstü izlemesinden çok daha yüksek.

Lokal testlerinizin PSI'den bu kadar farklı olmasının nedeni bu olabilir. Sunucular muhtemelen başka görevler üzerinde çalışıyor veya google'a özel bir başka sanallaştırma yöntemiyle çalışıyor.
Yine bir başka mesajda da;

Aşağıdaki resimde Cpu Memory Power'ın bir gösterge endexi olup olmadığı soruluyor. Fakat geçerli bir yanıt verilmiyor.

Aşağıdaki Mobil bencmark ın masaüstünden daha yüksek olduğu gösteriliyor.

*** Desktop ***

"lighthouseResult": {
"requestedUrl": "http://shootdotedit.com/",
"finalUrl": "https://shootdotedit.com/",
"lighthouseVersion": "4.1.0",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/72.0.3603.0 Safari/537.36",
"fetchTime": "2019-02-22T19:53:10.201Z",
"environment": {
"networkUserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3559.0 Safari/537.36",
"hostUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/72.0.3603.0 Safari/537.36",
"benchmarkIndex": 537.0
},
"runWarnings": [],
"configSettings": {
"emulatedFormFactor": "desktop",
"locale": "en-US",
"onlyCategories": [
"performance"
]
},

*** Mobile ***

},
"lighthouseResult": {
"requestedUrl": "http://shootdotedit.com/",
"finalUrl": "https://shootdotedit.com/",
"lighthouseVersion": "4.1.0",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/72.0.3603.0 Safari/537.36",
"fetchTime": "2019-02-22T19:53:09.330Z",
"environment": {
"networkUserAgent": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3559.0 Mobile Safari/537.36",
"hostUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/72.0.3603.0 Safari/537.36",
"benchmarkIndex": 659.0
},
"runWarnings": [],
"configSettings": {
"emulatedFormFactor": "mobile",
"locale": "en-US",
"onlyCategories": [
"performance"
]
},

Bu soruya cevap olarak da şu cevap verilmiş.

Alıntı
Evet. Bu sabah başka bir sayfa hızı testi yaptım ve benzer bir 600 benchmarkIndex değeri gördüm.

PSI'nin makineleri CPU etkinliği veya belki de makine tipi açısından değişkenlik gösteriyor gibi gözüküyor (Unutmayın, hangi makinelerin üzerinde çalıştığını bilmiyoruz).

Dikkat edilmesi gereken birkaç nokta:

Bazı siteler (çok sayıda JavaScript içeren siteler) CPU / ana iş parçacığı işinden diğerlerine göre daha etkili olacaktır. Muhtemelen de daha fazla değişecekler.
Mobil çalışmalar CPU simülasyonu ile çalıştırılır. Bir mobil çalıştırma için gördüğünüz kıyaslama endeksi, bir mobil CPU'yu simüle etmek için ana iş parçacığı görevlerine gecikmeler ekleyen Chrome ile çalıştırılır.
TLDR; Pagespeed'in test makineleri, yerel masaüstünüzden daha yavaştır ve puanları makinenizde çalıştırmanıza göre daha düşüktür.
Yani özetle mobil test yapan simülasyon makinelerinin daha yavaş olduğu belirtilmiş.

Son olarak şu yorum yapılmış.

Alıntı
Çok ilginç, 2-3 ay önce PSI'in mobil skor açısından gayet iyi de nasıl oldu? Bu çılgın düşük mobil puanlar, PSI’de bir şeyler değiştikten sonra gün ışığına çıktı.
v4 iyiydi, v5 toprağa çakıldı. (v4 api versiyonunu belirtiyor.)
Google’daki Web İçeriği Ekosistemleri Ekibindeki Geliştirici Avukatı olan Alberto Medina bu konuya noktayı koyacak şu açıklamayı yapıyor.

Alıntı
Farklı performans araçlarını kullanmaktaki asıl sorun, çeşitli önerilerde bulunmaları ve Web Performansı Optimizasyon sürecine kafa karışıklığı uyandırmaktadır.
Bu nedenle, Google’a göre, işleri daha kolay hale getirme ve geliştiricilerin hangi Google aracını kullanmaya karar verdiklerine bakmadan her yerde aynı performans önerilerini almalarına izin vermenin zamanı gelmişti.
Artık Lighthouse, PageSpeed Insights'a güç veriyor, performans önerilerinizi web'den mi, komut satırından mı yoksa Chrome DevTools'tan mı seçeceğinizde aynı sonucu almalısınız.
Bu bağlamı göz önünde bulundurarak, bu yeni araçla Google’ın çok özel bir kullanıcı türünü hedeflediğini, web performansı en iyi uygulamaları ve çözümleri hakkında zaten iyi bir bilgiye sahip olan geliştiriciler ve teknoloji meraklısı kişiler olduğunu belirtmekte fayda var.

Aynı zamanda, eğer WordPress ekosistemine odaklanırsak, Google'ın Lighthouse tavsiyelerine ince ayar yapmak ve onları WordPress geliştiricileri ve site sahipleri için daha ulaşılabilir hale getirmek için kayda değer bir ilgi görüyoruz.
Tüm bu bilgiler ışığında artık Google Page Speed Insight uygulamasının farklı tarayıcılar, cihazlar, lokasyonlar, sunucu konumları gibi bir çok kriterin elde edilen skorlarda etkili olduğu, ardı ardına yapılan testlerde ve Google'a ait diğer test araçlarında bile farklı sonuçların alınabileceği ve bu elde edilen sonuçların Google da başlı başına bir sıralama kriteri olmayacağını belirtmiş olalım.

O yüzden bende yaptığım çalışmalarda GTMETRİX'i kriter olarak kabul ediyorum ve ona göre çalışma yapıyorum. Zaten sayfa boyutu azaltılıp, sorgu sayısı düşürüldüğü zaman sunucu hızınızın da normal olduğunu düşünürsek siteniz çok daha hızlı açılıyor. Ve Google içinde en önemli kriter daha hızlı açılan ve daha az veri tüketen web siteleri.