Lompat ke konten
Konfigurasi

File wp-config.php WordPress: Fungsi dan Cara Mengeditnya

wp-config.php menyimpan login database, kunci keamanan, dan pengaturan situs WordPress. Lihat lokasinya, fungsi tiap bagian, dan cara mengeditnya dengan aman.

Dipublikasikan

wp-config.php adalah file yang memberi tahu WordPress cara terhubung ke database dan cara berjalan. File ini biasanya berada di folder root instalasi, di samping wp-admin dan wp-content. Anda bisa menambah atau mengubah pengaturan dengan aman di atas baris “That’s all, stop editing!” (“Itu saja, berhenti mengedit!”), dan sebaiknya biarkan dua blok kode di bawah baris itu. Simpan cadangan dulu, karena satu salah ketik bisa membuat seluruh situs mati.

Poin penting

  • File ini menyimpan kata sandi database dan kunci keamanan, jadi perlakukan seperti kata sandi dan jangan pernah menempelkan isinya di forum atau obrolan dukungan.
  • Pengaturan khusus ditaruh di atas baris “stop editing”. Baris terakhir di bawahnya memuat WordPress, dan pengaturan setelah baris itu datang terlambat.
  • Unduhan WordPress menyertakan wp-config-sample.php. File wp-config.php yang sebenarnya dibuat saat penyiapan.
  • Jangan ubah $table_prefix di situs aktif hanya dengan mengedit baris itu. WordPress akan bertindak seolah-olah belum terpasang.

Lokasi wp-config.php

Sambungkan lewat SFTP atau buka pengelola file di hosting Anda, lalu masuk ke folder yang berisi wp-admin, wp-includes, dan wp-content. Dokumentasi WordPress menyebutnya root direktori file WordPress Anda.

Jika tidak ada di sana, lihat satu folder ke atas. Pemuat WordPress memeriksa folder instalasi lebih dulu, lalu folder induknya, dan melewati folder induk jika folder itu punya wp-settings.php sendiri, karena itu berarti ada instalasi WordPress lain di sana.

Jika file tidak ada di kedua tempat itu, WordPress mengarahkan pengunjung ke layar penyiapan. Layar itu membuat file dari wp-config-sample.php. Saat tidak bisa menulis ke folder, layar itu menampilkan teks untuk ditempelkan secara manual ke file baru.

Fungsi setiap bagian bawaan

wp-config-sample.php adalah templatnya, dan bagian-bagiannya berurutan seperti ini:

BagianIsinyaBisa diubah?
DB_NAME, DB_USER, DB_PASSWORD, DB_HOSTLogin database. Contoh ini memakai localhost sebagai host, dan penyedia hosting bisa memberi nilai sebenarnya.Ya, saat detail database Anda berubah. Nilai yang salah menyebabkan error establishing a database connection.
DB_CHARSET, DB_COLLATECara teks database disimpan. Nilai bawaannya utf8mb4 dan nilai kosong.Komentar di file contoh untuk DB_COLLATE menyarankan tidak mengubahnya jika ragu.
AUTH_KEY sampai NONCE_SALTDelapan kunci keamanan dan salt yang dipakai untuk cookie login.Ya. Mengubahnya membuat semua pengguna keluar.
$table_prefixTeks di awal setiap nama tabel database, secara bawaan wp_.Hanya saat instalasi, kecuali Anda juga mengganti nama tabelnya dan memperbarui entri database tersimpan yang namanya memakai prefiks itu.
WP_DEBUGMode debug, diatur ke false di file contoh.Ya. Panduan lokasi log debug menjelaskan cara mengirim error ke file.
Komentar “custom values” (“nilai khusus”)Ruang kosong untuk pengaturan Anda sendiri, berakhir di baris “stop editing”.Ya, tambahan Anda ditaruh di sini.
ABSPATH dan baris wp-settings.phpPath ke WordPress, lalu baris yang memuat sisanya.Tidak. Biarkan apa adanya.

Kunci baru bisa didapat dengan satu klik: layanan secret-key WordPress.org memberi set baru setiap kali dimuat. Ganti kedelapan baris dengan set yang baru.

File lama mungkin tidak punya komentar “custom values” dan berbunyi “Happy blogging”, bukan “Happy publishing”. Keduanya tetap berfungsi, dan aturannya sama: tambahkan pengaturan Anda di atas baris itu.

Pengaturan yang sering diubah

Masing-masing hanya satu baris. Semuanya berasal dari dokumentasi wp-config.php, dan nilai bawaannya berasal dari default-constants.php milik WordPress.

// Memory for the front end, then for wp-admin
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );

// Keep at most 3 revisions per post (false turns revisions off)
define( 'WP_POST_REVISIONS', 3 );

// Autosave every 180 seconds
define( 'AUTOSAVE_INTERVAL', 180 );

// Empty the trash after 7 days
define( 'EMPTY_TRASH_DAYS', 7 );

// Remove the theme and plugin file editor from wp-admin
define( 'DISALLOW_FILE_EDIT', true );

// Force HTTPS for logins and wp-admin
define( 'FORCE_SSL_ADMIN', true );

// Set the site addresses here
define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );

Salin hanya baris yang Anda perlukan. Beberapa di antaranya punya detail yang perlu diketahui:

  • Memori: bawaan WordPress adalah 40M, atau 64M di multisite, dan 256M untuk wp-admin kecuali PHP sudah mengizinkan lebih. Jika hosting tidak mengizinkan batasnya diubah, WordPress memakai batas yang sudah dimiliki PHP. Panduan memory exhausted menjelaskan langkah saat itu terjadi.
  • Revisi: aktif secara bawaan. Atur false untuk mematikannya, atau angka untuk membatasinya.
  • Simpan otomatis dan tempat sampah: nilai bawaannya 60 detik dan 30 hari. Mengatur EMPTY_TRASH_DAYS ke 0 mematikan tempat sampah, dan dokumentasi memperingatkan bahwa WordPress lalu tidak akan meminta konfirmasi saat seseorang mengklik “Delete Permanently” (“Hapus Permanen”).
  • Editor file: panduan hardening mengatakan ini tidak akan menghentikan penyerang mengunggah file berbahaya, meski mungkin menghentikan sebagian serangan. DISALLOW_FILE_MODS lebih jauh lagi dan juga memblokir pemasangan serta pembaruan plugin dan tema.
  • HTTPS: saat pengaturan Alamat WordPress sudah diawali https, WordPress mengatur FORCE_SSL_ADMIN ke true sendiri. Baris ini hanya mengubah sesuatu jika alamatnya tidak diawali https.
  • Alamat situs: ini menimpa nilai tersimpan tanpa mengubah yang ada di database. Sertakan bagian https://.

Satu pengaturan butuh perencanaan lebih. define( 'DISABLE_WP_CRON', true ); menghentikan kunjungan halaman agar tidak memulai tugas terjadwal, jadi siapkan cron job server untuk wp-cron.php sebelum mengaktifkannya, atau artikel terjadwal dan tugas berwaktu lainnya tidak akan berjalan.

Cara mengedit wp-config.php dengan aman

  1. Unduh salinan dulu. Simpan di komputer Anda sendiri. Salinan yang ditinggal di server dengan nama seperti wp-config.php.bak mungkin bisa dibaca di browser, karena server tidak lagi memperlakukannya sebagai PHP.
  2. Buka file di editor teks biasa. Panduan pengeditan WordPress mencantumkan Notepad++, Sublime Text, dan Visual Studio Code sebagai pilihan yang layak, dan memperingatkan agar tidak memakai Google Docs dan Microsoft Word karena pengolah kata mengubah tanda kutip dan bisa menambahkan kode yang merusak file.
  3. Temukan baris “stop editing” dan taruh baris baru tepat di atasnya. Jika pengaturan itu sudah didefinisikan di atasnya, ubah baris tersebut.
  4. Simpan dan unggah, lalu muat situs Anda di jendela browser pribadi, bersama satu halaman di wp-admin.
  5. Jika ada yang rusak, kembalikan salinan Anda. Itu membatalkan editan bahkan saat wp-admin tidak bisa dimuat.

Memindahkan file ke atas web root

Panduan hardening mengatakan wp-config.php bisa disimpan satu folder di atas instalasi WordPress, dan kode pemuat menanganinya tanpa pengaturan tambahan. Pindahkan file, lalu periksa bahwa situs masih bisa dimuat. Pemindahan ini punya dua batasan:

  • Folder induk tidak boleh berisi instalasi WordPress lain. Pemuat mengabaikan folder induk yang punya wp-settings.php sendiri.
  • Satu tingkat ke atas hanya privat jika WordPress berada di web root. Jika WordPress berada di subfolder seperti /blog/, satu tingkat ke atas biasanya masih publik.

Panduan yang sama mengatakan sebagian orang berpendapat pemindahan ini memberi manfaat keamanan yang minim, dan bisa menimbulkan kerentanan serius jika dilakukan sembarangan. Jadi anggap ini opsional. Di Apache, panduan itu juga memberikan blok berikut untuk bagian atas file .htaccess, yang menolak permintaan langsung ke file:

<Files "wp-config.php">
Require all denied
</Files>

Panduan keamanan .htaccess kami membahas aturan itu bersama aturan lainnya.

Izin file untuk wp-config.php

Dokumentasi WordPress memberi angka yang sedikit berbeda, tergantung situasinya:

  • Panduan hardening mengatakan hanya Anda dan server web yang boleh membaca file ini, yang menurutnya umumnya berarti 400 atau 440.
  • Panduan izin file menyebut 440 atau 400 di hosting bersama dengan suexec, agar pengguna lain di server tidak bisa membacanya. Panduan itu juga menampilkan 600 sebagai contoh yang aman.
  • Untuk file WordPress biasa, panduan itu menyebut 644 atau 640.

Angka yang berfungsi tergantung pada pengguna sistem yang menjalankan server web Anda. Server web harus bisa membaca file ini, jadi jika situs berhenti dimuat setelah perubahan, kembalikan nilai sebelumnya dan tanyakan ke penyedia hosting nilai mana yang cocok dengan pengaturan mereka.

Kesalahan umum

  • Menempelkan pengaturan setelah baris wp-settings.php. Baris itu memuat WordPress dan menetapkan nilai bawaannya. Konstanta PHP tidak bisa berubah selama skrip berjalan, jadi baris Anda tidak berpengaruh.
  • Mendefinisikan pengaturan yang sama dua kali. Baris pertama menetapkan nilainya dan baris kedua tidak bisa mengubahnya. Manual PHP menyebut mendeklarasikan ulang konstanta sudah deprecated sejak PHP 8.5, jadi bisa juga muncul pesan. Cari namanya di file sebelum menambahkannya.
  • Memberi tanda kutip pada true atau false. 'false' adalah string yang tidak kosong, dan PHP menganggapnya true. Tulis false tanpa tanda kutip. Ukuran seperti '256M' memang memerlukannya.
  • Tanda kutip melengkung dari pengolah kata atau halaman web. PHP memerlukan tanda kutip lurus, jadi tanda kutip melengkung menyebabkan error yang membuat situs gagal dimuat.
  • Menampilkan error debug di situs aktif. Nilai bawaan WP_DEBUG_DISPLAY adalah true, jadi jika Anda hanya mengaktifkan WP_DEBUG, error muncul di halaman untuk pengunjung. Panduan lokasi log debug menunjukkan cara mengirimnya ke file.
  • Membiarkan WP_ALLOW_REPAIR aktif. Dokumentasi mengatakan aktifkan hanya saat diperlukan dan matikan setelah masalah selesai.

FAQ

Apa itu wp-config.php di WordPress? Ini adalah file konfigurasi yang dimuat WordPress saat dijalankan. File ini menyimpan login database, kunci keamanan, dan awalan tabel, dan di sinilah Anda menambahkan pengaturan seperti WP_DEBUG atau WP_MEMORY_LIMIT.

Di mana lokasi file wp-config.php? Biasanya di folder root instalasi WordPress, yaitu folder yang juga berisi wp-admin, wp-includes, dan wp-content. WordPress juga menerimanya satu folder di atas instalasi, selama folder itu tidak memiliki wp-settings.php.

Di mana saya menambahkan kode di wp-config.php? Di atas baris yang berbunyi That’s all, stop editing! Happy publishing. (“Itu saja, berhenti mengedit! Selamat menerbitkan”). File lama berbunyi Happy blogging. Baris terakhir di bawahnya memuat WordPress, jadi pengaturan yang ditaruh setelah baris itu datang terlambat.

Apakah aman mengedit wp-config.php? Ya, jika Anda menyimpan cadangan dan memakai editor teks biasa. Satu salah ketik bisa membuat seluruh situs gagal dimuat, termasuk wp-admin, jadi unduh salinannya dulu. Jika situs rusak setelah diedit, kembalikan salinan itu.

Apa yang terjadi jika wp-config.php dihapus? WordPress tidak bisa lagi menemukan login database dan memulai proses penyiapan, dengan permintaan untuk membuat file konfigurasi. Konten Anda tetap ada di database, jadi memulihkan cadangan atau membuat ulang file dengan detail yang sama akan menghubungkan kembali situs.

Izin apa yang seharusnya dimiliki wp-config.php? Panduan hardening WordPress menyebutkan hanya Anda dan server web yang boleh membacanya, yang umumnya berarti 400 atau 440. Panduan izin filenya juga menampilkan 600. Server web tetap harus bisa membaca file ini, jadi tanyakan ke penyedia hosting jika situs berhenti dimuat.

Sumber


Buat pengaturan yang Anda perlukan tanpa mengetik manual, termasuk kunci keamanan baru, dengan generator wp-config.php gratis.

FAQ

Pertanyaan

Apa itu wp-config.php di WordPress?

Ini adalah file konfigurasi yang dimuat WordPress saat dijalankan. File ini menyimpan login database, kunci keamanan, dan awalan tabel, dan di sinilah Anda menambahkan pengaturan seperti WP_DEBUG atau WP_MEMORY_LIMIT.

Di mana lokasi file wp-config.php?

Biasanya di folder root instalasi WordPress, yaitu folder yang juga berisi wp-admin, wp-includes, dan wp-content. WordPress juga menerimanya satu folder di atas instalasi, selama folder itu tidak memiliki wp-settings.php.

Di mana saya menambahkan kode di wp-config.php?

Di atas baris yang berbunyi That's all, stop editing! Happy publishing. ("Itu saja, berhenti mengedit! Selamat menerbitkan"). File lama berbunyi Happy blogging. Baris terakhir di bawahnya memuat WordPress, jadi pengaturan yang ditaruh setelah baris itu datang terlambat.

Apakah aman mengedit wp-config.php?

Ya, jika Anda menyimpan cadangan dan memakai editor teks biasa. Satu salah ketik bisa membuat seluruh situs gagal dimuat, termasuk wp-admin, jadi unduh salinannya dulu. Jika situs rusak setelah diedit, kembalikan salinan itu.

Apa yang terjadi jika wp-config.php dihapus?

WordPress tidak bisa lagi menemukan login database dan memulai proses penyiapan, dengan permintaan untuk membuat file konfigurasi. Konten Anda tetap ada di database, jadi memulihkan cadangan atau membuat ulang file dengan detail yang sama akan menghubungkan kembali situs.

Izin apa yang seharusnya dimiliki wp-config.php?

Panduan hardening WordPress menyebutkan hanya Anda dan server web yang boleh membacanya, yang umumnya berarti 400 atau 440. Panduan izin filenya juga menampilkan 600. Server web tetap harus bisa membaca file ini, jadi tanyakan ke penyedia hosting jika situs berhenti dimuat.