# DAS: Hasil PageSpeed & Perbaikan
**30 September 2026** · Diukur dengan Lighthouse 13.5 langsung di server (PSI API kena batas kuota harian, jadi dijalankan sendiri dengan mesin yang sama) · Beranda `dasindonesia.com`

---

## Skor beranda

| Kategori | Skor |
|---|---|
| Performance | **61** |
| Accessibility | **70** |
| Best Practices | **73** |
| SEO | **77** |

**Metrik inti**

```
First Contentful Paint    0,7 s   ✅ baik
Largest Contentful Paint  0,7 s   ✅ baik
Total Blocking Time       1.570 ms  ❌ buruk (standar sehat < 200 ms)
Cumulative Layout Shift   0,009   ✅ sangat baik
Speed Index               3,8 s   ⚠️ sedang
Ukuran halaman total      2.663 KB ⚠️ berat
Kerja di main-thread      4,9 s   ❌
Waktu eksekusi JavaScript 3,2 s   ❌
Respons server (TTFB)     50 ms   ✅ baik setelah server di-restart
```

Kesimpulannya jelas: **servernya sudah cepat dan tata letak stabil. Yang menjatuhkan skor adalah JavaScript.** Halaman memblokir main-thread selama 1,57 detik, dan hampir semuanya berasal dari skrip.

---

## Tiga error yang perlu dibereskan

### 1. Error JavaScript di tema (ini yang paling langsung)

```
TypeError: Cannot read properties of null (reading 'length')
   at g (wp-content/themes/node/assets/js/modules.min.js?ver=7.1-alpha-62173:1:14587)
   at c (...:1:14117)
```

Tema yang dipakai DAS adalah **Node**, dan versinya masih bertanda `7.1-alpha` — versi pra-rilis. Error ini muncul di setiap halaman dan membuat sebagian fungsi tema berhenti di tengah jalan. Perbaikannya ada di sisi tema: perbarui ke versi rilis stabil, atau laporkan ke pengembang tema.

### 2. Tautan yang tidak bisa dirayapi mesin

Dua tautan memakai `href="javascript:void(0)"` — pembuka pencarian dan pembuka menu di kepala halaman. Google tidak bisa mengikuti tautan seperti itu, dan Lighthouse menandai ini sebagai masalah SEO. Perbaikannya di sisi tema (ganti menjadi tombol, bukan tautan).

### 3. Teks tautan "Read More" (bahasa Inggris)

Delapan tautan di daftar artikel memakai teks "Read More". Untuk pembaca Indonesia ini terasa janggal, dan untuk mesin, teksnya tidak menerangkan apa pun. Sebaiknya diganti "Baca selengkapnya" atau judul artikelnya sendiri.

Catatan: Lighthouse juga menandai **robots.txt tidak sah**. Saya periksa isinya dan saya uji dengan pustaka parser yang dipakai Lighthouse sendiri — **robots.txt-nya sah**: Googlebot diizinkan merayapi, dan sitemap terbaca. Tanda itu muncul karena saat Lighthouse mengambil berkasnya, server sedang goyah. Tidak ada yang perlu diperbaiki di situ.

---

## Yang membuat halaman berat (urut bobot)

```
570 KB   Google Tag yang disajikan dari domain sendiri (/qhuv/ — 3 berkas)
         Catatan: ini bukan malware. Isinya skrip Google resmi, disajikan lewat
         domain sendiri supaya tidak diblokir pemblokir iklan.
195 KB   gtag.js dari googletagmanager.com
233 KB   tiga font ikon (icomoon 94 KB + FontAwesome 76 KB + ElegantIcons 63 KB)
178 KB   DAS-19.png (gambar promo di beranda)
122 KB   PromoDAS4.png · 107 KB RevSlider · 86 KB PromoDAS5.png
 81 KB   CSS yang tidak terpakai (WPBakery + tema)
 63 KB   mediaelement (pemutar media WordPress — tidak dipakai beranda)
 25 KB   Trustindex (widget ulasan)
```

Selain itu **Cloudflare Rocket Loader aktif**, dan itu sering menjadi biang Total Blocking Time yang tinggi: setiap skrip ditahan lalu dijalankan ulang oleh Cloudflare, sehingga waktu eksekusi menumpuk (3,2 detik).

---

## Yang sudah saya perbaiki hari ini

**Gambar di isi artikel** — 84 gambar pada 24 artikel:

| Sebelum | Sesudah |
|---|---|
| 0 gambar punya `srcset` | **83** punya `srcset` (ponsel mengunduh versi kecil, bukan versi penuh) |
| 0 gambar punya `loading` | **84** punya `loading="lazy"` |
| 2 gambar punya dimensi | **83** punya `width` + `height` (mencegah tata letak bergeser) |
| 2 gambar punya `decoding` | **84** punya `decoding="async"` |

Bukti di halaman hidup (`/bengkel-spesialis-pajero-di-surabaya/`): 16 elemen `srcset` terpasang, dan tetap bekerja berdampingan dengan lazy-load WP Rocket (26 elemen `data-lazy-src`).

Isi seluruh artikel sudah saya periksa tidak ada yang berkurang; setiap artikel disalin dulu sebelum diubah.

---

## Yang perlu Bos kerjakan (urut dampak)

1. **Matikan Rocket Loader** di Cloudflare → Speed → Optimization. Ini satu perubahan yang biasanya paling besar menurunkan waktu blokir.
2. **Perbarui tema Node** dari versi alpha ke rilis stabil — menghilangkan error JavaScript.
3. **Aktifkan cache HTML di Cloudflare.** Sekarang HTML tidak di-cache (`BYPASS`), artinya setiap pengunjung menunggu server walaupun TTFB-nya sedang baik. Inilah juga yang membuat situs terasa mati total saat server goyah.
4. **Ringankan aset tema**: RevSlider hanya di beranda, font ikon diganti SVG, mediaelement dimuat hanya bila perlu, Trustindex dimatikan bila tidak dipakai.
5. **Kompres gambar promo beranda** ke WebP — `DAS-19.png` (178 KB) dan `PromoDAS4.png` (122 KB) bisa turun di bawah 40 KB tanpa terlihat berbeda.
6. **Ganti "Read More"** dan perbaiki dua tautan `javascript:void(0)` di tema.

Empat poin pertama berdampak paling besar. Setelah Bos mengerjakannya, saya ukur ulang dan bandingkan angkanya.

---

## Catatan pemantauan

Hari ini situs sempat mati total (server menerima sambungan tetapi tidak menjawab selama lebih dari 45 detik di semua URL) dan sebelumnya sempat membalas 404. Server asal: `103.175.217.138`. Ulah server yang goyah ini juga yang membuat pengukuran pertama gagal dua kali. Setelah Bos melakukan restart, TTFB turun ke 50 ms dan pengukuran berjalan lancar.

Pengawas otomatis tersedia di `das_pantau_lighthouse.py`: memeriksa tiap 60 detik, dan menjalankan Lighthouse sendiri begitu situs kembali hidup.
