Cara Kerja Subdomain Router Interception pada WDP Link Post

Subdomain Router Interception pada WDP Link Post bekerja dengan membaca variabel HTTP_HOST pada fase plugins_loaded dan init. Router memisahkan bagian prefix subdomain dari domain dasar, memverifikasi apakah prefix tersebut cocok dengan postingan undangan yang aktif, lalu memodifikasi query inti WordPress sebelum template di-load oleh peramban.


Mengapa Subdomain Wildcard Memerlukan Penanganan Khusus?

Secara bawaan, WordPress mengenali alamat website hanya berdasarkan pengaturan siteurl dan home yang tersimpan di tabel wp_options. Ketika ada pengunjung mengakses subdomain seperti https://andy-zhea.websiteundangan.com:

  • Server DNS berhasil mengarahkan pengunjung ke IP server hosting (berkat DNS record wildcard *.websiteundangan.com).
  • Server web (Apache atau LiteSpeed) menyalurkan request ke direktori root WordPress.
  • Tetapi WordPress mengalami kebingungan: WordPress mengira URL tersebut bukan bagian dari situs sah miliknya, lalu memicu pengalihan paksa (canonical redirect 301) kembali ke domain utama, atau langsung menampilkan halaman error 404 Not Found.

Kendala Tanpa Intersepsi Tingkat Rendah pada WordPress Core

Jika vendor mencoba mengakali perilaku canonical redirect ini menggunakan plugin redirect biasa:

  • Pengunjung mengalami pengalihan URL yang tampak jelas di bilah alamat (URL jumping), sehingga subdomain hilang dan kembali ke URL panjang.
  • Parameter nama tamu (?to=Nama+Tamu) kerap kali terpotong di tengah proses redirect.
  • Server mengalami beban ganda karena harus melayani dua hingga tiga kali handshake HTTP untuk satu kali kunjungan tamu.

Kondisi ini membuat branding vendor terlihat amatir dan mengacaukan distribusi undangan digital bagi pasangan pengantin.


Anatomi Siklus Hidup Router Interception WDP Link Post

WDP Link Post menyisipkan pengendali khusus pada siklus hidup inisialisasi WordPress (WordPress Lifecycle Engine) untuk menangani perutean sebelum canonical redirect dijalankan.

Diagram Siklus Hidup Subdomain Router Interception
Diagram Siklus Hidup Subdomain Router Interception.

Tahapan Kerja Komponen Router

  1. Pengecekan Host Awal (init hook):

Router memeriksa apakah host yang masuk sama dengan domain utama sistem. Jika sama, router langsung berhenti dan membiarkan WordPress berjalan biasa.

  1. Parsing Prefix Subdomain:

Jika host berbeda, router mengekstrak bagian awal string:

TEXT
   Masukan: andy-zhea.websiteundangan.com
   Base Domain Terdaftar: websiteundangan.com
   Prefix Terisolasi: andy-zhea
  1. Pencarian Postingan:

Router menjalankan kueri cepat ke basis data untuk mencocokkan prefix dengan field post_name (slug) atau meta data _wdplp_subdomain:

SQL
   SELECT ID, post_status FROM wp_posts 
   WHERE post_name = 'andy-zhea' AND post_status = 'publish' 
   LIMIT 1;
  1. Penonaktifan Canonical Redirect:

WDP Link Post menonaktifkan hook bawaan WordPress redirect_canonical khusus untuk request yang valid:

PHP
   remove_action('template_redirect', 'redirect_canonical');
  1. Injeksi Parameter Query:

Variabel lingkungan $wp_query diisi dengan data postingan hasil pencarian, sehingga template undangan langsung dirender secara transparan.


Skenario Operasional: Andy & Zhea

Pasangan pengantin Andy dan Zhea memilih paket Tier 1 Subdomain dari vendor mereka.

  • Base Domain Vendor: websiteundangan.com
  • Subdomain Klien: andy-zhea.websiteundangan.com
  • Postingan Asli WordPress: Halaman dengan ID 204 dan slug andy-zhea

Ketika tamu membuka link undangan di smartphone:

  1. Permintaan masuk dengan header host andy-zhea.websiteundangan.com.
  2. Router WDP Link Post mendeteksi bahwa websiteundangan.com terdaftar di daftar base pool.
  3. Prefix andy-zhea dipetakan ke Post ID 204.
  4. Filter pre_handle_404 dicegat agar WordPress tidak mengeluarkan status HTTP 404.
  5. Halaman undangan tampil sempurna dengan status HTTP 200 OK dan URL di peramban tetap rapi: https://andy-zhea.websiteundangan.com.

Perbandingan Kinerja Router

KondisiTanpa WDP Link PostDengan WDP Link Post
Respon CanonicalRedirect 301 ke domain utamaTetap di host subdomain (200 OK)
Konsumsi QueryRata-rata 25-40 query umum1 query terindeks hemat memori
Waktu Eksekusi> 350 ms (karena redirect)< 80 ms (eksekusi langsung)
Preservasi URLGagal (Alamat berubah)Berhasil (Alamat permanen)

Tips & Praktik Terbaik

Pastikan record wildcard DNS (*.domainanda.com) telah terpasang dengan benar sebelum mengaktifkan router subdomain agar peramban langsung mengenali prefix yang diminta.
Jangan menonaktifkan hook canonical redirect secara manual di functions.php tema Anda, biarkan WDP Link Post mengelolanya secara otomatis demi menjaga kompatibilitas rute lainnya.

Pertanyaan yang Sering Diajukan (FAQ)

Apakah router ini mengganggu akses halaman admin wp-admin? +
Tidak. Router memiliki pengecualian mutlak untuk direktori `/wp-admin/`, file `wp-login.php`, dan endpoint REST API.
Bagaimana jika ada orang yang mengakses subdomain yang belum dibuat postingannya? +
Router mendeteksi bahwa prefix tidak ditemukan di database, lalu secara otomatis meneruskan alur ke template 404 standar WordPress atau halaman pengalihan khusus yang Anda tentukan di pengaturan.
Apakah router ini kompatibel dengan plugin cache LiteSpeed? +
Sangat kompatibel. WDP Link Post menyuplai tag header `X-LiteSpeed-Cache-Control` khusus agar server cache menyimpan halaman berdasarkan host unik, mencegah tumpang tindih data.
Apakah router memerlukan file .htaccess khusus? +
File `.htaccess` standar bawaan WordPress sudah mencukupi karena seluruh penanganan kueri dilakukan di tingkat bahasa PHP.
Bisakah router menangani huruf besar dan kecil pada alamat subdomain? +
Bisa. Router selalu melakukan normalisasi string host ke format huruf kecil (*lowercase*) sebelum melakukan pencocokan database. ---