Website statis tidak mempunyai database atau proses backend aplikasi, tetapi tetap dapat gagal di produksi karena path, status HTTP, cache, header, JavaScript, DNS, dan perbedaan viewport. Checklist NgodingSantai menguji hasil publik, bukan hanya memastikan file ada di laptop.

Diagram struktur halaman publik, aset, deployment dan audit
File operasional berada dalam repository agar terlacak, tetapi Nginx hanya menyajikan bagian yang memang publik.

Mulai dari versi dan sumber deployment

Commit lokal, commit GitHub, dan commit di VPS harus dapat dibandingkan. Jika situs live berbeda, audit tampilan apa pun akan menghasilkan diagnosis yang salah. Catat hash commit dan waktu deployment sebelum menguji.

git rev-parse --short HEAD
git status --short
ssh ubuntu@VPS_IP 'git -C /var/www/ozancicak.biz.id rev-parse --short HEAD'

Periksa status HTTP dan Content-Type

Beranda serta artikel yang valid harus 200. URL salah harus 404. HTTP harus menuju HTTPS. CSS harus disajikan sebagai text/css, JavaScript sebagai tipe script yang sesuai, sitemap sebagai XML, dan SVG sebagai gambar. Soft 404—isi error dengan status 200—dihindari.

curl -I https://ozancicak.biz.id/
curl -I https://ozancicak.biz.id/articles/tidak-ada.html
curl -I https://ozancicak.biz.id/assets/css/style.css
curl -I https://ozancicak.biz.id/sitemap.xml

Periksa file yang harus publik dan tertutup

URLHarapanAlasan
/robots.txt200Petunjuk crawler dan lokasi sitemap
/sitemap.xml200Daftar canonical yang ingin ditemukan
/ads.txt200Deklarasi penjual iklan resmi
/.git/config403 atau 404Metadata repository tidak publik
/deploy/404Konfigurasi operasional tidak menjadi konten web
/README.md404Dokumentasi internal bukan halaman situs

Audit link dan resource

Parser internal mengambil setiap href serta src, mengabaikan mailto dan sumber eksternal, lalu memastikan target lokal tersedia. Pemeriksaan dilakukan untuk semua halaman, bukan hanya homepage. URL dengan query kategori diuji terpisah karena filternya berjalan melalui JavaScript.

Audit JavaScript tanpa menyembunyikan konten

Konten artikel dan kartu arsip dasar tersedia sebagai HTML. JavaScript meningkatkan navigasi, tema, pencarian, pagination, related articles, dan copy button. Jika script gagal, pembaca tetap dapat membuka artikel. Console error, unhandled rejection, serta resource error direkam oleh script audit browser.

node --check assets/js/theme.js
node --check assets/js/articles.js
node --check assets/js/search.js
node --check assets/js/app.js

Uji responsif pada titik sempit

Viewport 320, 375, 430, 768, dan 1280 piksel mewakili tekanan layout berbeda. Pemeriksaan otomatis membandingkan scrollWidth dengan innerWidth, memeriksa ukuran target, posisi header action, lebar artikel, dan jumlah kolom kategori mobile. Pengujian manual tetap diperlukan untuk sentuhan, zoom, orientasi, dan pembesaran teks.

320 pxBrand, tombol, code block, kata panjang, dan kategori satu kolom.
375–430 pxMenu dua kolom bila muat, form, card, dan dialog pencarian.
768 pxPeralihan grid serta ruang sidebar artikel.
1280 pxDropdown desktop, batas panjang baca, dan fokus keyboard.

Periksa tema dan preferensi motion

Warna tidak ditulis ulang pada setiap komponen; token --bg, --surface, --text, --muted, --line, dan --accent mengendalikan tema. Tombol primer tetap putih di atas gradien pada kedua tema. prefers-reduced-motion mematikan animasi yang tidak penting.

Periksa metadata sebagai data

  • Setiap halaman indexable memiliki title, description, canonical, dan satu H1.
  • Artikel mempunyai datePublished, dateModified, author, publisher, image, dan mainEntityOfPage yang cocok dengan isi terlihat.
  • Sitemap memuat hanya canonical indexable dengan URL absolut.
  • Halaman pencarian, kategori parameter, 404, dan template tidak menjadi URL tipis dalam sitemap.
  • Domain lama tidak tersisa pada metadata internal.

Periksa header keamanan dan cache

Header nosniff, SAMEORIGIN, dan kebijakan referrer diperiksa pada respons publik. Cache HTML pendek atau revalidate; aset tanpa hash tidak dibuat immutable terlalu lama. Gzip diperiksa untuk file teks yang cukup besar. Security header ditambahkan sesuai kebutuhan, bukan hanya demi mengejar skor checker.

Catat hasil dan blocker

Checklist yang hanya berisi centang tanpa tanggal, URL, dan lingkungan sulit dipakai saat terjadi regresi. Laporan menyimpan jumlah halaman, viewport, tema, error, serta screenshot komponen utama. Masalah yang berisiko pada data atau situs lain menghentikan deployment sampai diperiksa.

Referensi primer

Uji dengan JavaScript dinonaktifkan

Beranda, daftar artikel, isi artikel, link kategori, profil, dan kebijakan utama harus tetap dapat dibaca. Fitur pencarian interaktif, filter, theme persistence, related cards, dan dialog boleh tidak aktif karena merupakan enhancement. Pesan noscript menjelaskan batas tersebut tanpa menyebut situs rusak.

Uji kegagalan resource pihak ketiga

Font CDN atau library animasi dapat gagal karena jaringan, pemblokir, atau layanan eksternal. Sistem font fallback menjaga teks terlihat. Konten utama tidak menunggu library tersebut. Console mungkin mencatat resource error, tetapi halaman tidak boleh menjadi kosong atau navigasi kehilangan fungsi dasar.

Gunakan checklist per rilis

Daftar tidak dianggap selesai selamanya. Perubahan pada header diuji pada semua halaman; perubahan data artikel diuji pada search, category, blog, related cards, dan sitemap; perubahan Nginx diuji pada HTTP, HTTPS, 404, cache, dan protected path. Scope audit mengikuti dampak perubahan, kemudian audit penuh dilakukan sebelum pengajuan layanan penting.

Artikel terkait