5 Kode Snippet .htaccess untuk Keamanan WordPress Tanpa Plugin

Snippet .htaccess WordPress

WordPress dikenal sebagai CMS yang mudah digunakan dan memiliki ribuan plugin untuk menambah fitur.

Namun, semakin banyak plugin yang dipasang, semakin besar pula kemungkinan munculnya konflik, penurunan performa, hingga celah keamanan jika plugin tidak diperbarui secara rutin.

Salah satu cara meningkatkan keamanan WordPress tanpa menambah plugin adalah memanfaatkan file .htaccess.

File ini berfungsi sebagai konfigurasi server Apache yang memungkinkan Anda mengatur berbagai aturan keamanan, redirect, hingga optimasi website.

Menariknya, hanya dengan beberapa baris kode, Anda sudah bisa menutup beberapa celah keamanan yang sering dimanfaatkan oleh bot maupun hacker.

Sebelum mengedit file .htaccess, selalu lakukan backup terlebih dahulu. Kesalahan penulisan satu karakter saja dapat menyebabkan website menampilkan error 500.

Apa Itu File .htaccess?

File .htaccess adalah file konfigurasi yang digunakan pada web server Apache maupun LiteSpeed. WordPress sendiri memanfaatkan file ini untuk mengatur permalink agar URL menjadi lebih rapi.

Selain itu, .htaccess juga dapat digunakan untuk:

  • Meningkatkan keamanan website.
  • Membatasi akses ke file tertentu.
  • Membuat redirect.
  • Mengatur cache.
  • Memblokir bot atau IP tertentu.

Tambahkan seluruh kode di bawah ini di luar bagian # BEGIN WordPress dan # END WordPress, karena isi di antara kedua tag tersebut dapat ditimpa secara otomatis oleh WordPress ketika pengaturan permalink diperbarui.

Terapkan 5 Kode Snippet .htaccess ini di WordPress

Tidak semua peningkatan keamanan WordPress harus dilakukan dengan memasang plugin tambahan.

Dengan menerapkan beberapa kode snippet .htaccess, Anda dapat memperkuat keamanan website, membatasi akses yang tidak diperlukan, dan melindungi WordPress dari berbagai potensi serangan hanya dengan beberapa baris konfigurasi.

1. Menonaktifkan Directory Listing

Secara default, beberapa server masih mengizinkan pengunjung melihat isi folder apabila tidak terdapat file index.php atau index.html.

Hal ini bisa dimanfaatkan untuk melihat struktur folder, file plugin, maupun file upload yang seharusnya tidak dapat diakses secara bebas.

Tambahkan kode berikut:

Options -Indexes

Dengan aturan ini, ketika seseorang mencoba membuka folder secara langsung, server akan menampilkan pesan 403 Forbidden sehingga isi direktori tidak dapat dilihat.

Baca juga: Cara Backup Website di cPanel. Panduan Lengkap untuk Pemula!

2. Mencegah Username Enumeration

WordPress memiliki halaman author archive yang terkadang dapat dimanfaatkan untuk mengetahui username administrator melalui parameter URL.

Contohnya:

https://domainanda.com/?author=1

Jika berhasil, username tersebut dapat dijadikan target serangan brute force.

Gunakan kode berikut:

RewriteCond %{QUERY_STRING} author=\d
RewriteRule ^ /? [L,R=301]

Setelah ditambahkan, percobaan mengakses parameter author akan langsung diarahkan kembali ke halaman utama.

3. Mencegah Hotlink Gambar

Hotlink adalah kondisi ketika website lain menggunakan gambar dari server Anda secara langsung.

Akibatnya, bandwidth server ikut terpakai meskipun pengunjung berasal dari website lain.

Gunakan kode berikut:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?domainanda.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|webp)$ - [NC,F,L]

Ganti domainanda.com dengan nama domain website Anda.

Dengan cara ini, hanya website Anda yang dapat memuat gambar secara langsung

4. Blokir Akses ke Folder wp-includes

Folder wp-includes berisi file inti WordPress yang sebenarnya tidak perlu diakses langsung oleh pengunjung.

Snippet .htaccess WordPress

Untuk memperkecil risiko penyalahgunaan, akses ke beberapa file penting dapat dibatasi menggunakan kode berikut.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>

Snippet ini cukup populer digunakan sebagai salah satu langkah hardening WordPress karena membantu membatasi akses langsung ke file inti sistem.

Baca juga: Nonaktifkan Daftar Direktori Website Menggunakan cPanel

5. Memblokir Akses ke xmlrpc.php

Apabila Anda tidak menggunakan aplikasi pihak ketiga yang memerlukan XML-RPC, sebaiknya file ini dinonaktifkan.

xmlrpc.php sering menjadi target serangan brute force maupun DDoS.

Tambahkan kode berikut:

<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>

Cara ini sederhana tetapi cukup efektif untuk mengurangi percobaan serangan otomatis yang masih sering menargetkan file tersebut.

Bonus: Blokir IP yang Mencurigakan

Jika Anda menemukan alamat IP yang terus-menerus melakukan spam atau percobaan login berulang, Anda bisa langsung memblokirnya.

<Limit GET POST>
Order Allow,Deny
Deny from 123.123.123.123
Allow from all
</Limit>

Anda dapat menambahkan lebih dari satu alamat IP sesuai kebutuhan.

Tips Sebelum Mengedit File .htaccess

Agar website tetap aman saat melakukan perubahan, perhatikan beberapa hal berikut.

  • Selalu backup file .htaccess sebelum diedit.
  • Gunakan editor teks seperti Notepad++ atau Visual Studio Code.
  • Pastikan server menggunakan Apache atau LiteSpeed karena Nginx tidak menggunakan .htaccess.
  • Setelah menyimpan perubahan, cek kembali apakah website masih dapat diakses dengan normal.
  • Jika muncul error 500, kembalikan file hasil backup sebelumnya.

Penutup

File .htaccess mungkin terlihat sederhana, tetapi memiliki peran yang sangat besar dalam meningkatkan keamanan WordPress.

Dengan hanya beberapa baris kode, Anda sudah bisa menutup berbagai celah seperti directory listing, username enumeration, hotlink gambar, akses ke file inti WordPress, hingga pemblokiran xmlrpc.php.

Meski demikian, snippet di atas bukanlah pengganti praktik keamanan lainnya.

Tetap gunakan password yang kuat, aktifkan autentikasi dua langkah jika memungkinkan, rutin memperbarui WordPress, tema, dan plugin, serta lakukan backup website secara berkala.

Kombinasi langkah-langkah tersebut akan membuat website WordPress jauh lebih aman tanpa harus memasang terlalu banyak plugin.

Previous Article

Dynamic Host Configuration Protocol (DHCP): Pengertian, Fungsi, Cara Kerja, dan Penerapannya!

Write a Comment

Leave a Comment

Your email address will not be published. Required fields are marked *