Solusi untuk Minify JavaScript di PageSpeed Insights

Solusi untuk Minify JavaScript di PageSpeed Insights

Hampir sama seperti Minify CSS, Minify JavaScript atau dalam bahasa Indonesianya Memperkecil JavaScript adalah masalah loading blog pada Google PageSpeed Insights yang disebabkan oleh JavaScript blog itu sendiri.

Javascript memang suatu hal yang tidak bisa dipisahkan dari blog. Tanpanya, blog akan mengalami masalah, seperti beberapa widget yang tidak work, tombol balas pada komentar tidak work, dan lain-lain.

Tetapi tentu pemakaian Javascript ini harus disertai dengan perilaku yang baik, seperti mengkompresnya terlebih dahulu, penempatannya di dalam HTML, dan lain lain. Bila tidak, maka blog akan bertambah masalahnya, yaitu loadingnya yang menjadi lambat.

Langsung saja, berikut beberapa penyebab blog berat karena Javascript:
  1. JavaScript belum dikompres
  2. Penggunaannya yang berlebihan
  3. Terjadi duplikat / 2 (atau lebih) Javascript yang sama
  4. Javascript yang dihosting di luar
  5. Javascript yang terpisah-pisah

Kelima masalah diatas harus segera ditangani dan diatasi dengan baik bila terjadi di blog kesayangan anda, tentunya agar waktu loadnya menjadi ringan dan cepat. Berikut cara mengatasinya.

1. JavaScript belum dikompres


Silahkan anda cek satu persatu Javascript yang ada di blog anda, apabila ada yang berbentuk kurang lebih seperti ini:

<script type='text/javascript'>//<![CDATA[
$(function(){
   if ($('#PopularPosts1').length) {
      var el = $('#PopularPosts1');
      var stickyTop = $('#PopularPosts1').offset().top;
      var stickyHeight = $('#PopularPosts1').height();

      $(window).scroll(function(){
          var limit = $('#blog-pager').offset().top - stickyHeight - 20;

          var windowTop = $(window).scrollTop();

          if (stickyTop &lt; windowTop){
             el.css({ position: 'fixed', top: 0 });
             el.addClass("sticky");
          }
          else {
             el.css('position','static');
          }

          if (limit &lt; windowTop) {
          var diff = limit - windowTop;
          el.css({top: diff});
          }
        });
   }
});
//]]></script>
(banyak jarak + ruang kosongnya diantara kode, btw script diatas hanya contoh)

Segera anda copy semua kode dari setelah //<![CDATA[ sampai sebelum //]]>, buka tool pengkompres ini, pastekan disana, lalu kompres Javascript tadi. Kemudian silahkan anda hapus kode diatas dan ganti dengan yang hasil kompresan tadi.

Hal ini bertujuan untuk memperkecil size Javascript pada blog anda. Javascript yang tidak dikompres tentu berukuran besar dan dapat memperlambat loading blog anda.

Tenang aja... pengkompresan gak membuat javascript error kok...

2. Penggunaannya yang berlebihan


Dari yang gak perlu-perlu bener sampe yang tidak digunakan masih aja nempel Javascriptnya di blog.

Saya sarankan sekarang juga anda melakukan bersih-bersih template, sekaligus melakukan penyisihan...

...mana Javascript yang memang benar-benar diperlukan, mana yang tidak terlalu digunakan. Apalagi memang tidak pernah digunakan/tidak work.

Dulu juga saya pernah melakukan bersih-bersih Javascript. Javascript untuk menu dropdown saya hapus (baru saya ganti menu tanpa Javascript), Script yang membuat Back to Top smooth saya hapus, jquery tambahan, javascript eksternal, dan masih banyak lagi.

Alhasil, blog saya waktu loadnya lumayan cepat sekarang. Berkurang sekitar 0.3-0.4 detik.

3. Terjadi duplikat Jquery


Duplikat disini berarti dobel, alias ada lebih dari satu padahal yang diperlukan hanya satu.

Misal seperti ini, di dalam tag head atau body di blog anda terdapat kode yang mirip seperti ini lebih dari satu... Silahkan anda cek sekarang.

<script src='https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js'></script>

Mungkin bila terdapat lebih dari satu, bentuknya seperti ini:

Yang satu:
<script src='https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js'></script>

Yang satunya lagi:
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js'></script

Hanya berbeda pada versinya saja, yang pertama 3.1.1 yang kedua 1.11.0. Padahal, hal ini tidak terlalu berpengaruh pada blog anda, efeknya sama saja (mungkin berbeda pada widget kasus tertentu), tetapi blog harus merequest dan mendownload keduanya.

Tentu hal ini sangat membuang-buang waktu, meload Jquery yang tidak diperlukan.

Saran dari saya, cobalah anda hapus salah satu dari kode diatas (namanya Jquery Library) yang memiliki versi lebih lama, misal 3.1.1 dengan 1.11.0, maka hapuslah yang 1.11.0.

Lalu cek blog anda...

...bila tidak terjadi apa-apa, maka simpan perubahan. Bila terjadi perubahan misal beberapa widget tidak work, maka urungkan penghapusan dan masukkan lagi Jquery Librarynya.

4. Javascript yang dihosting di luar


Nama lain dari Javascript yang dihosting diluar ini adalah external Javascript. Kok bisa, Javascript yang dihosting diluar blog akan memperlambat waktu load ya?

Ya jelas... silahkan anda lihat gambar dibawah ini untuk lebih detailnya.

JS Eksternal

Blog yang mempunyai Javascript yang dihosting tentu akan memiliki request lebih, selain request ke blognya sendiri. Sehingga hal ini dapat membuang waktu dan kuota lebih.

Cukup Jquery Library saja yang dihosting, kalau Javascript biasa menurut saya tidak terlalu diperlukan penghostingan.

5. Javascript yang terpisah-pisah


Misal di blog anda terdapat kode Javascript yang berhamburan seperti ini:

<html>
<head>...</head>

<body>

<script type='text/javascript'>//<![CDATA[
... A ...
//]]></script>
<script type='text/javascript'>//<![CDATA[
... B ...
//]]></script>
<script type='text/javascript'>//<![CDATA[
... C ...
//]]></script

</body>

</html>

 Cukup anda gabungkan semua Javascript diatas menjadi seperti ini:

<html>
<head>...</head>

<body>

<script type='text/javascript'>//<![CDATA[
... A ...
... B ...
... C ...
//]]></script>

</body>

</html>

Selesai...

Nah, bagaimana? Semoga masalah ini cepat terselesaikan oleh blog anda dan terima kasih telah membaca dan mengikuti langkahnya!

Kamis, Juni 29, 2017 - 6 komentar

6 komentar untuk Solusi untuk Minify JavaScript di PageSpeed Insights.

Silakan masukkan komentar anda. Jangan habiskan waktu hanya untuk melakukan SPAM disini.


Perlihatkan Semua Komentar Tutup Semua Komentar
.
Slamet Riady
Jumat, 19 Januari 2018 19.21.00 WITA

Boleh bagi manual compress js nya gak kang? Mau nyoba buat sendiri. Kl blh sih

Balas Hapus
.
Slamet Riady
Jumat, 19 Januari 2018 19.26.00 WITA

Kl blh request versi xml atau html

Balas Hapus
.
Ozik Jarwo
Sabtu, 20 Januari 2018 07.12.00 WITA

Maksudnya cara kompres JS manual tanpa tool?

Balas Hapus
.
Slamet Riady
Sabtu, 20 Januari 2018 12.30.00 WITA

Cara buat tools nya bang, sdh pernah buat tp gagal. Kalo boleh sih

Balas Hapus
.
Ozik Jarwo
Sabtu, 20 Januari 2018 18.09.00 WITA

Saya juga dulu pernah buat, tapi JS nya sudah rusak. Jadi nda tau lagi.

Balas Hapus