Site hızı

Site hızı nasıl ölçülür

Site hızını ölçmek, tek bir laboratuvar raporu almak, onu gerçek kullanıcı verisinin yanına koymak ve ikisinden tek bir iş seçmektir. Zor kısım ne raporu almak ne de sayıları anlamaktır; aracın kırmızıya boyadığı her şeyi düzeltme dürtüsüne direnmektir.

  • Ders 4 / 10
  • Başlangıç
  • Ücretsiz, kayıt yok

Bir ölçüm döngüsü, beş adım

Çoğu hız projesi üçüncü adımda başarısız olur, çünkü insanlar onu atlayıp doğrudan düzeltmeye geçer.

  1. Testi alın

    Tek istek hem laboratuvar sayısını hem varsa saha verisini verir.

    1
  2. Raporu okuyun

    Yalnızca genel puana değil, metriklere ayrı ayrı bakın.

    2
  3. Önceliklendirin

    Aracın bastığı sırayla değil, etki ve emek eksenlerinde.

    3
  4. Tek bir şeyi düzeltin

    Birkaçını birlikte yaparsanız hangisinin işe yaradığını bilemezsiniz.

    4
  5. Yeniden ölçün

    Üç çalıştırma; en iyiyi en iyiyle değil, ortancayı ortancayla karşılaştırın.

    5

Bu döngü tek bir değişikliğin etkisini gösterir, o değişikliğin size ne kadar para kazandırdığını değil. O sorunun yanıtı başkadır ve bu rapordan çıkmaz.

Son kontrol: Bu dersteki bilgiler ve araç adları bu tarihte kaynaklarıyla yeniden doğrulanır.

Neyle ölçmeli ve neden tek bir çağrı yeter

Üç adı çok duyarsınız ve aynı şey değildirler. Lighthouse, sayfayı benzetilmiş koşullarda açıp rapor üreten test motorudur. PageSpeed Insights, o motoru sizin için çalıştıran ve o sayfa için gerçek kullanıcı verisi varsa onu da yanına koyan hizmettir. CrUX, yani Chrome Kullanıcı Deneyimi Raporu, o gerçek kullanıcı verisidir; Search Console'daki Core Web Vitals raporu da aynı kaynaktan gelir.

Nadiren söylenen ve işi kısaltan şey şu: PageSpeed API'sine yapılan tek bir istek ikisini birlikte döndürür. Yanıtta lighthouseResult bloğu laboratuvar sayısı, loadingExperience bloğu ise saha verisidir. İki yerden iki rapora ihtiyacınız yok.

Aynı yanıt üçüncü bir gerçeği de ele verir: saha bloğu hiç bulunmayabilir. Farsça sitelerin çoğunda olan tam olarak budur ve bu bir arıza değildir. Bu iki veri türünün farkı ve 75. yüzdeliğin neden önemli olduğu bu rotanın bir önceki dersinde açıldı.

Rapor almanın en basit yolu PageSpeed hizmetini tarayıcıda açmaktır. Otomatikleştirmek isterseniz tek bir istek yeter ve oradan sonra iş bir JSON dosyası üzerinde yürür:

curl -s "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https://example.com&strategy=mobile&category=performance&key=KEY" -o psi.json

Zaman kazandıracak bir uyarı: bu adres artık anahtarsız yanıt vermiyor. Anahtarsız günlük kota sıfırdır ve yanıt 429 döner. Anahtar, Google Cloud konsolundan ücretsiz alınır ve tek başına bu kalem, gerçek bir Lighthouse raporu ile yedek bir aracın size göstermeye karar verdiği şey arasındaki farktır.

Elinize geçen ham dosya, gözle okumak ya da bir sohbet penceresine yapıştırmak için fazlasıyla büyüktür. Bu komut yalnızca işinize yarayanı çıkarır: puan, dört laboratuvar metriği, saha verisinin durumu ve yüz milisaniyenin üstündeki fırsatlar. Saha bloğu yanıtta yoksa kendiliğinden field: none yazar ve bu da başlı başına yararlı bir yanıttır.

python3 -c 'import json;d=json.load(open("psi.json"));l=d["lighthouseResult"];a=l["audits"];print("score",round(l["categories"]["performance"]["score"]*100));[print("lab",k,a[k]["displayValue"]) for k in ("first-contentful-paint","largest-contentful-paint","total-blocking-time","cumulative-layout-shift") if k in a];f=d.get("loadingExperience",{}).get("metrics",{});print("field: none") if not f else [print("field",k,v["percentile"],v["category"]) for k,v in f.items()];[print("fix",int(x["details"]["overallSavingsMs"]),"ms",x.get("title","")) for x in sorted(a.values(),key=lambda x:-x.get("details",{}).get("overallSavingsMs",0)) if x.get("details",{}).get("type")=="opportunity" and x["details"].get("overallSavingsMs",0)>100]'
Site hızını ölçmek: rapordan karara

Puan neyden oluşur ve içinde ne yoktur

Raporun tepesindeki büyük renkli sayı kendi başına bir ölçüm değildir. Birkaç laboratuvar metriğinin ağırlıklı ortalamasıdır ve Lighthouse belgeleri her ağırlığı yayımlar: Toplam Engelleme Süresi %30, Largest Contentful Paint %25, Cumulative Layout Shift %25, First Contentful Paint %10 ve Speed Index %10. Aynı belge, Lighthouse ekibinin kullanıcının algıladığı performansı en çok neyin etkilediğini sürekli araştırması nedeniyle ağırlıkların zaman içinde değiştiğini de belirtir.

Şimdi o listeye dikkatle bakın ve içinde olmayanı görün: INP. Üç Core Web Vitals metriğinden biri puana hiç katkı vermez. Nedeni kötücül değil, makuldür: INP ancak biri sayfaya gerçekten tıkladığında bir anlam taşır ve otomatik bir çalıştırmada kimse tıklamaz. Toplam Engelleme Süresi onun laboratuvar vekilidir, kendisi değil.

Pratik sonucu tek cümledir: yüz puan alıp yine de kullanıcı dokunduktan sonra tam bir saniye hiçbir şey yapmayan bir sayfanız olabilir. Sohbet bileşeniniz ve reklam betiğiniz ilk yüklemeden sonra ağır iş yapıyorsa, puan bu konuda hiçbir şey söylemez.

Peki puan ne işe yarar? Bir sayfayı aynı koşullarda, bir değişiklikten önce ve sonra kendisiyle karşılaştırmaya. Bunun için iyidir. Bir müşteriye sitesinin iyi mi kötü mü olduğunu söylemek içinse dürüst araç, tek tek metrikler ve saha verisidir.

Puan neyden oluşur ve listede olmayan ad

Lighthouse belgelerine göre her metriğin Lighthouse performans puanındaki ağırlığı
  1. Toplam Engelleme Süresi %30
  2. Largest Contentful Paint %25
  3. Cumulative Layout Shift %25
  4. First Contentful Paint %10
  5. Speed Index %10

INP bu listede yok, çünkü otomatik bir çalıştırmada kimse tıklamaz. Toplam Engelleme Süresi onun laboratuvar vekilidir, metriğin kendisi değil. Lighthouse belgeleri bu ağırlıkların zaman içinde değiştiğini de belirtir.

Test aldığınız her seferinde sayı neden değişiyor

68 alırsınız, tekrar çalıştırırsınız 74 gelir, üçüncüsü 61 der ve sitede hiçbir şey değişmemiştir. Bu bir arıza değil; Lighthouse belgeleri buna bütün bir bölüm ayırır: bu değişkenliğin çoğu Lighthouse'tan kaynaklanmaz, testin çalıştığı koşullardan kaynaklanır. Ağ, anlık sunucu yükü, hatta test makinesinin o an ne kadar boşta olduğu.

Bundan bir çalışma kuralı çıkar: tek bir ölçüm, ölçüm değildir. Bir değişikliğin etkisini görmek istiyorsanız öncesinde üç, sonrasında üç çalıştırma alın ve en iyi sayıya değil ortancaya bakın. İnsanlar hep en iyi "önce" sayısıyla en iyi "sonra" sayısını yan yana koyup kendilerini kandırır.

Daha az bilinen bir tuzak daha: birçok hız aracı, bizimki dahil, her adresin sonucunu bir süre önbelleğe alır. Yani bir dakika sonra tekrar test ederseniz gördüğünüz sayı hiç de yeni bir çalıştırma olmayabilir. Sabit bir sayı istikrarlı bir site anlamına gelebilir; bazen hiçbir şeyin yeniden çalıştırılmadığı anlamına gelir. Arka arkaya iki test tam olarak aynı rakamı verdiyse ilk bundan şüphelenin.

Uzun bir listeden tek bir işe

Rapor geldiğinde fırsatlar bölümü size uzun bir liste ve her maddenin yanında tahmini bir tasarruf verir. Yaygın hata listenin tepesinden başlamaktır. O liste, aracın ölçebildiğine göre sıralanmıştır; her maddenin size ne kadar iş çıkardığına göre değil.

Doğru sıra iki eksenden gelir: etki ve emek. Sunucu yanıt süresini kısaltmanın etkisi genelde en yüksektir ve en çok emeği de ister, çünkü hostinge gitmek demektir. Aşırı büyük tek bir görseli küçültmek yüksek etki ve düşük emektir, hep önce gelir. Kullanılmayan JavaScript'i kaldırmak orta etki ve yüksek emektir; hazır bir temayla elinizde bile olmayabilir.

Kendi başınıza keşfetmesi uzun süren bir kural: kabaca yüz milisaniyenin altında tasarruf vaat eden hiçbir öneriyi okumayın bile. Testin kendi değişkenliği bundan büyüktür, yani işi yapsanız bile etkisini kanıtlayamazsınız. Bizim aracımız da tam bu nedenle bu çizginin altındaki fırsatları çıktısına almaz.

Ve işi raporla değil bir cümleyle bitirin: bu ay şu tek şey üzerinde çalışıyoruz, şu nedenle. Ölçümünüzün sonucu on maddelik bir listeyse henüz karar vermemişsiniz.

Aynı liste, sizi ilgilendiren bir şeye göre sıralanmış

  • Yüksek etki, düşük emek

    Bugün. Tam çözünürlükte yüklenen aşırı büyük görsel genelde buradadır.

  • Yüksek etki, yüksek emek

    Planlama ister. Sunucu yanıt süresi genelde buradadır, çünkü hostinge gitmek demektir.

  • Düşük etki, düşük emek

    Vakit artarsa. Asla ayın ilk işi değil.

  • Düşük etki, yüksek emek

    Yapmayın. Kabaca yüz milisaniyenin altında tasarruf sağlayan her öneri genelde buraya düşer.

İş sırası

Her önerinin bu dört hücreden hangisine düşeceği sitenize bağlıdır ve sabit değildir. Hosting değiştirmek, adanmış sunucudaki biri için bir günlük iş, ucuz paylaşımlı hostingdeki biri için bir projedir.

Düzeltmeden sonra neyi yeniden ölçmeli

Değişiklik yapıldıktan sonra laboratuvar sayısı aynı gün yanıt verir. Üç çalıştırma alın ve ortancayı önceki ortancayla karşılaştırın. Fark testin doğal değişkenliğinden küçükse, yaptığınız işin kanıtlayabileceğiniz bir etkisi yoktur; bunu kabul etmek, sizi doğrulayacak bir sayı aramaktan iyidir.

Saha verisi aynı gün yanıt vermez ve insanlar burada sabırsızlanır. O veri gerçek ziyaretçilerden toplanır ve yeterince kişi yeni sayfayı görene kadar rapor eski rapordur. Doğru zamanlama şudur: teknik onayı laboratuvardan, gerçek onayı birkaç hafta sonra sahadan alın.

Ve hız verisinden asla tek bir şeyi çıkarmayın: satış rakamı. Hiçbir hız raporu gelirinizin ne kadar değişeceğini söylemez; size böyle bir sayı veren ya başka bir pazardaki başka bir şirketin çalışmasını aktarıyordur ya da tahmin yürütüyordur. Sitenizde hız ile satış arasındaki ilişki yalnızca kendi öncesi ve sonrası ölçümünüzden çıkar. Daha dolu gerekçe bu rotanın ilk dersinde duruyor; gerçek bir test yönteminin birkaç Farsça sitede nasıl göründüğünü görmek isterseniz on Farsça sayfayı tek bir sabit yöntemle ölçtüğümüz karşılaştırmamız tam olarak bunu, tablosu ve yöntemi açık hâlde gösteriyor.

Yapay zekayla hızlı yol

Alışılmış yol, raporu açmak, fırsatları tepeden okumak ve kırmızı olan her şeyi bir iş listesine kopyalamaktır. Sorun zor olması değil; elinizde kalan listenin sitenize değil araca ait olmasıdır. Hızlı yol, ham çıktının tamamını sayfanın ticari rolüyle birlikte bir modele verir ve liste yerine gerekçeli tek bir öncelik geri alır. Tamamı yaklaşık on dakika sürer ve genelde o listenin yarısını siler.

  1. Ham çıktıyı alın ve küçültün. PageSpeed JSON yanıtı bir sohbet penceresi için fazlasıyla büyüktür, o yüzden yalnızca işinize yarayanı çıkarın. Bu dersin gövdesindeki komut tam olarak bunu yapar: puan, dört laboratuvar metriği, saha verisinin durumu ve yüz milisaniyenin üstündeki fırsatlar.
  2. Sayfanın ticari rolünü tek satırda yazın ve onun yanına koyun. Bu sayfa satış getirir, ya da çağrı getirir, ya da yalnızca bilgilendirir. Bu satır olmadan model sadece sayıları sıralar ve aracın zaten yaptığını yapar.
  3. Aşağıdaki komutu iki parçayla birlikte verin. Bu, toplu işleme değil yargı işidir; bu yüzden güçlü bir model daha iyi yanıtlar. Hızlı ve ucuz sınıf bir raporu özetlemek için yeterlidir ama tek bir önceliği seçmek için değil. Her sınıftaki güncel tercih yapay zekâ referansımızda tutulur ve burada bir sürüm adı yazmıyoruz, çünkü altı ay sonra yanlış olurdu.
  4. Yanıtı tek bir cümleye dönüştürün. Bu işin doğru çıktısı bir karardır: bu ay şu tek şey üzerinde çalışıyoruz, şu nedenle. Yanıt yine on maddelik bir listeyse tekrar sorun ve birini seçmeye, diğerlerinin neden olmadığını söylemeye zorlayın.

Kopyalamaya hazır şablon

Rolün kıdemli bir web performans danışmanı ve bugünkü işin tek bir önceliği seçmek; düzeltmek ya da öğretmek değil. Yalnızca aşağıdaki veriden hüküm ver ve belleğinden hiçbir şey ekleme.

Özetlenmiş rapor çıktısı:
{komutun çıktısını buraya yapıştırın}

Bu sayfanın ticari rolü: {satış getirir | çağrı getirir | yalnızca bilgilendirir}
Elimde olanlar: {tema kodu | yalnızca WordPress paneli | hostingi değiştirebilirim}

Altı şey yaz:
1. Tek cümlede, genel puana değil tek tek metriklere dayanarak bu sayfanın asıl sorununun ne olduğunu söyle.
2. Her fırsatı dört hücreden birine koy: yüksek etki düşük emek, yüksek etki yüksek emek, düşük etki düşük emek, düşük etki yüksek emek. Emeği tahmin ederken "elimde olanlar" satırını kullan.
3. Bu ay yapılacak tek işi seç ve neden diğerleri değil de bu olduğunu söyle.
4. Hangi önerilerin yapılmaması gerektiğini ve nedenini söyle. Yüz milisaniyenin altında vaat eden her şey bu gruba girer.
5. Girdide saha verisi yoksa, gerçek kullanıcıların durumunun bilinmediğini ve sonucunun tek bir laboratuvar çalıştırmasına dayandığını açıkça yaz.
6. O tek iş yapıldıktan sonra işe yarayıp yaramadığını anlamak için neyin yeniden ölçülmesi gerektiğini yaz.

Kurallar: istense bile satış ya da dönüşüm artışı için hiçbir rakam tahmin etme; bu veriden öyle bir sayı çıkmaz. Girdide olmayan hiçbir sorunu ekleme. İki iş arasında kaldıysan sayfanın ticari rolüne yakın olanı seç ve bunu söyle. Veri bu sayfanın ciddi bir hız sorunu olmadığını gösteriyorsa açıkça yaz; "hiçbiri, bu sayfanın başka bir sorunu var" kabul edilebilir bir yanıttır.

Çıktıya güvenmeden önce: Modelin bilmediği, sizin bildiğiniz iki şey var. Birincisi gerçekte ne kadar değiştirebileceğiniz: emeği sizin yazdığınız bir satırdan tahmin eder, o satır iyimserse öncelik de iyimser çıkar. İkincisi, tek bir laboratuvar çalıştırması yine tek bir çalıştırmadır; para harcamadan önce aynı sayfayı iki kez daha alın ve önceliğin değişip değişmediğine bakın. Ve model başka bir şey dese bile kendinizin koruyacağı kural: bu işten çıkan hiçbir satış artışı rakamını kabul etmeyin.

Bu işte yapay zeka

Bu konuda bir dil modeli gerçekten yararlıdır, ama çoğu kişinin sorduğu soru için değil. Kötü soru "sitemi nasıl hızlandırırım"dır; yanıtı her siteye uyan ve hiçbiri için karar üretmeyen genel bir listedir. İyi soru, kendi rapor çıktınızı önüne koyup seçmesini istemektir. İkinci durumda model sizin verinizle çalışır; birincide bellekten bir liste kurar.

Gerçekten işe yarayan araçlar

  • Claude Buradaki hızlı yol işine uygundur: rapor çıktısını sayfanın ticari rolüyle alır ve listelemek yerine tek bir önceliği seçip nedenini söyler. İran, Anthropic'in desteklenen ülkeler listesinde değil; dolayısıyla resmi kayıt da yok, İran kartı da kabul edilmiyor.
  • Gemini Çıktıyı küçültmemeye ve JSON dosyasının tamamını vermeye karar verirseniz çok uzun girdileri iyi işler. Google'ın kendi sayfası, Gemini web uygulamasının 230'dan fazla ülke ve bölgede çalıştığını söylüyor ve İran o listede yok.
  • ChatGPT Raporu özetlemek ve sıralamak için yeterli. İran'dan erişim konusunda bir iddiada bulunmuyoruz, çünkü OpenAI'nin desteklenen ülkeler sayfası, o alan adının geri kalanı gibi, bu sunucuya 403 döndürüyor.

Nerede geri teper

Üç risk var ve ilki kendi cümlesini hak edecek kadar yaygın: model raporunuzda olmayan denetim adları uydurur. Lighthouse adlarının örüntüsünü görmüştür ve ona benzeyen ama var olmayan bir şey üretebilir; biçimi doğru olduğu için kimse sorgulamaz. Basit savunma, modelin yazdığı her başlığı kendi dosyanızda aramaktır; orada yoksa gerçek değildir. Anthropic'in kendi belgeleri, modelin arkasını dolduramadığı bir şeyi güvenle söylemesini halüsinasyon diye adlandırır. İkinci risk laboratuvarla sahayı karıştırmaktır: model benzetilmiş bir çalıştırmanın sayısını alıp gerçek kullanıcıların deneyimi hakkında hüküm verir. Üçüncü risk modelden çok veriyle ilgilidir: rapor çıktısı sayfa adreslerini ve bazen bir müşterinin iç URL'lerini taşır ve bir sohbet botuna yapıştırdığınız metne ne olacağı o hizmetin planına ve ayarlarına bağlıdır. Bir müşteri sitesinde çalışıyorsanız, yapıştırmadan önce o hizmetin veri kullanım sayfasını bir kez okuyun. Duruşumuz: model rapor verinizi sıralayabilir ve içinden seçebilir, ona bir şey ekleyemez.

Kaynaklar: Anthropic: reduce hallucinations Anthropic: supported countries Google: where Gemini Apps are available

Bu tavsiyenin sınırı

Bu ders size nasıl ölçeceğinizi ve nasıl karar vereceğinizi öğretir; hiçbir sayfayı hızlandırmaz ve satışlarınız hakkında bir sayı üretmez. Üç sınırı daha var. Birincisi, puan ağırlıkları ve API davranışı Google belgelerinin bugünkü hâlinden okundu ve o belgeler canlıdır; Lighthouse belgelerinin kendisi ağırlıkların zaman içinde değiştiğini belirtiyor, dolayısıyla bu sayfanın üstündeki doğrulama tarihinden bu yana uzun zaman geçtiyse kaynak bağlantılarını bir kez açın. İkincisi, anahtarla Google'ın kendi hizmetinden gelmedikçe hiçbir puanı Lighthouse puanı olarak yayımlamayız; herhangi bir yedek aracın çıktısı başka bir şeydir ve kendi adıyla anılmalıdır. Üçüncüsü, bu yöntem küçük ve orta ölçekli işletme siteleri için yazıldı; adanmış bir performans ekibi ve sürekli gerçek kullanıcı izlemesi olan bir ölçekte döngü farklıdır ve o ölçekte birinci elden deneyimimiz yok.

Kendi işimizden

Bu sitedeki hız testini Google'ın kendi API'si üzerine biz yazdık ve o işten hiçbir eğitimde görmediğimiz üç şey çıktı. Birincisi, tek bir yanıt iki veri türünü de taşır: kodumuz laboratuvar sayısını lighthouseResult içinden, beş saha değerini ise loadingExperience içinden okur ve bu beşinin her birini varlık kontrolüyle korumak zorunda kaldık, çünkü o blok çok sık biçimde hiç bulunmuyor. İkincisi, o adres anahtarsız ölü: 8 Eylül 2026'da tam da bu sunucudan çağırdık ve 429 aldık; günlük kotanın değeri tükenmiş değil, sıfır yazıyordu. Bu durumda kodumuz kendi HTML düzeyindeki kontrolüne düşer ve o çıktıya Lighthouse raporu demeyiz, çünkü değil. Üçüncüsü, her adresin sonucunu on dakika önbelleğe alıyoruz; sunucu için iyi, yeni bir test aldığını sanan biri için değil. Bu kararların bize maliyeti şu: bir API anahtarına bağlı ücretsiz bir araç sessizce biçim değiştirir ve kullanıcı fark etmez. Bu yüzden bu sitede Lighthouse puanı olarak yayımlanan her sayı, sayfada kendi tarihini taşır.

Gerçek devam soruları

Sayı güvenilir olana kadar kaç kez test almalıyım?

Değişiklikten önce üç, sonra üç çalıştırma; ve her zaman en iyi sayıları değil ortancaları karşılaştırın. Lighthouse belgelerinin kendisi, değişkenliğin çoğunun siteden değil testin çalıştığı koşullardan geldiğini belirtir. Ortancalar arasındaki fark yayılımdan küçükse kanıtlanabilir bir etki yoktur.

Mobil mi masaüstü mü test etmeliyim?

İkisi de; ama yalnızca birine vaktiniz varsa mobili seçin. Core Web Vitals değerlendirmesi ikisini ayrı ölçer ve Farsça sitelerin çoğunda mobil payı daha büyüktür. Masaüstü sayısı neredeyse her zaman daha iyidir; yalnızca ona bakmak da tam bu yüzden sizi yersiz biçimde rahatlatır.

Ücretsiz bir hız aracıyla ücretli olanın farkı nedir?

Önemli fark hangisinin para ettiği değil, arkasında gerçekte hangi motorun çalıştığı ve o motoru gerçekten çalıştırıp çalıştırmadığıdır. Google'ın resmi hizmeti artık anahtarsız yanıt vermiyor; dolayısıyla her zaman anında yanıt veren bir aracın ya kendi anahtarı vardır ya da başka bir şey çalıştırıyordur. Her araca sorulacak doğru soru şudur: bu sayı nereden geldi?