WordPress Multisite: 2 Struktur, Subdomain dan Subdirektori
WordPress Multisite adalah fitur untuk menggabungkan beberapa situs ke dalam satu jaringan dan mengelolanya dari satu instalasi WordPress. Pada WordPress dengan konfigurasi Nginx + Apache, kami mengaktifkan multisite dari layar Pengadaan Jaringan, menambahkan satu subsitus, lalu memeriksa jalur menu dan baris yang masuk ke file konfigurasi.
1️⃣ WordPress Multisite dan Admin Jaringan
Di multisite, semua situs dalam jaringan memakai bersama satu instalasi WordPress. File inti, plugin, dan tema juga dipakai bersama, jadi di server tidak ada folder WordPress terpisah untuk tiap situs.
Yang dimiliki terpisah oleh tiap situs adalah tabel basis data dan folder unggahan media, sedangkan hanya tabel pengguna yang dipakai bersama oleh seluruh jaringan. Situs pertama memakai [/wp-content/uploads/] yang sudah ada, dan mulai situs berikutnya tiap situs memakai folder bernomor situs di dalam [/wp-content/uploads/sites/].
Pengguna yang mengelola seluruh jaringan adalah Super Admin. Layar Admin Jaringan muncul setelah jaringan dibuat dan hanya ditampilkan untuk Super Admin.
Pengguna dibuat sebagai akun jaringan, tetapi harus mendapat peran di tiap situs agar bisa mengakses situs itu. Hak admin situs juga dikurangi: hanya Super Admin yang bisa memasang tema dan plugin atau mengubah profil pengguna lain.
Pada diagram di bawah, Anda bisa melihat bagaimana satu instalasi terbagi menjadi beberapa situs melalui jaringan, serta alamat situs untuk tiap jenis alamat.
2️⃣ Perbedaan subdomain dan subdirektori: format alamat dan batasan pilihan
Saat mengadakan jaringan, Anda memilih jenis alamat situs antara subdomain dan subdirektori. Subdomain adalah alamat berformat site1.example.com, sedangkan subdirektori (subfolder) berformat example.com/site1.
| Item | Subdomain | Subdirektori |
|---|---|---|
| Alamat situs | site1.example.com | example.com/site1 |
| Nama di dokumentasi resmi | Berbasis domain (domain-based) | Berbasis jalur (path-based) |
| Persiapan di sisi server | Mengarahkan subdomain ke folder instalasi WordPress di DNS dan server | Tanpa pengaturan tambahan jika permalink berfungsi |
| Saat pengguna membuat situs sendiri | Perlu subdomain wildcard | Tanpa syarat tambahan |
| Saat tidak bisa dipilih | Saat alamat WordPress punya jalur, atau berupa localhost atau alamat IP | Situs yang punya pos terbit lebih dari sebulan lalu |
| Alamat pos situs utama | Tidak berubah | /blog/ ditambahkan di depan alamat pos |
Cara subdirektori tidak perlu pengaturan lain di server yang permalinknya berfungsi, tetapi tidak bisa dipilih di situs yang punya pos terbit lebih dari sebulan lalu. Batasan ini mencegah bentrokan antara alamat pos yang sudah ada dan alamat situs baru, sehingga situs seperti itu dipasang dengan cara subdomain.
Di jaringan subdirektori, alamat pos situs utama ditambah [/blog/]. Struktur ini mencegah tumpang tindih dengan alamat subsitus, dan tidak ditambahkan pada alamat laman.
Mengganti cara yang sudah dipilih di kemudian hari butuh beberapa langkah. Menurut dokumentasi resmi, mengubah nilai [SUBDOMAIN_INSTALL] dan aturan penulisan ulang saja tidak memindahkan alamat situs yang sudah ada, dan DNS serta sertifikat juga harus diatur terpisah.
3️⃣ Persiapan sebelum pengadaan jaringan: cadangan, permalink, dan syarat server
Pengadaan jaringan mengubah file dan basis data situs yang sudah ada, jadi dokumentasi resmi menganjurkan membuat cadangan dulu kecuali situsnya baru dipasang.
Cadangkan basis data dan file, pastikan permalink berfungsi, lalu nonaktifkan semua plugin yang aktif. Aktifkan lagi plugin setelah jaringan dibuat.
Jika Anda berencana menjalankan WordPress dari folder tersendiri, selesaikan itu sebelum mengaktifkan multisite. Jika memakai alamat www dengan cara subdomain, samakan [Alamat WordPress (URL)] dan [Alamat Situs (URL)], dan selesaikan juga perubahan domain sebelum pengadaan.
Jika alamat WordPress memakai nomor port selain :80 atau :443, jaringan tidak bisa dibuat.
Server harus bisa memproses aturan penulisan ulang untuk multisite, dan Apache memerlukan mod_rewrite.
Pada konfigurasi Nginx + Apache, Nginx meneruskan permintaan ke Apache dan Apache membaca .htaccess. Setelah .htaccess diganti dengan aturan yang tampil di layar Pengadaan Jaringan, alamat subsitus terbuka, dan tidak ada aturan yang kami tambahkan di sisi Nginx.
Pada server yang hanya memakai Nginx, WordPress tidak membuat aturan penulisan ulang, jadi konfigurasi Nginx dari dokumentasi resmi harus ditambahkan langsung ke file konfigurasi server.
Di lingkungan yang konfigurasi servernya tidak bisa Anda ubah sendiri, seperti hosting bersama, syarat seperti subdomain wildcard perlu dibicarakan dengan penyedia hosting (menurut dokumentasi resmi).
4️⃣ Langkah pengadaan jaringan
Konstanta [WP_ALLOW_MULTISITE] yang dimasukkan ke wp-config.php hanya menampilkan menu [Peralatan] › [Pengadaan Jaringan]; konstanta ini saja tidak mengaktifkan multisite. Jaringan baru aktif setelah dipasang di layar itu dan baris yang tampil di sana ditambahkan ke wp-config.php dan .htaccess.
Buka wp-config.php dan tambahkan baris yang mendefinisikan [WP_ALLOW_MULTISITE] sebagai true di atas komentar akhir penyuntingan. Komentar akhir penyuntingan adalah baris /* That’s all, stop editing! Happy publishing. */; setelah menyimpan, muat ulang peramban.
define( 'WP_ALLOW_MULTISITE', true );Setelah dimuat ulang, [Pengadaan Jaringan] muncul di bawah [Hapus Data Pribadi] pada menu [Peralatan], dan menu ini membuka layar [Ciptakan sebuah Jaringan Situs WordPress].

WordPress yang dipasang di subfolder hanya menampilkan baris [Instalasi sub-direktori] tanpa kolom untuk memilih jenis alamat. Teks pada baris itu adalah [Karena instalasi ini berada di dalam direktori, situs-situs dalam jaringan WordPress Anda harus menggunakan subdirektori.]
Periksa [Nama Jaringan] dan [Email Admin Jaringan], lalu klik [Pasang].
Menurut dokumentasi resmi, pada instalasi yang bisa memilih jenis alamat, memilih subdomain memunculkan pemberitahuan DNS wildcard, dan syarat ini hanya perlu untuk jaringan yang penggunanya membuat situs sendiri.
Setelah instalasi, layar menampilkan baris wp-config.php dan aturan .htaccess yang disesuaikan untuk situs itu. Cadangkan kedua file, tempel baris itu di wp-config.php di bawah baris [WP_ALLOW_MULTISITE], dan ganti aturan WordPress yang ada di .htaccess dengan aturan baru.

Petunjuk di layar setelah instalasi menampilkan komentar akhir penyuntingan dalam bahasa dasbor, tetapi komentar di dalam wp-config.php tetap berbahasa Inggris.
Baris yang ditambahkan ke wp-config.php adalah enam konstanta, termasuk [MULTISITE] dan [SUBDOMAIN_INSTALL]. Nilai [SUBDOMAIN_INSTALL] adalah true untuk subdomain dan false untuk subdirektori.
[DOMAIN_CURRENT_SITE] dan [PATH_CURRENT_SITE] berisi domain dan jalur instalasi situs itu. Di bawah ini baris untuk instalasi di root example.com dengan cara subdirektori.
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
define( 'DOMAIN_CURRENT_SITE', 'example.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );Pada kasus yang sama, aturan WordPress di .htaccess diganti dengan yang berikut, dan baris [RewriteBase] berisi jalur instalasi.
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]Setelah menyimpan kedua file, masuk lagi lewat tautan [Log Masuk] di layar, lalu [Admin Jaringan] muncul di bawah [Situs Milik Saya] pada bilah admin. Jika tidak bisa masuk, hapus cache dan cookie peramban lalu masuk lagi.

[Admin Jaringan] punya enam menu: Dasbor, Situs, Pengguna, Tema, Plugin, dan Pengaturan, dan mengeklik [Situs] membuka daftar situs di jaringan.

Subsitus ditambahkan dari [Tambah Situs] di samping judul daftar, atau dari [Situs] › [Tambah Situs] di sebelah kiri.

[Alamat Situs (URL)] hanya bisa diisi huruf kecil, angka, dan tanda hubung, dan jika [Email Admin] tidak ada di basis data, pengguna baru akan dibuat.
Setelah satu subsitus ditambahkan, folder [sites/2] muncul di folder unggahan, dan 10 tabel dengan nomor situs setelah prefiks, seperti [wp_2_], bertambah di basis data.
Permalink subsitus tidak mengikuti pengaturan situs utama dan dimulai dengan struktur bawaan yang memuat tahun, bulan, hari, dan nama pos, jadi atur terpisah di pengaturan permalink subsitus.
Di simulator di bawah, Anda bisa mengeklik berurutan jalur dari [Peralatan] › [Pengadaan Jaringan] sampai [Tambah Situs].
네트워크 설치 절차에 오신 것을 환영합니다!
아래의 정보를 채우고 워드프레스 사이트의 네트워크를 만들 수 있습니다. 다음 단계에서 구성 파일을 만들 것입니다.
다음 단계를 완료하여 사이트의 네트워크 만들기 기능을 활성화하세요.
- /var/www/html/wp/의 wp-config.php파일에 /* 그게 다입니다. 편집을 멈추세요! 즐겁게 발행하세요. */행 위에 다음을 추가합니다:wp-config.php에 대한 네트워크 환경설정 규칙define( 'MULTISITE', true );define( 'SUBDOMAIN_INSTALL', false );define( 'DOMAIN_CURRENT_SITE', 'example.com' );define( 'PATH_CURRENT_SITE', '/wp/' );define( 'SITE_ID_CURRENT_SITE', 1 );define( 'BLOG_ID_CURRENT_SITE', 1 );
- 다른 워드프레스 규칙을 교체하는 /var/www/html/wp/의 .htaccess 파일에 다음을 넣습니다:.htaccess에 대한 네트워크 환경설정 규칙RewriteEngine OnRewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]RewriteBase /wp/RewriteRule ^index\.php$ – [L]# add a trailing slash to /wp-adminRewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]RewriteCond %{REQUEST_FILENAME} -f [OR]RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ – [L]RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]RewriteRule . index.php [L]
이 단계를 완료하고나면, 네트워크를 활성화하고 구성합니다. 다시 로그인해야 합니다.
위의 이메일 주소가 데이터베이스에 없으면 새 사용자를 만들 것입니다.
비밀번호를 설정하는 사용자 이름과 링크를 이 이메일 주소로 보낼 것입니다.
5️⃣ Saat multisite tidak cocok
Multisite cocok untuk kasus seperti situs per wilayah, saat tema dan plugin dipakai bersama sementara konten dikelola terpisah. Jika situs-situs harus berbagi data atau pengguna secara erat, dokumentasi resmi menyebutkan bahwa multisite mungkin bukan cara terbaik.
Jika hanya desainnya yang perlu tampak berbeda, Anda bisa mengatasinya di satu situs dengan plugin yang mengganti tema atau stylesheet. Kasus saat tiap kelompok pengguna hanya perlu melihat informasi berbeda juga bisa ditangani di satu situs dengan plugin yang mengubah hak akses dan menu.
Periksa juga plugin yang Anda pakai lebih dulu. Tidak semua plugin di direktori plugin berjalan di multisite, jadi dokumentasi resmi menganjurkan memeriksa dukungannya di halaman plugin atau ke pengembangnya.
🔢 FAQ & Konten yang Direkomendasikan
Server
Pengaturan dasar htaccess WordPress
Tulisan yang merangkum terpisah aturan dasar .htaccess untuk situs biasa dan untuk multisite.
SEO
Subdomain VS subfolder
Tulisan yang membandingkan subdomain dan subfolder untuk melihat mana yang lebih menguntungkan untuk SEO.
Pengaturan
Permalink dan slug WordPress
Menjelaskan struktur permalink dan slug yang diatur terpisah di tiap subsitus.
ℹ️ Pemberitahuan Afiliasi
Konten di situs ini berisi tautan afiliasi. Jika pengunjung membeli produk atau layanan melalui tautan tersebut, situs ini menerima komisi dari penjual. Harga yang dibayar pembeli(turun saat ada diskon promo ↓), tidak naik karena hal ini. Harga, diskon, dan informasi stok yang ditampilkan berlaku pada saat penulisan dan bisa berbeda dengan kondisi sebenarnya, jadi pastikan kembali di situs penjual sebelum membeli. Pemilihan dan penilaian produk dibuat berdasarkan standar kami sendiri, dan ada tidaknya komisi tidak memengaruhi urutan maupun isi penilaian.