Panduan

Domain kustom untuk SaaS WordPress: Cara kerja pemetaan domain tenant

Tim GrabWP
· 5 min read · Direview oleh Tim GrabWP

Jika Anda membangun SaaS WordPress, cepat atau lambat pelanggan akan menanyakan hal yang sama: “Bisakah saya menggunakan domain saya sendiri?” Cara Anda menjawabnya akan membentuk keseluruhan produk Anda. Panduan ini membahas bagaimana pemetaan domain tenant bekerja secara praktis dengan plugin GrabWP Tenancy: opsi routing, bagaimana pelanggan menambahkan domain mereka sendiri, dan apa yang sebenarnya terjadi di server.

Mengapa domain penting untuk sebuah WaaS

Dalam bisnis Website-as-a-Service (WaaS), domain adalah pintu masuk pelanggan. Ini memengaruhi kepercayaan, branding, dan SEO. Klien yang melihat situs mereka di yourbrand.com/site/acme-widgets akan menganggapnya sebagai demo. Klien yang sama di acmewidgets.com akan menganggapnya sebagai bisnis mereka.

Domain penting karena tiga alasan konkret:

  • Branding. Pelanggan ingin nama mereka ada di bar URL, bukan nama Anda.
  • SEO. Mesin pencari mengindeks konten berdasarkan hostname. Domain kustom memungkinkan setiap tenant membangun otoritasnya sendiri.
  • Persepsi kepemilikan. Domain kustom membuat produk terasa seperti milik mereka, yang pada gilirannya mengurangi churn dan mendukung harga yang lebih tinggi.

Triknya adalah menawarkan domain kustom tanpa mengubah setiap pendaftaran menjadi tiket dukungan DNS manual. Itu berarti memulai dengan cara yang sederhana dan melakukan upgrade sesuai permintaan.

Opsi routing: Domain kustom vs berbasis path

GrabWP Tenancy mendukung dua model routing, dan Anda dapat mencampurnya di seluruh basis tenant Anda.

Routing berbasis domain memetakan domain kustom penuh ke satu tenant. Saat permintaan datang untuk acmewidgets.com, GrabWP menyelesaikannya ke tenant Acme dan memuat data tenant tersebut. Ini biasanya yang diinginkan oleh pelanggan pada paket berbayar.

Routing berbasis path menempatkan setiap tenant di bawah path pada domain bersama Anda, seperti yoursite.com/site/acme-widgets. Tidak ada perubahan DNS yang diperlukan, sehingga sangat cocok untuk onboarding, uji coba, dan paket gratis. Awalan path dapat dikonfigurasi melalui konstanta GRABWP_TENANCY_PATH_PREFIX, yang secara default adalah site. Atur ke sesuatu seperti app atau clients agar sesuai dengan produk Anda.

// wp-config.php
define( 'GRABWP_TENANCY_PATH_PREFIX', 'clients' );
// Tenants now live at yoursite.com/clients/acme-widgets

Kedua model mengalir melalui lapisan resolusi URL tenant terpusat yang sama, jadi Anda tidak perlu memilih salah satu dan berkomitmen selamanya. Sebuah tenant bisa berada pada path hari ini dan menggunakan domain kustom besok.

Cara pelanggan menambahkan domain dari dashboard mereka

Manajemen domain kustom di dashboard domain WaaS GrabWP

Anda tentu tidak ingin menjadi perantara untuk setiap perubahan domain. Lapisan WaaS GrabWP memberi tenant dashboard swalayan melalui shortcode [grabwp_waas_dashboard]. Letakkan shortcode tersebut di sebuah halaman pada situs kontrol Anda dan setiap pelanggan yang masuk akan melihat dashboard mereka sendiri.

Dashboard ini mencakup tab Domains tempat pelanggan mengelola domain yang dilampirkan pada tenant mereka. Dari sana, pelanggan dapat mendaftarkan domain kustom yang ingin mereka arahkan ke situs mereka. Saat sebuah domain diaktifkan, lapisan WaaS dapat mengirimkan email notifikasi aktivasi domain sehingga pelanggan tahu bahwa pemetaan tersebut sudah aktif.

Alur yang dihadapi pelanggan terlihat seperti ini:

  1. Pelanggan membuka dashboard mereka dan mengklik tab Domains.
  2. Pelanggan memasukkan domain yang mereka miliki, contohnya acmewidgets.com.
  3. Pelanggan mengarahkan DNS domain tersebut ke server Anda (A record atau CNAME, sesuai dengan setup Anda).
  4. Setelah DNS berhasil di-resolve dan sertifikat sudah terpasang, tenant akan dimuat pada domain kustom tersebut.

Sebagai operator, Anda tetap bisa mengelola semuanya secara terpusat melalui antarmuka admin atau file pemetaan tenant, yang sangat berguna untuk perubahan massal atau menangani domain atas nama pelanggan.

Apa yang terjadi di server

Saat sebuah domain dipetakan, GrabWP melakukan pekerjaan di sisi WordPress agar permintaan di-resolve ke tenant yang benar. Ada dua hal yang perlu dipahami.

Routing. Resolusi URL tenant terpusat memeriksa hostname atau path yang masuk dan memuat tenant yang cocok. Permintaan berbasis domain maupun berbasis path sama-sama melewati resolver tunggal ini, sehingga perilakunya tetap konsisten terlepas dari bagaimana sebuah tenant diakses.

Sinkronisasi symlink. Pada versi Pro, GrabWP menjaga agar symlink domain tersinkronisasi secara otomatis setiap kali tenant dibuat, diperbarui, atau dihapus. Ini berfungsi di seluruh UI admin, REST API, dan WP-CLI, jadi tenant yang di-provision oleh otomatisasi pendaftaran Anda mendapatkan perlakuan yang sama dengan yang Anda buat secara manual. Ada juga aksi Pro Settings untuk menyinkronkan symlink domain di semua tenant sekaligus, yang sangat berguna setelah migrasi atau impor massal.

Satu batasan yang perlu diperjelas: GrabWP tidak menerbitkan sertifikat TLS atau mengelola DNS. Mengarahkan domain pelanggan ke server Anda dan menyiapkan sertifikat HTTPS adalah pekerjaan web-server standar, yang ditangani oleh host Anda, reverse proxy, atau tool seperti Certbot. GrabWP menangani pemetaan dan routing setelah permintaan mencapai WordPress. Memperjelas batasan ini akan menyelamatkan Anda dari banyak tiket dukungan yang membingungkan.

Memulai dari domain bersama dan melakukan upgrade nanti

Jalur onboarding yang paling bersih adalah memulai setiap tenant pada URL berbasis path bersama dan melakukan upgrade ke domain kustom hanya ketika pelanggan memintanya.

Inilah mengapa cara ini bekerja dengan sangat baik. Pendaftaran baru di yoursite.com/site/acme-widgets membutuhkan nol konfigurasi DNS, sehingga situs pelanggan bisa langsung online dalam hitungan detik. Ketika mereka memutuskan untuk beralih ke paket pro, mereka menambahkan domain kustom dari tab Domains.

Dengan mengaktifkan alias routing Pro, proses upgrade menjadi lancar: URL ID tenant yang lama di-redirect 301 ke URL alias, dengan mempertahankan sub-path dan query string. Ini berarti tautan yang ada, bookmark, dan setiap halaman yang terindeks akan terbawa ke domain baru tanpa rusak, dan mesin pencari akan diberi tahu bahwa konten tersebut telah pindah permanen.

Model bertahap ini juga sejalan dengan harga. Situs berbasis path dapat menggunakan paket gratis atau uji coba Anda, dan domain kustom dapat menjadi fitur berbayar pada paket Pro dengan harga $9.99/month. Pelanggan akan melakukan upgrade saat mereka melihat nilai yang jelas, yaitu tepat saat mereka menginginkan domain mereka sendiri.

Kesalahan umum

Beberapa masalah sering muncul saat tim pertama kali meluncurkan domain kustom:

  • Berharap plugin ini menerbitkan sertifikat. Ini tidak benar. Siapkan TLS pada server atau lapisan proxy sebelum memetakan domain.
  • DNS belum terpropagasi. Domain yang baru saja diarahkan bisa membutuhkan waktu untuk di-resolve. Verifikasi DNS sebelum berasumsi bahwa pemetaannya rusak.
  • Lupa menyinkronkan symlink setelah perubahan massal. Jika Anda mengimpor atau memigrasikan tenant di luar alur pembuatan normal, jalankan aksi Pro Settings untuk menyinkronkan symlink domain di semua tenant.
  • Melewati redirect 301 saat upgrade. Tanpa alias routing, tautan lama berbasis path dapat menjadi usang. Aktifkan alias routing Pro agar URL ID tenant di-redirect ke domain kustom.
  • Mengubah awalan path setelah peluncuran. Jika Anda mengubah GRABWP_TENANCY_PATH_PREFIX nanti, URL path yang sudah ada akan bergeser. Putuskan awalan Anda sejak awal.

Mulai sekarang

Pemetaan domain kustom adalah pembeda antara demo dan produk nyata. Mulai setiap pelanggan pada URL berbasis path untuk onboarding instan, lalu biarkan mereka beralih ke domain mereka sendiri dari tab Domains saat mereka siap. GrabWP menangani routing dan sinkronisasi symlink di sisi WordPress sehingga tenant yang tepat selalu dimuat.

Siap menawarkan domain kustom di SaaS WordPress Anda sendiri? Jelajahi platform WaaS GrabWP, baca panduan pendamping kami tentang cara membangun SaaS WordPress tanpa kode, atau dapatkan plugin GrabWP Tenancy gratis untuk mulai bereksperimen hari ini.

Pertanyaan yang sering diajukan

Apakah GrabWP menerbitkan sertifikat SSL untuk domain kustom pelanggan saya?
Tidak. GrabWP menangani routing dan pemetaan di sisi WordPress sehingga tenant yang tepat dimuat untuk setiap domain. Menerbitkan sertifikat TLS dan mengarahkan DNS ke server Anda adalah pekerjaan web-server standar, biasanya ditangani oleh host Anda, reverse proxy, atau tool seperti Certbot. Arahkan DNS pelanggan ke server Anda, siapkan sertifikatnya, lalu petakan domain tersebut ke tenant di GrabWP.
Bisakah satu tenant memiliki lebih dari satu domain?
Ya. GrabWP Tenancy mendukung beberapa domain per tenant. Anda bisa memetakan domain kustom utama beserta alias tambahan melalui antarmuka admin atau file pemetaan tenant, dan resolusi URL terpusat akan mengarahkan semuanya ke tenant yang sama.
Bisakah pelanggan memulai dengan domain bersama dan menambahkan domain kustom nanti?
Ya. Mulai setiap tenant dengan URL berbasis path seperti yoursite.com/site/client-a tanpa perubahan DNS, lalu tambahkan domain kustom saat pelanggan siap. Dengan mengaktifkan alias routing Pro, URL ID tenant yang lama akan di-redirect 301 ke domain baru, dengan tetap mempertahankan sub-path dan query string.

Editorial standards: Our content is written by WordPress experts with hands-on multi-tenancy experience. Articles are fact-checked and regularly updated to ensure accuracy.