Disediakan oleh SawangVille Tech Ventures Sdn BhdNo. 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
Pastikan sijil SSL diperbaharui sebelum 28 November 2026. Jika terlepas, pelayar akan memaparkan amaran "tidak selamat" pada portal dan sistem dalam talian JPJ.
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).
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.
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.
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.
#
Tindakan
Rujukan
Anggaran usaha
Tahap
1
Jadualkan pembaharuan sijil SSL www + 5 subdomain (tamat 28 Nov 2026); pasang rantaian sijil penuh pada vep.jpj.gov.my
I-04, I-10
½ hari
Kritikal
2
Tambah https://www.googletagmanager.com dan https://*.google-analytics.com ke dalam CSP supaya GA4 berfungsi
S-01
1 jam
Kritikal
3
Cari-dan-ganti stagportal.jpj.gov.my, prodportal.jpj.gov.my dan IP dalaman kepada www.jpj.gov.my dalam pangkalan data WordPress
K-01, K-02
½ hari
Kritikal
4
Jadikan jpj.gov.my (tanpa www) dan http:// redirect 301 ke https://www.jpj.gov.my
I-01, I-02
½ hari
Kritikal
5
Mampatkan dan tukar 10 gambar terbesar homepage kepada WebP/AVIF bersaiz betul; aktifkan lazy-load
P-02
1 hari
Kritikal
6
Aktifkan gzip/brotli dan cache pada chatbot-portal.jpj.gov.my (≈1 MB dihantar tanpa mampatan)
P-03
½ hari
Tinggi
7
Aktifkan HSTS pada www dan semua subdomain; aktifkan TLS 1.3 pada www
I-03, I-05
½ hari
Tinggi
8
Nyahterbit halaman ujian/salinan (copy, revision, test, elementor-xxxxx, logout) dan redirect ke halaman sebenar
K-03
1 hari
Tinggi
9
Tambah sinonim carian ("roadtax" → LKM, "renew" → pembaharuan) atau pasang carian yang lebih baik
U-04
1–2 hari
Tinggi
10
Buang teks "Internet Explorer 10+", kemas kini tahun hak cipta, tulis meta description sebenar
U-07, S-02
1 jam
Sederhana
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 segeraTinggi risiko ketaraSederhana perlu dirancangRendah 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
Perkara
Status
Catatan
DNSSEC
Ada
Rekod DS wujud (algoritma 13).
SPF / DMARC e-mel
Ada
DMARC p=quarantine. Pertimbang naik ke p=reject selepas laporan stabil.
WAF / perlindungan bot
Ada
F5 ASM aktif — pelayar automatik "headless" disekat.
Fail sensitif WordPress
Disekat
xmlrpc.php, readme.html, senarai pengguna REST API dan /wp-admin/ disekat dengan baik.
Rekod CAA
Tiada
Tambah CAA yang hanya membenarkan GlobalSign (dan CA lain yang digunakan).
security.txt
Tiada
Tambah /.well-known/security.txt supaya penyelidik keselamatan tahu saluran laporan rasmi.
IPv6
Tiada
Tiada rekod AAAA. Bukan kritikal, tetapi semakin banyak rangkaian mudah alih menggunakan IPv6.
Masa respons pelayan
850 ms
Lighthouse; sasaran bawah 600 ms. Cache FastCGI aktif (HIT) — selebihnya mungkin dari laluan F5/rangkaian.
wp-json (REST API)
Terbuka
Root API (400 KB) mendedahkan senarai plugin/namespace. Hadkan endpoint yang tidak diperlukan oleh orang awam.
Header Cache-Control
Berganda
Fail 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.
Metrik
Telefon
Desktop
Sasaran
Skor prestasi
62
95
90+
Kandungan pertama muncul (FCP)
2.6 s
0.6 s
< 1.8 s
Kandungan utama muncul (LCP)
21.7 s
0.9 s
< 2.5 s
Boleh digunakan sepenuhnya (TTI)
23.0 s
0.9 s
< 3.8 s
Speed Index
10.6 s
1.2 s
< 3.4 s
Anjakan susun atur (CLS)
0.007
0.107
< 0.1
Jumlah saiz halaman
6,243 KB
6,242 KB
< 1,500 KB
Bilangan permintaan
155
≈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.
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.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.
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 carian
Hasil
Catatan
roadtax
1
Tidak relevan (kenderaan klasik)
renew license
0
Tiada hasil dalam bahasa Inggeris
LKM
14
Baik — tetapi pengguna perlu tahu istilah rasmi
saman
14
Baik, 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
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
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.
Isu
Bilangan
Kesan
Pembetulan
Pautan tanpa nama boleh dibaca
15
Pembaca skrin menyebut "pautan" sahaja
Teks pautan atau aria-label
Butang tanpa nama
4
Butang header tidak dapat difahami
Label teks
Kontras warna tidak mencukupi
1+
Penukar bahasa BM/EN sukar dibaca
Nisbah kontras ≥ 4.5:1
tabindex lebih besar daripada 0
1
Urutan papan kekunci terganggu
Guna urutan semula jadi
Sasaran sentuhan terlalu kecil
5
Sukar ditekan di telefon
Minimum 24×24 px (WCAG 2.2)
Gambar tanpa width/height
—
Susun atur melompat semasa dimuat
Tetapkan dimensi
Teks di dalam gambar (poster)
4+
Tidak boleh dibaca oleh pembaca skrin
Kandungan sebagai teks HTML
Halaman dalam tanpa H1
—
Struktur dokumen tidak jelas
Satu 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.
Perkara
Status
Catatan
Skor SEO Lighthouse
92
Asas teknikal baik.
Sitemap XML & robots.txt
Ada
Dijana oleh AIOSEO.
hreflang BM/EN
Ada
Pasangan bahasa diisytihar dengan betul.
Meta description
Generik
"Portal Rasmi JPJ - 2025" — tidak menerangkan perkhidmatan. S-02.
Gambar perkongsian (og:image)
Lemah
Fail …-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)
Minimum
Tambah GovernmentOrganization, FAQPage untuk soalan lazim, BreadcrumbList.
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
Pilihan
Penerangan
Kelebihan
Pertimbangan
A. WordPress ringanDisyorkan
Kekal 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 CMS
WordPress (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.