Disediakan oleh SawangVille Tech Ventures Sdn Bhd No. Pendaftaran 202601003133 (1665230-D) Dokumen sulit untuk Jabatan Pengangkutan Jalan Malaysia (JPJ). Tidak untuk diedarkan semula atau digunakan tanpa kebenaran.
SawangVille × JPJ · Audit Portal Rasmi · www.jpj.gov.my

Audit Portal Rasmi JPJ
& Cadangan Penambahbaikan

Kajian menyeluruh ke atas portal www.jpj.gov.my: infrastruktur dan keselamatan, prestasi, aksesibiliti, kandungan, carian, SEO dan pengalaman pengguna. Setiap dapatan disertakan bukti, kesannya kepada orang awam, dan cadangan pembetulan. Di hujung dokumen terdapat cadangan hala tuju revamp dan pelan tindakan berfasa.

Draf 1 · 31 Oktober 2026 · Semakan luaran sahaja: semua ujian dibuat dari internet awam seperti pengunjung biasa, tanpa akses ke pelayan, panel admin atau data dalaman JPJ. Alat yang digunakan: Google Lighthouse 12.2.1, OpenSSL, DNS (dig), WordPress REST API awam dan semakan pautan automatik ke atas 519 halaman. Angka prestasi ialah ukuran pada hari kajian dan boleh berubah sedikit setiap kali diuji.
01

Ringkasan eksekutif

Portal JPJ menerima sekitar 3,000 pengunjung sebelum jam 10 pagi (kaunter di footer, 31 Okt 2026) dan merupakan pintu masuk utama rakyat untuk urusan lesen, cukai jalan dan saman. Asas keselamatan portal ini kukuh (WAF, DNSSEC, DMARC, pensijilan ISO/IEC 27001). Namun kajian menemui beberapa isu yang memberi kesan terus kepada orang awam dan kepada keupayaan JPJ membuat keputusan berdasarkan data.

21.7 saat
Masa paparan kandungan utama (telefon)
Sasaran Google: bawah 2.5 saat (LCP)
6.2 MB
Saiz homepage
155 fail dimuat turun; sasaran munasabah bawah 1.5 MB
0
Data Google Analytics
Skrip GA4 disekat oleh polisi keselamatan (CSP) portal sendiri
28 hari
Sebelum sijil SSL tamat
www dan 5 subdomain tamat 28 Nov 2026
271
Halaman dengan pautan ke pelayan staging
Pautan "Home" di breadcrumb menghala ke stagportal.jpj.gov.my yang tidak wujud
39
Pautan borang ke IP dalaman
29 halaman; borang PDF/DOCX tidak boleh dimuat turun oleh orang awam
79/100
Skor aksesibiliti
Lighthouse; sasaran 95+ untuk portal kerajaan (WCAG 2.2 AA)
221
Halaman tidak dikemas kini sejak 2022
Daripada 519 halaman (279 BM, 240 EN)

Lima perkara terpenting

  1. Pastikan sijil SSL diperbaharui sebelum 28 November 2026. Jika terlepas, pelayar akan memaparkan amaran "tidak selamat" pada portal dan sistem dalam talian JPJ.
  2. JPJ tidak mempunyai data pengunjung yang boleh dipercayai. Google Analytics dipasang tetapi disekat oleh polisi keselamatan portal sendiri. Pembetulan mengambil masa beberapa minit dan perlu dibuat sebelum revamp supaya ada data asas (baseline).
  3. Pautan rosak dalam skala besar. 271 halaman mengandungi pautan ke pelayan staging, dan 39 pautan borang menghala ke alamat IP dalaman yang tidak boleh dicapai dari luar.
  4. Portal sangat perlahan di telefon. Kandungan utama muncul selepas 21.7 saat pada rangkaian mudah alih. Puncanya gambar tidak dimampatkan, 16 plugin, dan widget chatbot 1 MB yang dihantar tanpa mampatan.
  5. Navigasi disusun mengikut struktur organisasi, bukan urusan rakyat. Urusan paling kerap (bayar saman, perbaharui cukai jalan, perbaharui lesen) tersembunyi di bawah "Pusat Media › Informasi Perkhidmatan JPJ", dan carian "roadtax" tidak menemui panduan pembaharuan LKM.
02

Tindakan segera — boleh dibuat dalam 30 hari tanpa menunggu revamp

Senarai ini tidak memerlukan reka bentuk baharu. Kebanyakannya ialah perubahan konfigurasi atau pembersihan kandungan yang boleh dibuat oleh pasukan sedia ada.

#TindakanRujukanAnggaran usahaTahap
1Jadualkan pembaharuan sijil SSL www + 5 subdomain (tamat 28 Nov 2026); pasang rantaian sijil penuh pada vep.jpj.gov.myI-04, I-10½ hariKritikal
2Tambah https://www.googletagmanager.com dan https://*.google-analytics.com ke dalam CSP supaya GA4 berfungsiS-011 jamKritikal
3Cari-dan-ganti stagportal.jpj.gov.my, prodportal.jpj.gov.my dan IP dalaman kepada www.jpj.gov.my dalam pangkalan data WordPressK-01, K-02½ hariKritikal
4Jadikan jpj.gov.my (tanpa www) dan http:// redirect 301 ke https://www.jpj.gov.myI-01, I-02½ hariKritikal
5Mampatkan dan tukar 10 gambar terbesar homepage kepada WebP/AVIF bersaiz betul; aktifkan lazy-loadP-021 hariKritikal
6Aktifkan gzip/brotli dan cache pada chatbot-portal.jpj.gov.my (≈1 MB dihantar tanpa mampatan)P-03½ hariTinggi
7Aktifkan HSTS pada www dan semua subdomain; aktifkan TLS 1.3 pada wwwI-03, I-05½ hariTinggi
8Nyahterbit halaman ujian/salinan (copy, revision, test, elementor-xxxxx, logout) dan redirect ke halaman sebenarK-031 hariTinggi
9Tambah sinonim carian ("roadtax" → LKM, "renew" → pembaharuan) atau pasang carian yang lebih baikU-041–2 hariTinggi
10Buang teks "Internet Explorer 10+", kemas kini tahun hak cipta, tulis meta description sebenarU-07, S-021 jamSederhana
03

Infrastruktur & keselamatan

Portal berjalan di atas WordPress dengan cache nginx (FastCGI), di belakang pengimbang beban dan WAF F5 BIG-IP, pada satu alamat IPv4 (110.159.245.10). Semakan dibuat secara pasif sahaja — tiada ujian penembusan atau percubaan log masuk.

Kritikal kesan terus kepada pengguna / perlu segera Tinggi risiko ketara Sederhana perlu dirancang Rendah amalan terbaik
I-01
Kritikal

Alamat jpj.gov.my (tanpa "www") tidak membuka portal

Bukti
Domain jpj.gov.my tiada rekod A/AAAA (disemak melalui DNS Google 8.8.8.8 dan Cloudflare 1.1.1.1). Hanya www.jpj.gov.my berfungsi.
Kesan
Pengguna yang menaip "jpj.gov.my" di pelayar atau mengikut pautan tanpa www akan mendapat ralat "laman tidak ditemui".
Cadangan
Tambah rekod A untuk apex domain dan redirect 301 ke https://www.jpj.gov.my (sijil perlu merangkumi kedua-dua nama).
I-02
Kritikal

http://www.jpj.gov.my tidak redirect ke HTTPS — sambungan tamat masa

Bukti
Port 80 tidak menjawab (timeout selepas 25 saat). Tiada redirect HTTP → HTTPS.
Kesan
Pautan lama, kod QR pada poster atau bahan cetak yang menggunakan "http://" akan gagal dibuka. Pelayar moden biasanya cuba HTTPS dahulu, tetapi pelayar lama, aplikasi dan sesetengah e-mel tidak.
Cadangan
Buka port 80 di F5 hanya untuk redirect 301 ke HTTPS, kemudian aktifkan HSTS (I-03).
I-04
Kritikal

Sijil SSL tamat dalam 28 hari (28 November 2026)

Bukti
Sijil GlobalSign OV untuk www, public, partners, jpjebid, portal-api dan chatbot-portal semuanya tamat 28 Nov 2026. vep.jpj.gov.my tamat 4 Dis 2026.
Kesan
Jika tidak diperbaharui tepat masa, semua sistem dalam talian JPJ akan memaparkan amaran keselamatan dan pengguna tidak boleh log masuk atau membuat bayaran.
Cadangan
Sahkan proses pembaharuan sudah berjalan. Jangka panjang: pantau tarikh luput secara automatik (amaran 30/14/7 hari) dan pertimbang automasi ACME.
I-03
Tinggi

Tiada HSTS pada portal utama dan 4 subdomain

Bukti
Header Strict-Transport-Security tiada pada www, public, partners, portal-api dan chatbot-portal. Hanya vep dan jpjebid yang memilikinya — konfigurasi tidak seragam.
Kesan
Membuka ruang serangan "SSL stripping" di rangkaian Wi-Fi awam, terutamanya pada portal log masuk orang awam dan rakan strategik.
Cadangan
Strict-Transport-Security: max-age=31536000; includeSubDomains secara berperingkat, kemudian mohon senarai preload.
I-05
Tinggi

TLS 1.3 tidak disokong pada www.jpj.gov.my

Bukti
Jabat tangan TLS 1.3 ditolak (alert 40); hanya TLS 1.2 diterima. Subdomain lain (public, partners, vep dll.) sudah menyokong TLS 1.3.
Kesan
Sambungan lebih perlahan (satu round-trip tambahan, ketara di rangkaian mudah alih) dan tidak selaras dengan amalan semasa.
Cadangan
Aktifkan TLS 1.3 pada profil SSL F5 untuk www, selaras dengan subdomain lain.
I-06
Tinggi

Perisian WordPress dan plugin kelihatan tidak dikemas kini sejak awal 2025

Bukti
Kod sumber memaparkan WordPress 6.7.1, Elementor 3.27.2, Slider Revolution 6.7.32 dan AIOSEO 4.7.8 — semuanya keluaran akhir 2024 / awal 2025. 16 plugin dikesan, termasuk 5 pakej tambahan Elementor yang bertindih fungsi (HT Mega, Master Addons, ElementsKit, Essential Addons, Elementor Pro).
Kesan
Lebih banyak plugin bermakna lebih banyak permukaan serangan dan beban kemas kini. Pakej tambahan pembina halaman ialah antara punca kerentanan WordPress yang paling kerap dilaporkan.
Cadangan
Sahkan status patch dengan pasukan ICT (nombor versi mungkin tidak dikemas kini dalam paparan). Kurangkan kepada satu pembina halaman sahaja; buang plugin yang tidak digunakan; sembunyikan tag "generator".
I-07
Tinggi

Pautan sistem aduan SPAB di homepage menggunakan HTTP tanpa penyulitan

Bukti
Footer memautkan ke http://jpj.spab.gov.my/eApps/system/index.do yang dibuka tanpa HTTPS (status 200, tiada redirect).
Kesan
Maklumat aduan rakyat boleh dihantar tanpa penyulitan; pelayar memaparkan "Not secure".
Cadangan
Tukar pautan kepada versi HTTPS SPAB (jika tersedia) dan maklumkan pemilik sistem SPAB.
I-08
Sederhana

Polisi CSP wujud tetapi longgar, dan menyekat alat JPJ sendiri

Bukti
script-src membenarkan 'unsafe-inline' dan 'unsafe-eval', yang melemahkan perlindungan XSS. Pada masa yang sama, domain Google Tag Manager tidak disenaraikan, jadi GA4 disekat (lihat S-01).
Cadangan
Semak semula CSP semasa revamp: guna nonce/hash untuk skrip sebaris, buang unsafe-eval, tambah domain analitik yang sah. Uji dahulu dengan Content-Security-Policy-Report-Only.
I-09
Sederhana

Cookie pengimbang beban mendedahkan alamat IP dalaman

Bukti
Cookie BIGipServerwww.jpj.gov.my_new_443_pool boleh dinyahkod kepada alamat pelayan dalaman (10.180.x.x, port 443). Cookie WAF TS0141f076 dihantar tanpa atribut Secure dan HttpOnly.
Kesan
Maklumat rangkaian dalaman membantu peninjauan oleh pihak berniat jahat. Risiko rendah secara langsung, tetapi mudah dibaiki.
Cadangan
Aktifkan penyulitan cookie persistence di F5 (cookie encryption) dan tetapkan atribut Secure/HttpOnly pada cookie TS.
I-10
Sederhana

Rantaian sijil vep.jpj.gov.my tidak lengkap

Bukti
OpenSSL: unable to verify the first certificate (sijil perantara tidak dihantar oleh pelayan). Pelayar desktop biasanya menampung, tetapi sesetengah peranti Android lama, aplikasi dan integrasi API akan gagal.
Cadangan
Pasang sijil perantara (intermediate) dalam rantaian pada pelayan VEP.

Semakan lain

PerkaraStatusCatatan
DNSSECAdaRekod DS wujud (algoritma 13).
SPF / DMARC e-melAdaDMARC p=quarantine. Pertimbang naik ke p=reject selepas laporan stabil.
WAF / perlindungan botAdaF5 ASM aktif — pelayar automatik "headless" disekat.
Fail sensitif WordPressDisekatxmlrpc.php, readme.html, senarai pengguna REST API dan /wp-admin/ disekat dengan baik.
Rekod CAATiadaTambah CAA yang hanya membenarkan GlobalSign (dan CA lain yang digunakan).
security.txtTiadaTambah /.well-known/security.txt supaya penyelidik keselamatan tahu saluran laporan rasmi.
IPv6TiadaTiada rekod AAAA. Bukan kritikal, tetapi semakin banyak rangkaian mudah alih menggunakan IPv6.
Masa respons pelayan850 msLighthouse; sasaran bawah 600 ms. Cache FastCGI aktif (HIT) — selebihnya mungkin dari laluan F5/rangkaian.
wp-json (REST API)TerbukaRoot API (400 KB) mendedahkan senarai plugin/namespace. Hadkan endpoint yang tidak diperlukan oleh orang awam.
Header Cache-ControlBergandaFail muat naik menghantar dua header cache-control. Kemaskan supaya satu sahaja.
04

Prestasi & kelajuan

Diuji dengan Google Lighthouse 12.2.1 pada homepage (/home/). Profil mudah alih mensimulasikan telefon kelas sederhana dengan rangkaian 4G perlahan — keadaan sebenar bagi ramai pengguna di luar bandar.

MetrikTelefonDesktopSasaran
Skor prestasi629590+
Kandungan pertama muncul (FCP)2.6 s0.6 s< 1.8 s
Kandungan utama muncul (LCP)21.7 s0.9 s< 2.5 s
Boleh digunakan sepenuhnya (TTI)23.0 s0.9 s< 3.8 s
Speed Index10.6 s1.2 s< 3.4 s
Anjakan susun atur (CLS)0.0070.107< 0.1
Jumlah saiz halaman6,243 KB6,242 KB< 1,500 KB
Bilangan permintaan155≈155< 60

Ke mana 6.2 MB itu pergi

Gambar (23)
3,936 KB
JavaScript (57)
1,175 KB
Fon (10)
641 KB
CSS (57)
415 KB
HTML
45 KB*

* Saiz selepas mampatan gzip. HTML homepage asal ialah 410 KB, termasuk 230 KB CSS sebaris yang dijana oleh Elementor. Halaman 404 pun bersaiz 372 KB.

P-01
Kritikal

Kandungan utama di telefon muncul selepas 21.7 saat

Punca
Slider banner dan gambar kad dimuat serentak tanpa keutamaan; 57 fail CSS dan 57 fail JavaScript perlu diproses sebelum halaman stabil.
Cadangan
Hero statik (satu gambar dioptimumkan dengan fetchpriority="high"), lazy-load semua gambar di bawah lipatan, gabung dan kurangkan CSS/JS, buang plugin bertindih.
P-02
Kritikal

Gambar tidak dimampatkan — potensi jimat ≈2.4 MB

Bukti
myJPJ-mockup-22.png 689 KB · TnGO.png 590 KB · BannerTaliPinggang-webp.webp 462 KB · Pembayaran-Saman-1-scaled.jpg 288 KB · Must-Turun-MyJPJ-1-scaled.jpg 268 KB. Lighthouse: "Properly size images" jimat 2,407 KB; "Next-gen formats" jimat 1,579 KB; gambar luar skrin jimat 2,417 KB.
Cadangan
Tetapkan had muat naik (contoh 300 KB), tukar automatik ke WebP/AVIF, jana saiz responsif (srcset), tetapkan width/height pada setiap gambar.
P-03
Tinggi

Widget chatbot memuat ≈1 MB tanpa mampatan dan tanpa cache

Bukti
Fail dari chatbot-portal.jpj.gov.my (react.app.js 280 KB, vendor.js 288 KB, CSS 124 KB, index.js 107 KB) dihantar tanpa gzip dan dengan cache 0 saat — dimuat semula setiap lawatan, walaupun pengguna tidak membuka chatbot.
Cadangan
Aktifkan gzip/brotli dan cache 1 tahun dengan versi fail pada pelayan chatbot. Muat widget hanya selepas pengguna klik butang "Tanya Saya" (lazy-load).
P-04
Sederhana

Fon Arial dimuat turun sebagai fail 349 KB

Bukti
/wp-content/uploads/useanyfont/4474arial.woff2 — Arial sudah tersedia pada hampir semua peranti. Terdapat juga 5 fon berbeza (Arial, Open Sans, Montserrat, ikon Elementor, Font Awesome, Simple Line Icons) tanpa font-display: swap.
Cadangan
Buang fail Arial, guna satu keluarga fon (contoh Inter atau Poppins mengikut MYDS) dan satu set ikon SVG.
P-05
Rendah

Ralat JavaScript di konsol

Bukti
ReferenceError: wp is not defined pada homepage, dan pelanggaran CSP untuk skrip Google Tag Manager.
Cadangan
Pastikan skrip yang bergantung pada wp dimuat selepas kebergantungannya, dan semak konsol sebagai sebahagian ujian penerimaan setiap pelepasan.
05

Pengalaman pengguna & navigasi

Rakyat datang ke portal JPJ untuk menyelesaikan urusan: bayar saman, perbaharui cukai jalan (LKM), perbaharui lesen, semak demerit, tempah ujian memandu. Bahagian ini menilai berapa cepat mereka boleh sampai ke urusan tersebut.

Homepage JPJ di desktop, skrin pertama memaparkan slider banner promosi aplikasi JPJeBid bermula 10 Mac 2026
Desktop, skrin pertama. Slider banner promosi dan acara mengisi ruang utama. Slaid yang ditangkap mempromosikan aplikasi JPJeBid "bermula 10 Mac 2026", iaitu tujuh bulan lalu. Tiada urusan rakyat kelihatan sebelum pengguna menatal.
Homepage JPJ di telefon, menunjukkan bar ikon tanpa label, logo dan slider banner
Telefon, skrin pertama. Carian kecil, empat ikon tanpa label, logo dan banner. Tiada urusan rakyat dalam skrin pertama.
U-01
Tinggi

Menu disusun mengikut struktur organisasi, bukan urusan rakyat

Bukti
Menu utama: Laman Utama · Maklumat Korporat · Pusat Media · Hubungi Kami. "Maklumat Korporat" mengandungi 15 bahagian dan unit, serta Logo, Bendera, Ikrar dan Lagu JPJ. Panduan urusan rakyat (Pemandu, Kenderaan, Penguatkuasaan) berada tiga lapis ke bawah: Pusat Media › Informasi Perkhidmatan JPJ › …. Struktur URL turut mencerminkannya (/pusat-media-3/informasi-perkhidmatan-jpj/…).
Kesan
Pengguna perlu meneka bahawa panduan bayar saman berada di bawah "Pusat Media". Ini menolak pengguna ke talian telefon dan kaunter.
Cadangan
Susun semula menu mengikut urusan: Lesen Memandu · Kenderaan & LKM · Saman & Penguatkuasaan · Semakan Dalam Talian · Tentang JPJ · Hubungi. Maklumat korporat kekal, tetapi di bawah "Tentang JPJ".
U-02
Tinggi

Skrin pertama homepage tidak membantu pengguna memulakan urusan

Bukti
Hero ialah slider banner acara dan promosi (contoh: Hari Ulang Tahun JPJ ke-80; promosi aplikasi JPJeBid "bermula 10 Mac 2026" yang masih dipaparkan pada Oktober). Slider bertukar sendiri, jadi mesej penting mudah terlepas. Seksyen seterusnya "Platform Digital" menggunakan gambar stok dengan label yang kabur ("Orang Awam", "Rakan Strategik", "RCVEP", "JPJeBid") — semuanya pautan ke halaman log masuk sistem lain.
Cadangan
Gantikan hero dengan kotak carian besar + 6 urusan teratas sebagai butang berlabel jelas. Banner kempen dipindah ke jalur pengumuman di bawah.
U-03
Tinggi

Pengumuman dipaparkan sebagai poster bergambar

Bukti
Kad "Pengumuman" (BUDI95, Log Masuk Tunggal MyJPJ, jualan nombor istimewa, bayar saman melalui MyJPJ) ialah poster media sosial dengan teks di dalam gambar.
Kesan
Teks dalam gambar tidak boleh dicari, tidak boleh dibaca oleh pembaca skrin, tidak boleh diterjemah dan sukar dibaca di telefon.
Cadangan
Setiap pengumuman ialah halaman teks (tajuk, tarikh, ringkasan, langkah, pautan tindakan); poster boleh dilampirkan sebagai pelengkap.
Hasil carian portal JPJ untuk perkataan roadtax menunjukkan satu hasil sahaja iaitu JPJ Prihatin Selanjutnya
Carian "roadtax". Satu hasil sahaja (kenderaan klasik/vintaj). Halaman "Panduan Pembaharuan Lesen Kenderaan Motor (LKM)" tidak muncul.
U-04
Tinggi

Carian tidak memahami bahasa harian pengguna

Bukti
Kata carianHasilCatatan
roadtax1Tidak relevan (kenderaan klasik)
renew license0Tiada hasil dalam bahasa Inggeris
LKM14Baik — tetapi pengguna perlu tahu istilah rasmi
saman14Baik, tetapi "Home" dan kenyataan media bercampur dalam hasil
Cadangan
Tambah kamus sinonim (roadtax ↔ LKM, renew ↔ perbaharui, saman ↔ kompaun), utamakan halaman panduan berbanding kenyataan media, dan letak carian di hero homepage. Pantau "carian tanpa hasil" melalui GA4 setiap bulan.
U-05
Sederhana

Ikon tanpa label di bar atas dan "Pautan Pantas"

Bukti
Bar atas mempunyai empat ikon (peta laman, telefon, papan klip, tanda soal) tanpa teks. Lighthouse mengesan 15 pautan dan 4 butang tanpa nama yang boleh dibaca.
Cadangan
Setiap ikon diberi label teks yang kelihatan ("Peta Laman", "Hubungi", "Aduan", "Soalan Lazim").
U-06
Sederhana

Tiga widget terapung bersaing di penjuru skrin

Bukti
Butang aksesibiliti, gelembung chatbot "Tanya Saya" dan avatar pegawai JPJ kekal terapung di semua halaman. Di telefon, avatar menutup sebahagian kandungan.
Cadangan
Satu butang bantuan sahaja yang membuka panel (chatbot + hubungi); alat aksesibiliti dipindah ke header.
U-07
Sederhana

Butiran yang memberi gambaran portal tidak diselenggara

Bukti
Footer: "Paparan terbaik adalah menggunakan Internet Explorer 10+, Chrome 39+ dan Firefox" (IE telah dihentikan Microsoft pada 2022) · "Hak Cipta © 2025" · kaunter pengunjung. Placeholder carian "Search.." dalam bahasa Inggeris pada halaman BM. Laman akar / ialah "Landing Page" berasingan daripada /home/.
Cadangan
Buang mesej pelayar dan kaunter; tahun hak cipta dijana automatik; satu homepage di / sahaja.
U-08
Sederhana

Halaman panduan tidak seragam dan tiada tindakan seterusnya

Bukti
Contoh "Summons Payment Method": teks ditampal dari dokumen Word (fon Times New Roman, berbeza dengan reka bentuk portal), tiada tajuk H1, kandungan hanya muncul selepas animasi, dan tiada butang "Bayar sekarang melalui MyJPJ" di hujung panduan.
Cadangan
Satu templat panduan standard: ringkasan 2 ayat → siapa layak → dokumen diperlukan → langkah bernombor → fi → butang tindakan → soalan lazim berkaitan.
06

Kandungan & tadbir urus

Portal mengandungi 519 halaman (279 BM, 240 EN), 13 berita dan 1,532 fail media. 465 halaman dicipta pada 2022 semasa migrasi, dan 221 halaman tidak pernah dikemas kini sejak itu.

Tahun halaman terakhir dikemas kini

2022
221
2023
7
2024
15
2025
203
2026
73

Kedalaman URL (bilangan lapisan)

1 lapis
150
2 lapis
246
3 lapis
62
4 lapis
61

Struktur tidak konsisten: halaman setara berada pada kedalaman berbeza.

K-01
Kritikal

271 halaman memaut "Home" ke pelayan staging yang tidak wujud

Bukti
Pautan "Home" di breadcrumb pada 271 halaman menghala ke http://stagportal.jpj.gov.my/en/homepage. Domain ini tidak boleh dicapai dari internet awam. Contoh: /en/how-to-pay-jpj-summons/, /semakan-demerit-2/, semua halaman senarai institut memandu dan bengkel NGV.
Kesan
Pengguna yang klik "Home" mendapat ralat. Ia juga mendedahkan nama pelayan staging dan menjejaskan SEO.
Cadangan
Kemas kini tetapan breadcrumb (plugin Flexy Breadcrumb) dan jalankan cari-dan-ganti pangkalan data. Tambah semakan automatik "tiada domain staging" sebelum setiap pelepasan.
K-02
Kritikal

39 pautan borang menghala ke alamat IP dalaman

Bukti
29 halaman (kebanyakannya halaman Borang dan versi EN) memaut ke http://10.180.x.x/wp-content/uploads/…, contohnya Borang Deklarasi Pemohon, Borang Bengkel NGV, Borang Permohonan Tambah Pagar Sisi, Borang JPJK13. Satu lagi pautan menghala ke prodportal.jpj.gov.my (Syarat Penubuhan Institut Memandu).
Kesan
Orang awam tidak boleh memuat turun borang ini dari portal. Fail sebenar wujud di www.jpj.gov.my/wp-content/uploads/… — hanya pautannya yang salah.
Cadangan
Cari-dan-ganti URL. Jangka panjang: satu "Pusat Borang" dengan carian dan penapis, setiap borang ada nombor rujukan, tarikh versi dan saiz fail.
K-03
Tinggi

Halaman ujian, salinan dan pendua diterbitkan secara awam

Bukti
/…/bahagian-pelesenan-kenderaan-copy/ (mengandungi teks "lorem ipsum") · /…/revision-of-bahagian-pelesenan-kenderaan/ · /automotive-engineering-division-test/ · /elementor-35651/, /elementor-19276/, /en/elementor-33958/ · /…/spesifikasi-no-plat-kenderaan-copy/ · /logout/. Terdapat 25 URL berakhiran -2 dan 5 induk berakhiran -3 (maklumat-korporat-3, pusat-media-3, jpj-prihatin-3 …) — tanda halaman pernah dicipta semula berulang kali. 10 tajuk halaman berganda (contoh "Penafian", "Security Policy", "Soalan Lazim Lesen Memandu").
Kesan
Enjin carian mengindeks versi yang salah; pengguna boleh terjumpa maklumat lama atau tidak lengkap.
Cadangan
Inventori kandungan penuh (disediakan sebagai lampiran oleh SawangVille), nyahterbit pendua, redirect 301 ke versi sah, dan URL bersih tanpa akhiran nombor dalam revamp.
K-04
Sederhana

Dokumen dan maklumat lapuk masih dipaparkan sebagai semasa

Bukti
"Pelan Strategik JPJ 2016–2020" dan "Pelan Integriti JPJ 2016–2020" masih tersenarai. Meta description homepage: "Portal Rasmi JPJ - 2025". Fail PDF terbesar 4.7 MB.
Cadangan
Setiap halaman diberi pemilik (bahagian) dan tarikh semakan semula. Dokumen lama dipindah ke "Arkib" dengan label tahun yang jelas.
Cadangan tadbir urus: lantik pemilik kandungan bagi setiap bahagian, kitaran semakan 6 bulan, dan satu panduan gaya penulisan (bahasa mudah, ayat pendek, istilah rasmi diikuti istilah harian — contoh "Lesen Kenderaan Motor (LKM / roadtax)").
07

Aksesibiliti

Skor Lighthouse 79/100. Portal mempunyai bar alat aksesibiliti (besarkan teks, kontras tinggi, skala kelabu) — niat yang baik, tetapi alat tambahan seperti ini tidak menggantikan kod yang patuh WCAG. Pengguna pembaca skrin bergantung pada struktur HTML, bukan butang kontras.

IsuBilanganKesanPembetulan
Pautan tanpa nama boleh dibaca15Pembaca skrin menyebut "pautan" sahajaTeks pautan atau aria-label
Butang tanpa nama4Butang header tidak dapat difahamiLabel teks
Kontras warna tidak mencukupi1+Penukar bahasa BM/EN sukar dibacaNisbah kontras ≥ 4.5:1
tabindex lebih besar daripada 01Urutan papan kekunci tergangguGuna urutan semula jadi
Sasaran sentuhan terlalu kecil5Sukar ditekan di telefonMinimum 24×24 px (WCAG 2.2)
Gambar tanpa width/height—Susun atur melompat semasa dimuatTetapkan dimensi
Teks di dalam gambar (poster)4+Tidak boleh dibaca oleh pembaca skrinKandungan sebagai teks HTML
Halaman dalam tanpa H1—Struktur dokumen tidak jelasSatu H1 setiap halaman

Ujian automatik hanya mengesan sekitar 30–40% isu aksesibiliti. Kami cadangkan ujian manual dengan papan kekunci dan pembaca skrin (NVDA/VoiceOver), serta sesi bersama pengguna OKU, dalam fasa revamp.

08

SEO & analitik

S-01
Kritikal

Google Analytics 4 dipasang tetapi disekat — tiada data pengunjung

Bukti
Konsol pelayar: "Loading the script 'https://www.googletagmanager.com/gtag/js?id=G-…' violates the following Content Security Policy directive". Kaunter di footer datang dari plugin WP Statistics, yang hanya mengira lawatan asas.
Kesan
JPJ tidak dapat mengetahui halaman mana paling dicari, dari mana pengguna datang, di mana mereka berhenti, atau apa yang mereka cari tetapi tidak jumpa. Keputusan revamp tidak dapat disokong data.
Cadangan
Betulkan CSP (Tindakan Segera #2) sekurang-kurangnya 2–3 bulan sebelum reka bentuk dimuktamadkan supaya ada baseline. Sediakan papan pemuka bulanan: 20 halaman teratas, carian tanpa hasil, peranti, dan kadar keluar halaman panduan.
PerkaraStatusCatatan
Skor SEO Lighthouse92Asas teknikal baik.
Sitemap XML & robots.txtAdaDijana oleh AIOSEO.
hreflang BM/ENAdaPasangan bahasa diisytihar dengan betul.
Meta descriptionGenerik"Portal Rasmi JPJ - 2025" — tidak menerangkan perkhidmatan. S-02.
Gambar perkongsian (og:image)LemahFail …-removebg-preview.png; sediakan gambar 1200×630 rasmi.
Tajuk H1 homepage"PLATFORM DIGITAL"H1 patut menerangkan halaman, contoh "Jabatan Pengangkutan Jalan Malaysia — Perkhidmatan Lesen, Kenderaan & Saman".
Data berstruktur (schema.org)MinimumTambah GovernmentOrganization, FAQPage untuk soalan lazim, BreadcrumbList.
Pautan dalaman rosak310+Rujuk K-01 dan K-02.
09

Perkara yang sudah baik — wajar dikekalkan

  • Asas keselamatan kukuh — WAF F5, DNSSEC, DMARC, fail sensitif WordPress disekat, header X-Frame-Options / nosniff / Referrer-Policy / Permissions-Policy lengkap.
  • Pensijilan ISO/IEC 27001:2022 (CyberSecurity Malaysia) dipaparkan.
  • Dwibahasa penuh BM/EN dengan hreflang yang betul.
  • Cache FastCGI aktif dan fail muat naik dicache 1 tahun.
  • Kandungan panduan yang kaya — prosedur, kadar fi, borang dan soalan lazim yang lengkap. Kandungannya bernilai; yang perlu diperbaiki ialah susunan dan cara paparan.
  • Chatbot "Tanya Saya" sudah tersedia sebagai saluran bantuan.
  • Niat aksesibiliti — bar alat aksesibiliti dan pautan "skip content" sudah ada.
  • Hubungan ke ekosistem digital (MyJPJ, VEP, JPJeBid, portal rakan) sudah dipautkan dari homepage.
10

Cadangan hala tuju revamp

Prinsip utama: portal JPJ ialah alat untuk menyelesaikan urusan, bukan papan kenyataan organisasi. Setiap keputusan reka bentuk diukur dengan satu soalan — adakah ia membantu rakyat menyelesaikan urusan dengan lebih cepat?

Kekal · Tukar · Tambah

Kekal

  • Kandungan panduan & prosedurDitulis semula dalam templat standard, isi kekal
  • Dwibahasa BM/ENDengan pemetaan halaman 1:1
  • Infrastruktur F5 + WAFDengan konfigurasi TLS/HSTS dikemas kini
  • ChatbotDimuat hanya bila diminta
  • Logo, warna & identiti JPJ

Tukar

  • Menu korporat → menu urusanLesen · Kenderaan & LKM · Saman · Semakan · Tentang JPJ
  • Hero banner acara → carian + 6 urusan teratas
  • Poster pengumuman → halaman teks
  • 5 pakej Elementor → satu tema ringan
  • URL /pusat-media-3/… → URL bersihDengan redirect 301 dari URL lama

Tambah

  • Masthead "Laman Rasmi Kerajaan Malaysia"Komponen MYDS untuk kepercayaan dan anti-phishing
  • Pusat Borang boleh dicari
  • Templat panduan + butang tindakan
  • Analitik + papan pemuka bulanan
  • "Adakah halaman ini membantu?" di setiap panduan

Aliran homepage — semasa vs cadangan

Semasa

1
Bar ikon + carian kecilEmpat ikon tanpa label
▼
2
Slider banner acara & promosiUlang Tahun JPJ ke-80, promosi JPJeBid (Mac 2026)
▼
3
Platform DigitalCarousel gambar stok → halaman log masuk
▼
4
PengumumanPoster bergambar
▼
5
Pautan PantasIkon carousel
▼
6
"Tak jumpa apa yang dicari?" + carianCarian utama berada di hujung halaman
▼
7
Footer + kaunter pengunjung

Cadangan

1
Masthead kerajaan + menu urusanBARU"Laman rasmi Kerajaan Malaysia" · Lesen · Kenderaan & LKM · Saman · Semakan · Tentang JPJ
▼
2
Hero: "Apa urusan anda hari ini?" + carian besarNAIK ATASCarian dari bawah halaman dinaikkan ke atas, dengan cadangan kata kunci
▼
3
6 urusan teratasBARUBayar saman · Perbaharui LKM · Perbaharui lesen · Semak demerit · Tempah ujian · Nombor pendaftaran — senarai muktamad ikut data GA4
▼
4
Aplikasi & sistem dalam talianGABUNGPlatform Digital + Pautan Pantas digabung: MyJPJ, VEP, JPJeBid, Portal Awam, Portal Rakan — setiap satu dengan ayat penerangan
▼
5
Pengumuman terkini (teks)KEKAL3 kad teks bertarikh + pautan "Semua pengumuman"
▼
6
Laluan pengguna lainBARUJalur nipis: Rakan strategik · Institut memandu & bengkel · Media
▼
7
Footer bantuanKEKALHubungi, aduan (HTTPS), chatbot, media sosial, ISO 27001

Pilihan platform

PilihanPeneranganKelebihanPertimbangan
A. WordPress ringan DisyorkanKekal WordPress, tetapi tema tersuai berasaskan MYDS dan blok Gutenberg; buang Elementor dan pakej tambahannya.Pasukan sedia ada boleh terus mengurus; migrasi kandungan paling mudah; kos paling rendah.Perlu disiplin plugin dan proses kemas kini bulanan.
B. Headless CMSWordPress (atau CMS lain) sebagai backend sahaja; frontend statik (Next.js/Astro) di belakang CDN.Paling laju dan paling selamat (frontend tiada pangkalan data).Perlukan kemahiran pembangun JavaScript; kos dan tempoh lebih tinggi.

Kedua-dua pilihan: pisahkan persekitaran staging sepenuhnya (domain dan pangkalan data berasingan, tidak diindeks), dan pertimbang CDN tempatan untuk fail statik.

Rujukan

RujukanApa yang boleh dipelajari
MYDS — Malaysia Government Design System (Jabatan Digital Negara)Komponen siap, masthead laman rasmi kerajaan, patuh WCAG. Asas reka bentuk yang disyorkan untuk revamp.
GOV.UK — Driving and transportNavigasi mengikut urusan, satu panduan satu halaman, butang "Start now" di hujung setiap panduan.
Service NSWCarian sebagai pusat homepage, urusan popular di skrin pertama.
OneMotoring (LTA Singapura)Agensi pengangkutan serantau dengan struktur Pemandu / Kenderaan / e-Perkhidmatan yang jelas.
WCAG 2.2Standard aksesibiliti sasaran tahap AA.
11

Pelan tindakan berfasa & KPI

0
Minggu 1–2

Pembetulan segera

  • Sijil SSL diperbaharui
  • CSP dibetulkan, GA4 hidup
  • Pautan staging & IP dalaman dibaiki
  • Redirect apex & HTTP
  • HSTS + TLS 1.3
Rujuk Seksyen 02
1
Bulan 1–2

Bersihkan & percepat

  • Optimum gambar & chatbot
  • Buang plugin bertindih
  • Nyahterbit halaman pendua
  • Inventori 519 halaman + pemilik
  • Sinonim carian
P-01–P-04, K-03, U-04
2
Bulan 2–5

Revamp

  • Kajian pengguna & data GA4
  • Seni bina maklumat baharu
  • Wireframe → reka bentuk MYDS
  • Tulis semula templat panduan
  • Pembangunan + migrasi + redirect 301
Seksyen 10
3
Berterusan

Tadbir urus

  • Papan pemuka bulanan
  • Semakan kandungan 6 bulan
  • Kemas kini keselamatan bulanan
  • Ujian aksesibiliti setiap pelepasan
  • Pemantauan sijil & uptime
Seksyen 06, 08

Sasaran pengukuran

KPISemasaSasaran
LCP homepage di telefon21.7 s< 2.5 s
Saiz homepage6.2 MB< 1.5 MB
Skor prestasi Lighthouse (telefon)62≥ 90
Skor aksesibiliti Lighthouse79≥ 95
Pautan dalaman rosak310+0
Halaman tanpa semakan > 12 bulan221+0
Carian tanpa hasil (selepas GA4 hidup)tiada data< 10%
Klik ke urusan dari homepagetiada databaseline + 30%
12

Kaedah, batasan & langkah seterusnya

Kaedah

  • Semakan header HTTP, TLS (OpenSSL) dan DNS pada www.jpj.gov.my dan 6 subdomain yang dipautkan dari homepage.
  • Google Lighthouse 12.2.1, profil telefon dan desktop, pada 31 Okt 2026 jam ~09:30.
  • Senarai 519 halaman melalui WordPress REST API awam; setiap halaman diperiksa untuk pautan staging/IP dalaman.
  • Semakan 380+ pautan dan 83 fail PDF dari homepage dan menu.
  • Semakan manual homepage di desktop (1440 px) dan telefon (375–390 px), serta ujian carian.

Batasan

  • Tiada akses ke pelayan, panel admin, log atau data analitik dalaman.
  • Tiada ujian penembusan; semua semakan keselamatan adalah pasif dan setara dengan pelayaran biasa.
  • Sistem transaksi (MyJPJ, Portal Awam, Portal Rakan, VEP, JPJeBid) hanya disemak dari segi TLS/header — fungsinya di luar skop.
  • Nombor versi perisian diambil dari paparan kod sumber dan perlu disahkan oleh pasukan ICT JPJ.
  • Lighthouse ialah ujian makmal satu larian; angka boleh berbeza ±10% antara ujian.

Langkah seterusnya yang dicadangkan

  1. Sesi taklimat (60 minit) bersama Bahagian Teknologi Digital dan Bahagian Korporat untuk membentangkan dapatan dan mengesahkan keutamaan.
  2. Akses baca sahaja kepada data analitik / log pelayan (jika ada) supaya cadangan urusan teratas berasaskan data sebenar.
  3. Lampiran inventori kandungan — senarai penuh 519 halaman dengan status (kekal / gabung / arkib / buang) untuk semakan setiap bahagian.
  4. Wireframe homepage dan templat panduan berdasarkan aliran cadangan di Seksyen 10, untuk dipersetujui sebelum fasa reka bentuk.