İlk Giriş Gecikmesi, İngilizcede First Input Delay olarak adlandırılan ve FID şeklinde kısaltılan, kullanıcının bir web sayfasıyla ilk kez etkileşime geçtiği an ile tarayıcının bu etkileşimi işlemeye başlayabildiği an arasındaki gecikmeyi ölçen performans metriğidir. Bu etkileşim bir bağlantıya tıklama, bir butona dokunma, bir form alanına giriş yapma veya JavaScript ile çalışan bir kontrolü kullanma olabilir. FID, web sitesinin ilk etkileşim anındaki yanıt verebilirliğini anlamaya yardımcı olur.
FID, kullanıcının butona tıkladıktan sonra tüm işlemin ne kadar sürede tamamlandığını ölçmez. Daha doğru ifadeyle, tarayıcının ana iş parçacığı meşgul olduğu için kullanıcının ilk etkileşimini işlemeye ne kadar geç başlayabildiğini ölçer. Örneğin kullanıcı sayfa yüklenirken bir butona tıkladığında, tarayıcı o sırada büyük bir JavaScript dosyasını çalıştırıyorsa tıklamaya hemen yanıt veremeyebilir. Bu bekleme süresi First Input Delay olarak değerlendirilir.
İlk Giriş Gecikmesi, kullanıcının siteyle ilgili ilk etkileşim algısını etkilediği için önemlidir. Bir sayfa görsel olarak yüklenmiş gibi görünebilir ancak kullanıcı butona tıkladığında, menüyü açmaya çalıştığında veya form alanına yazı girdiğinde hiçbir tepki alamıyorsa deneyim olumsuz hale gelir. Kullanıcı açısından sayfanın yalnızca görünmesi yeterli değildir; sayfanın etkileşimlere hızlı yanıt vermesi de gerekir. Bu nedenle FID, özellikle JavaScript yoğun web sitelerinde önemli bir performans göstergesi olarak değerlendirilmiştir.
FID, geçmişte Core Web Vitals metriklerinden biri olarak kullanılmıştır. Ancak Google, 12 Mart 2024 itibarıyla FID yerine Interaction to Next Paint, yani INP metriğini Core Web Vitals kapsamına almıştır. Bunun nedeni, FID’nin yalnızca ilk etkileşimdeki gecikmeyi ölçmesi; INP’nin ise sayfa ziyareti boyunca gerçekleşen tıklama, dokunma ve klavye etkileşimlerinin genel yanıt verebilirliğini daha kapsamlı değerlendirmesidir. Bu nedenle güncel performans analizlerinde FID yerine INP’ye odaklanmak daha doğru bir yaklaşımdır.
FID için geçmişte kullanılan eşikler oldukça netti. 100 milisaniye veya daha düşük FID değeri iyi kabul edilirdi. 100 ile 300 milisaniye arasındaki değerler geliştirilmesi gereken alan olarak değerlendirilirdi. 300 milisaniyenin üzerindeki FID değerleri ise zayıf kullanıcı deneyimine işaret ederdi. Bu metrikte düşük değer olumlu, yüksek değer olumsuzdur. Dolayısıyla yüksek FID skoru, iyi performans değil, kullanıcının etkileşim sırasında daha fazla beklediği anlamına gelir.
FID sorunlarının temel nedeni genellikle tarayıcının ana iş parçacığının meşgul olmasıdır. Büyük JavaScript dosyalarının indirilmesi, ayrıştırılması ve çalıştırılması bu gecikmenin en yaygın nedenleri arasında yer alır. Üçüncü taraf scriptler, reklam etiketleri, analiz kodları, ağır framework yapıları ve uzun görevler de kullanıcının ilk etkileşimine yanıt verilmesini geciktirebilir. Sayfa görsel olarak yüklenmiş olsa bile arka planda devam eden yoğun işlem, kullanıcının etkileşimini bloke edebilir.
FID çoğunlukla First Contentful Paint ile sayfanın güvenilir biçimde etkileşimli hale geldiği dönem arasında sorun yaratır. Bu aşamada kullanıcı sayfada bazı içerikleri görmeye başlamıştır ancak sayfanın tüm JavaScript işlemleri tamamlanmamış olabilir. Kullanıcı tam bu sırada bir butona tıklarsa veya bir forma giriş yaparsa, tarayıcı önce mevcut uzun görevi bitirmek zorunda kalabilir. Bu da ilk giriş gecikmesini artırır ve kullanıcının sayfayı yavaş algılamasına neden olur.
FID’i iyileştirmek için JavaScript yükü azaltılmalıdır. Kullanılmayan JavaScript kodları temizlenmeli, büyük dosyalar daha küçük parçalara bölünmeli, kritik olmayan scriptler ertelenmeli ve üçüncü taraf kodlar dikkatli yönetilmelidir. Uzun görevler daha küçük parçalara ayrılabilir, ana iş parçacığını bloke eden işlemler azaltılabilir ve mümkün olan durumlarda Web Worker gibi çözümler kullanılabilir. Ayrıca sayfa açılışında yalnızca gerçekten gerekli kaynakların yüklenmesi, etkileşim hızını iyileştirmeye yardımcı olur.
FID yalnızca gerçek kullanıcı etkileşimi olduğunda ölçülebilen bir metriktir. Bu nedenle laboratuvar testlerinde doğrudan FID ölçmek her zaman mümkün değildir. Kullanıcı sayfayla etkileşime geçmezse o oturum için FID değeri oluşmayabilir. Bu nedenle geçmişte FID sorunlarını laboratuvar ortamında tahmin etmek için Total Blocking Time gibi metriklerden yararlanılırdı. Günümüzde ise genel yanıt verebilirliği daha iyi analiz etmek için INP metriği takip edilmelidir.
Kısacası First Input Delay, kullanıcının web sayfasıyla ilk etkileşimi sırasında tarayıcının ne kadar hızlı yanıt vermeye başlayabildiğini ölçen önemli bir performans metriğidir. Tarihsel olarak Core Web Vitals içinde yer almış olsa da güncel değerlendirmelerde yerini INP’ye bırakmıştır. Buna rağmen FID’in işaret ettiği temel sorunlar hala önemlidir: aşırı JavaScript kullanımı, ana iş parçacığının bloke olması, uzun görevler ve üçüncü taraf scriptlerin yarattığı gecikmeler. Daha iyi bir kullanıcı deneyimi için sayfanın yalnızca hızlı görünmesi değil, kullanıcı etkileşimlerine de hızlı yanıt vermesi gerekir.