5 Cara Paling Efektif untuk Mempersingkat Waktu Loading Website

Seberapa cepat situs web atau aplikasi Anda pertama kali dimuat adalah kesan pertama yang didapat pengguna Anda. Dalam panduan ini, kami akan membuat daftar teknik yang telah terbukti untuk memangkas detik-detik berharga dari pemuatan halaman awal.

Waktu muat awal

Waktu yang diperlukan dari saat pengguna atau pelanggan Anda memasukkan nama domain situs web Anda hingga saat mereka melihat konten adalah beberapa detik terpenting yang Anda miliki untuk membuat kesan pertama yang baik.

Amazon menemukan bahwa setiap 100 milidetik latensi menghabiskan 1% penjualan.

Namun, banyak pengembang web menganggap ini sebagai renungan. Semakin banyak perpustakaan ditambahkan untuk semakin banyak fitur, dan secara bertahap dari waktu ke waktu, mereka mulai melihat lebih sedikit konversi. Lebih buruk lagi, kerugian dalam konversi ini sulit dideteksi karena meninggalkan halaman yang memuat lambat sebelum sempat mengirim metrik apa pun.

Beberapa di antaranya adalah teknik yang dapat diimplementasikan di front-end dan beberapa di back-end. Apa pun itu, aplikasi web harus dimuat dengan cepat.

Tambahkan pengukuran yang tepat

Hal pertama yang perlu Anda lakukan adalah menambahkan pengukuran. Ada banyak tahapan proses pemuatan, dan Anda tidak akan tahu di mana hambatannya tanpa mengukur segmen yang tepat.

Berikut ini adalah tonggak terpenting dari proses pemuatan:

Pengukuran | Diagram dibuat pada Terrastruct

Artinya, Anda harus melacak metrik untuk setiap segmen diagram ini.

Mari kita pergi melalui bagaimana Anda bisa melakukan itu.

Permintaan browser untuk menanggapi disajikan:

Ukur ini di server Anda. Anda ingin mendapatkan momen saat API Anda menerima permintaan saat melayani respons. Bergantung pada apakah panggilan eksternal ke, misalnya, database dibuat, ini bisa sangat singkat atau hambatan yang signifikan.

Tanggapan disajikan untuk tanggapan yang diterima:

Ini lebih sulit untuk diukur, tetapi salah satu cara untuk melakukannya adalah dengan menambahkan stempel waktu ketika respons Anda meninggalkan server Anda dan mengukurnya dengan waktu saat ini di sisi pengguna pada saat pertama yang memungkinkan (tag skrip di kepala HTML halaman).

Tanggapan diterima untuk cat konten pertama:

Cat konten pertama mengacu pada saat elemen pertama dirender di DOM. Itu bisa berupa sesuatu yang sederhana seperti beberapa teks, atau latar belakang, atau pemintal pemuatan. Ini dapat diukur dengan menjalankan Lighthouse di alat pengembang Chrome.

  Di Negara Mana Anda Dapat Menonton Disney Plus? Dimanapun Anda Ingin

Cat konten pertama hingga cat konten terbesar:

Cat konten terbesar mengacu pada saat elemen terbesar dirender di viewport browser pengguna. Ini biasanya menandakan akhir dari bagian “rendering” dari pemuatan halaman, dan pengguna melihat layar terisi. Ini juga diukur dengan menjalankan Lighthouse.

Cat konten terbesar ke waktu untuk interaktif:

Terakhir, waktu untuk interaktif mengacu pada saat pengguna dapat melakukan tindakan seperti menggulir, mengklik, dan mengetik. Ini bisa sangat membuat frustrasi jika durasi ini lama karena mereka akan melihat layar yang dirender di depan mereka tetapi tidak dapat melakukan apa pun ketika mereka mengharapkannya! Ini adalah metrik lain yang Lighthouse bantu kami ukur.

Kurangi kode

Sekarang setelah Anda memiliki pengukuran, Anda dapat mulai melakukan pengoptimalan. Pengoptimalan memiliki pengorbanan, dan pengukuran akan memberi tahu Anda mana yang layak.

Halaman tercepat untuk memuat adalah halaman kosong, tetapi banyak kode dapat ditambahkan ke aplikasi sebelum siapa pun dapat melihat perbedaan kecepatan memuat antara itu dan halaman kosong. Yang sering terjadi adalah peningkatannya sangat kecil sehingga Anda tidak melihat perbedaan dari build ke build hingga suatu hari, itu mulai terasa lambat. Anda menyadari aplikasi Anda membengkak, dan pada titik inilah pengurangan kode akan membuat perbedaan.

Anda mendapatkan dua peningkatan kecepatan saat mengurangi kode:

  • Aplikasi Anda ditransfer melalui jaringan lebih cepat.
  • Browser pengguna menyelesaikan penguraian kode lebih cepat.

Percepatan pertama kecil; karena permintaan dikompres melalui kabel, jika Anda memotong 1 MB kode sumber, mungkin hanya menghemat 10 KB pada bandwidth. Namun, percepatan dari parsing kurang signifikan. Pengguna Anda mungkin menjalankan aplikasi Anda di seluruh spektrum browser dan komputer, banyak di antaranya tidak memiliki daya komputasi yang dapat mengurai kode secepat yang Anda lakukan sendiri.

Atau mereka dapat berjalan di perangkat seluler, bahkan dengan daya komputasi yang lebih kecil. Perbedaannya bisa dalam besarnya detik.

Jadi, semakin sedikit kode yang Anda miliki, semakin cepat browser dapat menyelesaikan penguraian dan menjalankan aplikasi Anda. Bahkan jika Anda ingin menampilkan layar pemuatan yang dikontrol Javascript, itu didahului dengan penguraian kode itu.

Tetapi Anda tidak ingin memotong fitur atau benar-benar menghapus kode. Untungnya, ada beberapa praktik standar untuk mengurangi kode tanpa harus melakukannya.

  • Jalankan kode Anda melalui minifiers. Minifier melakukan pengoptimalan seperti mempersingkat nama panjang menjadi pendek (signUpDarkModeButton menjadi ss), menghapus karakter spasi, dan lainnya untuk mendapatkan kode Anda sekompak mungkin tanpa kehilangan apa pun.
  • Impor parsial. Perpustakaan sering dipenuhi dengan hal-hal yang tidak Anda perlukan tetapi dikemas bersama di bawah paket payung. Mungkin Anda hanya menginginkan fungsi tertentu dari pustaka utilitas, jadi alih-alih mengimpor seluruh pustaka, Anda dapat mengimpor kode yang diperlukan saja.
  • Kode mati goyang pohon. Kadang-kadang Anda meninggalkan kode untuk keperluan debugging atau belum membersihkan fitur yang tidak digunakan lagi secara menyeluruh, dan meskipun ada di kode sumber Anda, fitur itu tidak pernah berjalan. Ada alat di rantai alat JavaScript, seperti Webpack, yang dapat mendeteksi kode mati atau dependensi yang tidak digunakan dan menghapusnya dari build produksi secara otomatis untuk Anda.
  SHINE For Reddit Adalah Skin Yang Hanya Berfokus Pada Konten [Chrome]

Membagi kode menjadi potongan-potongan

Setelah mengurangi sebanyak mungkin kode dari keseluruhan aplikasi, Anda dapat memikirkan untuk memeras ide ini lebih lanjut dan mengurangi kode yang diperlukan untuk pemuatan awal.

Katakanlah 20% dari kode Anda mendukung beberapa fitur aplikasi Anda yang hanya dapat diakses pengguna setelah beberapa klik. Akan membuang-buang waktu bagi browser untuk mengurai kode tersebut sebelum menampilkan layar pemuatan. Membagi kode Anda menjadi beberapa bagian dapat secara signifikan mengurangi waktu untuk interaktif.

Alih-alih memiliki grafik ketergantungan impor yang saling terkait untuk semua file Javascript Anda, identifikasi area yang mudah dipotong. Misalnya, mungkin sebuah komponen memuat beberapa pustaka yang berat. Anda dapat mengisolasi komponen tersebut ke dalam filenya sendiri dan kemudian hanya mengimpor saat pengguna siap berinteraksi dengan komponen tersebut.

Ada beberapa pustaka di luar sana untuk menunda pemuatan, bergantung pada kerangka yang Anda gunakan. Tidak perlu berlebihan dengan ini dan membagi setiap komponen karena pengguna memiliki beban awal yang cepat dan harus menunggu setiap interaksi berikutnya. Temukan bagian terbesar yang dapat Anda segmentasikan, dan pisahkan kode sumber Anda di sana.

Render sisi server

Mengingat bahwa browser perlu melakukan semua penguraian dan kompilasi yang intensif dan memiliki pengguna di Chromebook dan perangkat seluler, salah satu teknik umum untuk mengurangi waktu muat adalah membuat server Anda mengambil sebagian dari beban itu. Artinya, alih-alih memberikan halaman kosong dan kemudian menggunakan Javascript untuk mengisi semua konten, seperti yang dilakukan sebagian besar aplikasi satu halaman saat ini, Anda dapat menjalankan mesin Javascript di server Anda (biasanya Node.js) dan mengisinya sebanyak mungkin data dan konten.

Server Anda akan jauh lebih cepat dan dapat diprediksi daripada browser pengguna. Mau tidak mau, mereka masih perlu mengurai beberapa kode Javascript agar aplikasi menjadi interaktif. Tetap saja, perenderan sisi server dapat mengisi sebagian besar konten awal sehingga ketika pengguna mendapatkan halaman, itu sudah menunjukkan layar pemuatan atau bilah progres minimal.

  Perbaiki Kesalahan Server Proxy WiFi PS4

Dan jika data diperlukan untuk tampilan awal, klien tidak perlu membuat permintaan terpisah untuk mendapatkannya; itu sudah terhidrasi dalam aplikasi untuk digunakan klien.

Kompres aset

Aset membuat halaman menjadi hidup, dan halaman tidak terasa dimuat sepenuhnya sampai aset tersebut selesai dirender. Ini mungkin latar belakang Anda, ikon antarmuka pengguna, gambar profil pengguna, bahkan pemintal pemuatan. Seringkali, aset juga dapat mengubah tata letak, jadi jika pengguna mulai mencoba berinteraksi dengan sesuatu, halaman mungkin terus melompat-lompat saat aset dimuat. Terkadang, aset ini adalah cat konten terbesar.

Tetapi aset juga merupakan salah satu bagian terberat dari sebuah aplikasi. Sebuah gambar dapat berukuran beberapa megabita, dan memuat banyak ikon dapat dengan mudah melampaui batas permintaan jaringan bersamaan maksimum browser, menyebabkan antrean pemuatan yang mengejutkan.

Anda hampir tidak pernah ingin mengunduh gambar dari internet dan kemudian mereferensikannya di aplikasi Anda. Gambar harus diubah ukurannya ke dimensi sekecil mungkin yang akan ditampilkan. Jika Anda memiliki profil pengguna yang ditampilkan dalam elemen kecil berukuran 50 piksel kali 50 piksel, tanpa mengubah ukuran, aplikasi Anda akan memerlukan waktu untuk mengunduh gambar lengkap yang terlihat tajam seperti wallpaper desktop, lalu mengubah ukurannya menjadi ukuran kecil.

Kedua, gambar dapat dikompresi tergantung pada formatnya. Hari-hari ini, webm adalah format yang disukai, tetapi bidang kompresi di web terus ditingkatkan, dan banyak format baru akan segera hadir. Karena sifat format yang berubah, beberapa browser mungkin tidak mendukung yang lebih baru! Untungnya, teknologi browser memungkinkan browser pengguna memuat format apa pun yang mereka dukung.

Jadi, kompres ke format terbaru dan terhebat, tetapi juga pertahankan versi yang kurang modern, dan gunakan elemen gambar dan video yang mendukung format mundur.

Kesimpulan

Ini adalah lima teknik paling efektif untuk memberi pengguna Anda pemuatan pertama yang sangat cepat di aplikasi Anda. Ini akan meningkatkan tingkat konversi Anda, kebahagiaan pengguna, dan bahkan peringkat pencarian, karena SEO menghargai waktu muat yang cepat. Pada Terrastrukturkami menggunakan teknik ini dan lebih banyak lagi sehingga pengguna dapat membuat dan melihat diagram yang Anda lihat di artikel ini secepat mungkin.