Cara Konversi SHTML ke HTML: Panduan Teknis dan Otomatisasi

Inti Konversi SHTML ke HTML

SHTML (Server Side Includes HTML) adalah file HTML yang berisi instruksi sisi server (SSI) untuk menyisipkan konten dinamis seperti header atau footer. Konversi ke HTML statis dilakukan dengan mengganti direktif <!--#include virtual="..." --> dengan konten file yang dirujuk secara permanen. Proses ini krusial untuk meningkatkan kecepatan akses (TTFB) karena server tidak perlu lagi memproses instruksi SSI setiap kali halaman dimuat.

Metode Konversi

Terdapat dua cara utama untuk melakukan konversi: manual untuk file tunggal atau menggunakan skrip untuk migrasi massal. Berikut adalah perbandingan metodenya:

MetodeTingkat KesulitanKecepatanCocok Untuk
Manual (Copy-Paste)MudahSangat Lambat1-5 File
Skrip Python/BashMenengahSangat CepatRatusan File
Command Line (Sed)TinggiInstanServer-side Batch

Langkah Teknis Konversi Massal dengan Python

Jika Anda memiliki banyak file, gunakan skrip Python untuk membaca direktif SSI dan menggantinya dengan isi file target. Pastikan Anda melakukan backup sebelum menjalankan skrip ini.

import os
import re

def convert_shtml(file_path):
    with open(file_path, 'r') as f:
        content = f.read()
    
    # Regex untuk mencari include virtual
    pattern = r'<!--#include virtual="(.*?)" -->'
    
    def replace_with_content(match):
        include_file = match.group(1)
        if os.path.exists(include_file):
            with open(include_file, 'r') as inc:
                return inc.read()
        return match.group(0)

    new_content = re.sub(pattern, replace_with_content, content)
    
    with open(file_path.replace('.shtml', '.html'), 'w') as f:
        f.write(new_content)

# Jalankan fungsi pada file target
convert_shtml('index.shtml')

Troubleshooting dan Tips

  • Path Relatif: Pastikan path file yang di-include dalam SHTML dapat diakses oleh skrip konversi Anda.
  • Encoding: Gunakan UTF-8 untuk menghindari karakter rusak saat proses penggantian teks.
  • Redirect: Setelah file diubah menjadi .html, pasang aturan 301 redirect di .htaccess agar SEO tidak rusak: Redirect 301 /halaman.shtml /halaman.html.
  • Validasi: Selalu validasi hasil konversi menggunakan W3C Markup Validation Service untuk memastikan tidak ada tag yang tidak tertutup akibat proses penyisipan.