Checklist Produksi Website Statis: 404, Cache, Header, dan Audit
Pemeriksaan produksi dari status HTTP dan file publik sampai cache, header keamanan, link internal, viewport, tema, dan fallback tanpa JavaScript.
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.
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
| URL | Harapan | Alasan |
|---|---|---|
| /robots.txt | 200 | Petunjuk crawler dan lokasi sitemap |
| /sitemap.xml | 200 | Daftar canonical yang ingin ditemukan |
| /ads.txt | 200 | Deklarasi penjual iklan resmi |
| /.git/config | 403 atau 404 | Metadata repository tidak publik |
| /deploy/ | 404 | Konfigurasi operasional tidak menjadi konten web |
| /README.md | 404 | Dokumentasi 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.
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.