Tabrakan Permalink WordPress? Ini Solusi Integrasi Hosting & Domain Laxy Motions!

Integrasi template undangan statis Laxy Motions dengan website WordPress dapat dilakukan menggunakan metode subdirektori atau subdomain baru. Pemilihan ini menentukan bagaimana server mengalokasikan resource memori, mengelola sertifikat SSL, serta menghindari konflik penulisan ulang (.htaccess rewrite rules) pada sistem permalink WordPress.

📖
Skenario Penggunaan Nyata

Saat Anda mengupload folder undangan baru klien ke dalam root server WordPress, tiba-tiba muncul halaman Error 404 WordPress ketika link diakses. Masalah ini dipicu karena web server mengalihkan semua request folder baru ke sistem router WordPress. Dengan memahami aturan integrasi domain, Anda dapat melewati (bypass) aturan tersebut agar undangan klien terbuka instan.


🛠️ Pilihan Metode Integrasi di Web Server

Karena Laxy Motions berbasis file HTML statis murni, Anda memiliki kebebasan penuh untuk menaruhnya di berbagai arsitektur hosting. Jika Anda ingin menaruhnya di server yang sama dengan WordPress, ikuti panduan berikut:

Metode A: Menggunakan Subdirektori / Subfolder di WordPress

Pada metode ini, Anda mengupload berkas undangan klien di dalam direktori baru di dalam folder instalasi WordPress Anda. Contoh URL: https://domainanda.com/undangan/andy-zhea/.

Langkah-langkah Setup:

  1. Hubungkan server Anda melalui File Manager cPanel atau aplikasi FTP (seperti FileZilla).
  2. Masuk ke folder root WordPress Anda (biasanya di public_html/).
  3. Buat folder baru bernama undangan (jika belum ada).
  4. Di dalam folder undangan/, buat subfolder baru sesuai ID undangan klien Anda (misal: andy-zhea/).
  5. Upload seluruh berkas template (index.html, data.json, .htaccess, dan folder assets/) ke dalam folder tersebut. File .htaccess diawali titik, jadi aktifkan opsi Show Hidden Files di File Manager agar terlihat.

⚠️ Mengatasi Konflik Permalink WordPress (.htaccess):

Secara default, berkas .htaccess WordPress telah dilengkapi dengan aturan untuk mengabaikan direktori fisik yang nyata melalui baris:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

Jika Anda tetap mengalami Error 404 dari WordPress saat mengakses subfolder undangan, pastikan berkas .htaccess Anda di root public_html/ tidak diubah oleh plugin keamanan WordPress. Jika Anda menggunakan server Nginx (bukan Apache), Anda wajib menambahkan konfigurasi berikut pada server block agar folder statis dilewatkan:

location /undangan/ {
    try_files $uri $uri/ =404;
}

Metode B: Menggunakan Subdomain Baru (Direkomendasikan)

Metode ini memisahkan total sistem undangan dari instalasi WordPress Anda dengan menggunakan subdomain khusus. Contoh URL: https://undangan.domainanda.com/andy-zhea/ atau https://andy-zhea.domainanda.com/.

Langkah-langkah Setup di cPanel:

  1. Masuk ke cPanel hosting Anda, lalu cari menu Subdomains atau Domains.
  2. Buat subdomain baru, misalnya undangan.
  3. Set Document Root ke folder baru di luar folder utama WordPress (misalnya /public_html/undangan-subdomain/ atau /undangan/). Langkah ini sangat penting agar file tidak campur aduk dengan WordPress.
  4. Klik Create. cPanel secara otomatis akan mendaftarkan subdomain dan membuat folder tersebut.
  5. Aktifkan Let's Encrypt SSL gratis untuk subdomain baru Anda melalui menu SSL/TLS Status di cPanel.
  6. Upload file undangan Anda ke folder document root subdomain tersebut.

🔐 Wajib: Daftarkan Domain Anda di .htaccess Template

Setiap folder template membawa file .htaccess yang menolak akses file JS dan CSS (error 403) jika permintaan tidak datang dari domain yang terdaftar. Bawaannya hanya mengizinkan templateundangan.net, websiteundangan.com, localhost, dan 127.0.0.1. Jika undangan diupload ke domain Anda tanpa mengubah file ini, halaman tampil kosong atau berantakan karena semua script dan style diblokir.

Cara A: Generate dari Data Editor (Direkomendasikan)

  1. Buka Data Editor, masuk ke tab Info Utama & Cover.
  2. Isi kolom Domain / Subdomain Hosting Undangan dengan domain tempat undangan dipasang, misalnya undangan.domainanda.com (tanpa https://). Versi dengan dan tanpa www. otomatis diizinkan.
  3. Klik Generate All, buka tab .htaccess, lalu unduh atau salin isinya.
  4. Ganti file .htaccess di folder undangan dengan file hasil generate.

Cara B: Edit Manual

Buka .htaccess di folder undangan dan tambahkan satu baris untuk domain Anda di bawah daftar domain yang diizinkan, sebelum baris RewriteRule:

RewriteCond %{HTTP_REFERER} !^https?://(www\.)?domainanda\.com [NC]

Setiap titik pada nama domain ditulis \.. Satu baris cukup untuk satu domain. Jika semua klien Anda memakai subdomain yang sama, cukup daftarkan subdomain itu.

📖
Hanya Berlaku di Server Apache / LiteSpeed

File .htaccess dibaca oleh hosting cPanel (Apache atau LiteSpeed). Nginx, Netlify, GitHub Pages, dan Cloudflare Pages mengabaikannya: undangan tetap tampil normal, tetapi blokir akses langsung ke file JS dan CSS tidak aktif. Proteksi dari protection.js (klik kanan, shortcut DevTools) tetap berjalan di semua hosting.


📊 Komparasi: Subfolder vs Subdomain

Aspek Metode Subfolder (WordPress) Metode Subdomain (Rekomendasi)
Kemudahan Setup Sangat Mudah (langsung buat folder via cPanel/FTP). Sedikit Tambahan (perlu daftarkan subdomain di cPanel).
Sertifikat SSL Otomatis mengikuti domain utama WordPress. Perlu diaktifkan manual (Let's Encrypt gratis).
Isolasi & Keamanan Rendah (Jika WordPress kena malware, undangan bisa ikut terinfeksi). Tinggi (File terisolasi di folder Document Root yang berbeda).
Konflik Sistem Ada potensi konflik permalink (.htaccess / web.config). Bebas Konflik (Web server memperlakukan subdomain secara terpisah).
💡
Pro Tips Efisiensi

Siapkan satu subdomain khusus undangan (misalnya undangan.domainanda.com) dan buat satu folder per klien di dalamnya. SSL cukup diaktifkan sekali, dan file .htaccess hasil generate bisa dipakai ulang untuk semua klien karena domainnya sama.

💡 Pertanyaan Sering Ditanya (FAQ)

Ini terjadi jika konfigurasi .htaccess di server Apache Anda tidak memiliki rule pengecualian direktori nyata (RewriteCond %{REQUEST_FILENAME} !-d), atau server Nginx Anda mengarahkan semua path ke index.php WordPress. Pastikan rule pengecualian folder aktif di konfigurasi web server Anda.

Sebagian besar hosting modern menyediakan Let's Encrypt SSL gratis untuk subdomain baru secara otomatis dalam waktu 1-24 jam setelah subdomain dibuat di cPanel Anda.

Bisa. Laxy Motions adalah HTML statis tanpa PHP, jadi undangan tampil normal di static hosting mana pun. Perlu diingat, Netlify dan GitHub Pages tidak membaca file .htaccess, sehingga blokir akses langsung ke file JS dan CSS tidak aktif di sana. Jika proteksi itu penting bagi Anda, gunakan hosting cPanel.