Tutorial

Isolasi klien WordPress nyata untuk agensi, tanpa Multisite

Tim GrabWP
· 6 min read · Direview oleh Tim GrabWP

Agensi menggunakan WordPress Multisite karena menjanjikan satu tempat untuk menjalankan banyak situs klien. Kemudian masalah isolasi muncul. Seorang klien bertanya di mana data mereka berada dan siapa lagi yang dapat menyentuhnya. Plugin yang berfungsi untuk satu klien merusak situs klien lain. Satu situs perlu di-restore, dan tidak ada cara yang rapi untuk melakukan roll back hanya pada situs tersebut. Multisite mengelompokkan klien Anda, tetapi mengelompokkan bukan berarti mengisolasi, dan untuk pekerjaan agensi, perbedaannya sangat penting.

Panduan ini diperuntukkan bagi agensi yang membutuhkan agar setiap situs klien benar-benar terpisah: data terpisah, plugin terpisah, theme terpisah, blast radius terpisah. Panduan ini menunjukkan bagaimana GrabWP Tenancy Pro memberikannya pada satu instalasi standar WordPress, tanpa memerlukan Multisite.

Di mana isolasi Multisite rusak untuk agensi

Multisite adalah fitur jaringan, bukan fitur isolasi, dan tiga pilihan desainnya bertentangan dengan pekerjaan klien agensi.

  • Satu database bersama. Setiap situs dalam jaringan Multisite berada di database yang sama. Setiap situs mendapatkan set tabelnya sendiri yang dibedakan oleh awalan numerik, tetapi semuanya berada di satu skema, yang dapat dijangkau oleh koneksi yang sama. Ketika seorang klien bertanya apakah data mereka disimpan secara terpisah dari klien agensi lainnya, jawaban jujurnya di Multisite adalah tidak.
  • Plugin dan theme seluruh jaringan. Plugin dan theme dipasang satu kali untuk seluruh jaringan. Anda dapat mengaktifkan plugin per situs, tetapi kodenya dibagikan, versinya dibagikan, dan semuanya berjalan di proses PHP yang sama. Anda tidak dapat memberikan versi plugin lama yang disematkan kepada klien A sementara klien B menjalankan versi terbaru.
  • Satu kerusakan memengaruhi semua. Karena database, kode, dan runtime dibagikan, pembaruan plugin yang buruk, tabel yang rusak, atau fatal error memiliki blast radius seluruh jaringan. Masalah yang seharusnya menjadi milik satu klien dapat menjatuhkan seluruh jaringan.

Untuk portofolio klien yang membayar, “dipisahkan oleh awalan tabel” bukanlah cerita yang ingin Anda sampaikan. Agensi membutuhkan dinding nyata antar situs.

Apa arti isolasi nyata sebenarnya

Pengaturan isolasi GrabWP Tenancy Pro untuk pemisahan per klien

Isolasi per klien yang sebenarnya berarti setiap situs memiliki data dan kodenya sendiri, dan tidak ada yang dibagikan secara default. GrabWP Tenancy Pro membangun setiap klien sebagai tenant dengan tiga lapisan pemisahan.

  • Database khusus per klien. Pro memungkinkan Anda memilih, per tenant, antara MySQL bersama dengan awalan tabel, database MySQL khusus, atau database SQLite. Untuk pekerjaan klien, Anda memilih database khusus, sehingga konten satu klien berada di databasenya sendiri daripada berbagi skema dengan semua orang. Ini adalah arsitektur isolasi data, dan memberikan Anda cerita kepatuhan yang jauh lebih kuat daripada pengaturan database bersama di mana semua klien berdampingan dalam satu skema.
  • wp-content terisolasi. Di Pro, setiap tenant mendapatkan direktori wp-content yang terisolasi, dengan direktori theme dan pluginnya sendiri di bawahnya. File klien tidak dicampur dalam satu folder bersama.
  • Upload terpisah. Bahkan plugin dasar gratis GrabWP Tenancy mengisolasi upload setiap tenant dan memberikannya awalan tabel databasenya sendiri. Pro dibangun di atas dasar tersebut dengan menambahkan database khusus dan wp-content yang sepenuhnya terpisah di atasnya.

Hasilnya adalah data klien tidak pernah bercampur dengan data klien lain, karena tidak berbagi database, direktori konten, atau folder upload.

Stack plugin dan theme per klien, tanpa konflik

Stack plugin dan theme per tenant di panel Extensions GrabWP Tenancy Pro

Keuntungan paling praktis dari wp-content yang terisolasi adalah setiap klien menjalankan stack plugin dan themenya sendiri. Satu klien dapat menjalankan toko WooCommerce dengan plugin pembayaran dan pengirimannya sendiri, sementara klien lain menjalankan situs keanggotaan dengan set yang sama sekali berbeda, dan keduanya tidak pernah bertabrakan, karena mereka tidak berbagi direktori plugin.

Anda mengelola stack setiap tenant dari halaman Extensions. Dari sana Anda mengaktifkan atau menonaktifkan plugin dan beralih theme untuk tenant tertentu, dengan status langsung yang ditampilkan untuk masing-masingnya. Anda mengonfigurasi situs satu klien tanpa menjangkau situs klien lain. Tidak ada aktivasi di seluruh jaringan yang perlu dipikirkan dan tidak ada risiko bahwa mengaktifkan plugin untuk satu klien akan mengubah perilaku situs yang lain di portofolio Anda.

Ini adalah dinding yang tidak dapat diberikan oleh Multisite. Alih-alih satu basis kode bersama yang diwarisi oleh setiap situs, setiap klien mendapatkan stack yang Anda atur secara mandiri, sehingga kompatibilitas plugin menjadi keputusan per klien daripada pertaruhan seluruh jaringan.

Kontrol blast-radius: perbaiki satu klien tanpa menyentuh yang lain

Isolasi paling berharga pada saat terburuk, ketika ada yang tidak beres. Karena setiap tenant mandiri, masalah tetap terkendali, dan pemulihannya sangat presisi.

GrabWP Tenancy Pro memberi setiap tenant backup dan restore sendiri, dengan alur kerja langkah demi langkah lengkap yang mencakup database, upload, konten, dan konfigurasi. Ketika satu klien perlu melakukan roll back, Anda me-restore tenant tunggal itu secara mandiri. Klien lain pada instalasi yang sama tidak pernah terlibat, tidak pernah di-pause, dan tidak pernah berisiko dari operasi tersebut.

Restore cukup fleksibel untuk bertahan dalam migrasi dunia nyata juga. Pro mendukung restore lintas database, sehingga Anda dapat memindahkan tenant ke berbagai jenis database, dari MySQL bersama ke database MySQL khusus atau ke SQLite, ketika kebutuhan klien berubah. Dan karena backup setiap tenant adalah miliknya sendiri, blast radius pemulihan Anda tepat satu klien, yang mana persis seperti apa seharusnya manajemen risiko agensi itu.

Bandingkan dengan restore Multisite, di mana database bersama berarti me-restore satu situs dengan bersih adalah hal yang canggung, dan restore seluruh jaringan adalah satu-satunya instrumen tumpul yang tersisa bagi Anda.

Cara mengadopsi ini tanpa Multisite

Bagian terbaiknya adalah semua ini tidak memerlukan komitmen struktural Multisite. GrabWP Tenancy Pro berjalan pada instalasi standar tunggal WordPress.

  1. Instal pada situs WordPress normal. Tambahkan plugin dasar gratis GrabWP Tenancy dan GrabWP Tenancy Pro ke instalasi standar. Anda tidak mengaktifkan jaringan Multisite, dan Anda tidak merestrukturisasi situs Anda yang sudah ada.
  2. Tetapkan default isolasi Anda. Di Pro Settings, pilih database khusus sebagai default untuk tenant baru dan konfirmasi isolasi konten, sehingga setiap klien yang Anda buat mewarisi pemisahan nyata sejak awal.
  3. Buat tenant per klien. Setiap klien baru menjadi tenant terisolasi dengan databasenya sendiri, wp-content-nya sendiri, dan upload-nya sendiri, semuanya di bawah satu instalasi yang sudah Anda kelola.
  4. Kelola setiap stack secara mandiri. Gunakan halaman Extensions untuk mengatur plugin dan theme setiap klien, dan ambil backup baseline per tenant sehingga Anda memiliki titik restore yang bersih sebelum pekerjaan dimulai.

Anda mempertahankan kesederhanaan satu instalasi WordPress dan satu dashboard, sementara klien Anda mendapatkan isolasi yang tidak dapat diberikan oleh arsitektur bersama Multisite. Untuk cara yang dapat diulangi guna membuat masing-masing situs terisolasi ini dengan cara yang sama setiap saat, pasangkan ini dengan checklist penyediaan situs klien kami.

Beri setiap klien dinding yang nyata

Multisite mengelompokkan klien Anda ke dalam satu database bersama dan satu set plugin bersama. Pekerjaan agensi membutuhkan kebalikannya: database khusus, wp-content terisolasi, dan blast radius yang tepat satu klien per operasi. GrabWP Tenancy Pro memberikannya pada instalasi standar WordPress, dilisensikan sekali per instalasi tanpa biaya per klien, mulai dari $9.99/month. Lihat bagaimana ini sesuai dengan praktik Anda di halaman agensi, dan bandingkan tingkat isolasi dasar dan Pro di halaman perbandingan kami sebelum Anda memutuskan.

Pertanyaan yang sering diajukan

Mengapa WordPress Multisite bukan isolasi nyata?
Multisite menjalankan setiap situs dalam satu database bersama, dengan setiap situs hanya dibedakan oleh awalan tabel (table prefix). Plugin dan theme dipasang di seluruh jaringan dan berbagi kode serta proses PHP yang sama, sehingga konflik plugin atau masalah database dapat memengaruhi setiap klien di jaringan. Itu adalah pemisahan berdasarkan konvensi, bukan isolasi nyata.
Apakah saya memerlukan Multisite untuk menjalankan situs klien yang terisolasi dengan GrabWP?
Tidak. GrabWP Tenancy Pro berjalan pada instalasi standar tunggal WordPress. Setiap klien menjadi tenant yang terisolasi dengan konten dan databasenya sendiri, sehingga Anda mendapatkan isolasi per klien tanpa mengaktifkan Multisite atau merestrukturisasi instalasi Anda.
Bisakah setiap klien memiliki databasenya sendiri?
Ya. Di Pro, Anda dapat memilih per tenant antara MySQL bersama dengan awalan tabel, database MySQL khusus, atau database SQLite. Database khusus per klien berarti data satu klien tidak akan pernah bercampur dengan milik klien lain di skema yang sama.
Bisakah saya mem-backup dan me-restore satu klien tanpa menyentuh yang lain?
Ya. Setiap tenant memiliki backup dan restore sendiri. Anda dapat me-restore satu klien secara mandiri, dan Anda bahkan dapat me-restore lintas jenis database, sehingga memulihkan satu situs tidak pernah membahayakan portofolio Anda yang lain.

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.