Cara Membatasi Akses JSON REST API WordPress Menggunakan Plugin
WordPress memiliki fitur bawaan bernama JSON REST API yang memungkinkan website berkomunikasi dengan aplikasi lain, seperti aplikasi mobile, layanan pihak ketiga, hingga editor modern seperti Gutenberg.
Meskipun sangat berguna, dalam beberapa kasus REST API justru perlu dibatasi atau dinonaktifkan demi alasan keamanan dan efisiensi. Artikel ini akan membahas secara lengkap apa itu JSON REST API, alasan perlu menonaktifkannya, serta cara disable JSON REST API WordPress menggunakan plugin tanpa perlu coding.
Apa Itu JSON REST API di WordPress?
JSON REST API adalah sebuah antarmuka pemrograman (Application Programming Interface) yang memungkinkan WordPress untuk mengirim dan menerima data dalam format JSON (JavaScript Object Notation) melalui protokol HTTP.
Melalui REST API, WordPress dapat berkomunikasi dengan berbagai aplikasi dan sistem lain menggunakan metode standar seperti GET untuk mengambil data, POST untuk mengirim data, PUT untuk memperbarui data, dan DELETE untuk menghapus data. Dengan adanya JSON REST API, WordPress tidak lagi hanya berfungsi sebagai sistem manajemen konten tradisional, tetapi juga dapat digunakan sebagai backend yang fleksibel untuk berbagai kebutuhan modern.
Fitur ini memungkinkan konten WordPress ditampilkan di aplikasi mobile, digunakan dalam konsep headless WordPress di mana frontend dan backend dipisahkan, mendukung penuh kinerja editor Gutenberg, serta terhubung dengan berbagai layanan eksternal seperti aplikasi pihak ketiga, sistem pembayaran, atau platform analitik.
Secara default, REST API WordPress dapat diakses melalui endpoint seperti https://domainanda.com/wp-json/, yang berisi kumpulan data dan endpoint yang dapat digunakan sesuai kebutuhan pengembangan.
Alasan Disable JSON REST API WordPress
Meskipun bermanfaat, ada beberapa alasan mengapa pemilik website memilih untuk menonaktifkan atau membatasi REST API:
1. Keamanan Website
REST API bisa membuka celah informasi, seperti:
- Username terdeteksi
- Endpoint publik dapat diakses tanpa login
- Target empuk untuk brute force atau scraping data
2. Website Tidak Menggunakan Fitur REST API
Jika website:
- Menggunakan editor klasik
- Tidak menggunakan aplikasi mobile
- Tidak menggunakan headless WordPress
Maka REST API sering kali tidak dibutuhkan.
3. Mengurangi Beban Server
Request ke REST API bisa menambah beban server, terutama pada shared hosting dengan resource terbatas.
4. Hardening Keamanan WordPress
Menonaktifkan REST API adalah bagian dari praktik WordPress security hardening untuk website sederhana.
Apakah Aman Menonaktifkan JSON REST API?
Menonaktifkan JSON REST API di WordPress tidak selalu aman atau berisiko, karena keamanannya sangat bergantung pada kebutuhan dan konfigurasi website yang digunakan. Perlu diketahui bahwa beberapa fitur inti WordPress, seperti editor Gutenberg, sangat bergantung pada REST API untuk menjalankan fungsinya secara normal.
Selain itu, banyak plugin modern, termasuk WooCommerce, plugin membership, dan plugin integrasi pihak ketiga dengan menggunakan REST API untuk proses sinkronisasi data dan komunikasi antar sistem. Jika JSON REST API dinonaktifkan secara total, hal ini dapat menyebabkan berbagai masalah, seperti editor tidak berfungsi, halaman admin error, atau fitur tertentu tidak berjalan sebagaimana mestinya.
Oleh karena itu, solusi yang paling disarankan bukanlah menonaktifkan REST API sepenuhnya, melainkan membatasi akses REST API hanya untuk pengguna yang sudah login, khususnya administrator. Dengan cara ini, website tetap aman dari akses publik yang tidak diperlukan tanpa mengorbankan fungsi penting WordPress dan plugin yang digunakan.
Cara Disable JSON REST API WordPress Menggunakan Plugin
Berikut beberapa plugin yang umum digunakan dan aman untuk menonaktifkan atau membatasi REST API.
1. Disable REST API
Plugin ini fokus khusus untuk mengontrol akses REST API.
Fitur Utama:
- Menonaktifkan REST API untuk user tidak login
- Tetap mengizinkan REST API untuk admin
- Ringan dan mudah digunakan
Cara Menggunakan:
- Masuk ke Dashboard WordPress
- Pilih Plugins → Add New
- Cari Disable REST API
- Install dan aktifkan plugin
- Secara otomatis REST API dibatasi untuk user publik
Cocok untuk website sederhana dan blog pribadi.
2. WPCode (Insert Headers and Footers)
WPCode memungkinkan pengaturan REST API melalui snippet, tapi tetap user-friendly. Kelebihan:
- Bisa mengontrol REST API tanpa edit file
- Aman untuk pemula
- Bisa dikombinasikan dengan aturan keamanan lain
Plugin ini cocok jika ingin kontrol lebih fleksibel tanpa plugin khusus REST API.
3. All In One WP Security & Firewall
Plugin keamanan lengkap yang juga bisa membatasi REST API.
Fitur Terkait REST API:
- Disable REST API untuk user tidak login
- Proteksi endpoint sensitif
- Firewall dan hardening tambahan
Kelebihan:
- Satu plugin untuk banyak kebutuhan keamanan
- Cocok untuk website bisnis dan company profile
Perlu konfigurasi lebih teliti agar tidak bentrok dengan plugin lain.
4. Wordfence Security
Wordfence tidak menonaktifkan REST API secara langsung, tetapi:
- Memblokir request mencurigakan ke endpoint REST API
- Melindungi dari brute force dan exploit API
Plugin ini cocok jika REST API tetap dibutuhkan, tetapi keamanannya ingin diperketat.
Perbedaan Disable Total vs Restrict REST API
| Metode | Dampak |
|---|---|
| Disable Total | REST API tidak bisa diakses sama sekali |
| Restrict User | Hanya user login (admin/editor) yang bisa akses |
| Firewall Protection | REST API tetap aktif tapi lebih aman |
Tips: gunakan metode restrict, bukan disable total.
Cara Mengecek REST API Sudah Nonaktif atau Belum
-
Buka browser
-
Akses: https://domainanda.com/wp-json/
-
Jika muncul:
-
Error 403 / Unauthorized → REST API dibatasi
-
Tidak menampilkan data → berhasil dibatasi
-
Kelebihan Disable REST API Menggunakan Plugin
- Tidak perlu coding
- Aman untuk pemula
- Mudah diaktifkan dan dinonaktifkan
- Minim risiko error tema
Kekurangan Disable REST API dengan Plugin
- Bisa mengganggu plugin tertentu
- Harus diuji setelah aktif
- Plugin terlalu banyak bisa menambah beban jika tidak dikelola
Kesimpulan
Disable JSON REST API WordPress melalui plugin merupakan solusi praktis untuk meningkatkan keamanan website, terutama jika REST API tidak digunakan secara aktif. Namun, menonaktifkan REST API secara total tidak selalu disarankan.
Membatasi akses hanya untuk user login adalah pilihan paling aman dan seimbang. Dengan memilih plugin yang tepat dan memahami kebutuhan website, kamu bisa menjaga WordPress tetap aman tanpa mengorbankan fungsionalitas penting.
