SHTML adalah ekstensi file untuk halaman web HTML yang memanfaatkan teknologi Server Side Includes (SSI). Dengan menggunakan SHTML, pengembang web statis dapat menyisipkan konten dari satu file (seperti navigasi header, footer, atau sidebar) ke dalam banyak halaman web secara otomatis tanpa memerlukan bahasa pemrograman sisi server seperti PHP atau database seperti MySQL.
Meskipun web modern telah beralih ke CMS atau static site generator seperti Hugo dan Jekyll, SHTML tetap menjadi solusi ringan, cepat, dan efisien untuk membangun situs web statis murni yang membutuhkan modularitas dasar.
Prasyarat & Konfigurasi Server
Agar file dengan ekstensi .shtml dapat memproses perintah SSI, server web yang Anda gunakan (seperti Apache atau Nginx) harus dikonfigurasi untuk mengaktifkan modul SSI. Pada server Apache, pastikan modul include_module aktif dan tambahkan baris konfigurasi berikut pada file .htaccess atau konfigurasi virtual host:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
Tabel Perintah Dasar Server Side Includes (SSI)
Berikut adalah daftar direktif SSI yang paling sering digunakan dalam pengembangan web statis SHTML:
| Direktif SSI | Fungsi Utama | Contoh Penggunaan |
|---|---|---|
#include |
Menyisipkan isi file eksternal ke dalam dokumen. | <!--#include virtual="/header.html" --> |
#echo |
Menampilkan variabel server (misal: tanggal, nama host). | <!--#echo var="DATE_LOCAL" --> |
#flastmod |
Menampilkan tanggal modifikasi terakhir suatu file. | <!--#flastmod file="index.shtml" --> |
#set |
Membuat atau mendefinisikan variabel kustom. | <!--#set var="page_title" value="Beranda" --> |
Langkah-Langkah Implementasi Web SHTML
1. Membuat File Komponen (Header dan Footer)
Buat file terpisah yang berisi bagian berulang dari situs web Anda. Simpan file ini di direktori root server.
header.html:
<header>
<nav>
<a href="/index.shtml">Beranda</a> |
<a href="/about.shtml">Tentang</a> |
<a href="/contact.shtml">Kontak</a>
</nav>
<hr>
</header>
footer.html:
<footer>
<hr>
<p>© 2026 Situs Web Statis. Hak Cipta Dilindungi.</p>
<p>Terakhir diperbarui: <!--#flastmod virtual="/footer.html" --></p>
</footer>
2. Membuat Halaman Utama SHTML
Gunakan ekstensi .shtml pada file halaman utama Anda, lalu panggil file komponen menggunakan sintaks #include.
index.shtml:
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<title>Beranda - Website SHTML</title>
</head>
<body>
<!--#include virtual="header.html" -->
<main>
<h1>Selamat Datang di Website Statis SHTML</h1>
<p>Halaman ini dibangun menggunakan Server Side Includes tanpa database.</p>
</main>
<!--#include virtual="footer.html" -->
</body>
</html>
Troubleshooting & Tips Lapangan
Jika tag SSI Anda tidak tampil dan hanya menghasilkan komentar kosong atau error 500 pada browser, periksa beberapa hal berikut:
- Ekstensi File: Pastikan file Anda menggunakan ekstensi
.shtml, bukan.html. Sebagian besar server web tidak memproses SSI pada file.htmlstandar demi performa. - Ikses Lokal: SSI umumnya tidak dapat dijalankan dengan membuka file langsung dari harddisk (protokol
file://). Anda wajib menjalankan server lokal seperti Apache (XAMPP/WAMP) atau Nginx untuk menguji sintaks SSI. - Parameter Include: Gunakan parameter
virtualuntuk path absolut berbasis root web (diawali dengan garis miring/) ataufileuntuk path relatif terhadap direktori file saat ini.