Salah satu file yang paling penting dalam instalasi WordPress adalah file “wp-config.php”. File wp-config ini terletak di dalam folder root dan berisi informasi pengaturan dasar WordPress seperti informasi mengenai koneksi ke database. Tanpa file wp-config website Anda yang berbasis WordPress tidak akan bisa berfungsi.

Melalui artikel ini, kami tidak hanya akan membahas mengenai isi dari file wp-config tapi juga pengaturan apa saja yang ada di dalam file wp-config beserta dengan contoh penggunaannya.

Apa itu File wp-config.php dan Apa Isinya?

Saat Anda pertama kali melakukan instalasi WordPress secara manual, pasti WordPress meminta Anda untuk mengisi informasi database yang akan digunakan untuk WordPress. Nah informasi tersebut disimpan di file wp-config.

File wp-config.php berisi konfigurasi dasar WordPress

Inilah yang membuat file wp-config sangat penting. Tanpa file wp-config website Anda yang berbasis WordPress tidak akan bisa berfungsi karena tidak bisa terhubung dengan database. Hal ini akan menyebabkan WordPress tidak bisa diakses dan memunculkan pesan ‘error establishing a database connection’.

Sebagai contoh, berikut ini adalah file wp-config-sample.php. File ini adalah contoh dari wp-config yang belum diisi informasi mengenai database.

/**
 * The base configuration for WordPress
 *
 * The wp-config.php creation script uses this file during the
 * installation. You don't have to use the web site, you can
 * copy this file to "wp-config.php" and fill in the values.
 *
 * This file contains the following configurations:
 *
 * * MySQL settings
 * * Secret keys
 * * Database table prefix
 * * ABSPATH
 *
 * @link https://wordpress.org/support/article/editing-wp-config-php/
 *
 * @package WordPress
 */

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );

/** MySQL database username */
define( 'DB_USER', 'username_here' );

/** MySQL database password */
define( 'DB_PASSWORD', 'password_here' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

/**#@+
 * Authentication Unique Keys and Salts.
 *
 * Change these to different unique phrases!
 * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
 * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
define( 'NONCE_KEY',        'put your unique phrase here' );
define( 'AUTH_SALT',        'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
define( 'NONCE_SALT',       'put your unique phrase here' );

/**#@-*/

/**
 * WordPress Database Table prefix.
 *
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
 */
$table_prefix = 'wp_';

/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 *
 * For information on other constants that can be used for debugging,
 * visit the documentation.
 *
 * @link https://wordpress.org/support/article/debugging-in-wordpress/
 */
define( 'WP_DEBUG', false );

/* That's all, stop editing! Happy publishing. */

/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
	define( 'ABSPATH', __DIR__ . '/' );
}

/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';

Lokasi file ini ada di direktori root website Anda. Dalam contoh gambar di bawah ini, lokasinya ada di /public_html.

wp-config

Untuk mengubah isi dari wp-config, Anda bisa menggunakan file editor di kontrol panel hosting. Jika tidak terdapat file editor Anda bisa menggunakan file manager untuk download file tersebut dan kemudian upload lagi filenya ke tempat instalasi WordPress Anda.

Atau Anda bisa menggunakan aplikasi FTP (seperti FileZilla) untuk download file config tersebut, kemudian mengedit di komputer Anda sebelum upload lagi file config tersebut.

Jangan menggunakan aplikasi Microsoft Word untuk mengedit wp-config.php. Anda bisa menggunakan notepad atau notepad++.

Berikut penjelasan mengenai isi dari wp-config.php.

Pengaturan Database MySQL

WordPress menggunakan file wp-config.php untuk mengatur koneksi database. Anda dapat melihat pengaturan ini pada bagian MySQL settings di file wp-config. Anda bisa mengetahui informasi tentang database yang Anda gunakan, seperti MySQL host, database name, database username, dan password.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );

/** MySQL database username */
define( 'DB_USER', 'username_here' );

/** MySQL database password */
define( 'DB_PASSWORD', 'password_here' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
SettingPenjelasan
define( ‘DB_NAME’, ‘database_name_here’ )Nama database yang digunakan oleh WordPress.
define( ‘DB_USER’, ‘username_here’ )Username yang digunakan untuk mengakses database.
define( ‘DB_PASSWORD’, ‘password_here’ )Password yang digunakan untuk mengakses database.
define( ‘DB_HOST’, ‘localhost’ )Pada umumnya yang digunakan adalah ‘localhost’.
define( ‘DB_CHARSET’, ‘utf8’ )Character set yang digunakan di database.
define( ‘DB_COLLATE’, ” )Baris ini mengatur tipe database collate, cukup biarkan nilainya kosong.

Pengaturan Keamanan

File wp-config.php adalah file yang penting karena didalamnya ada Security Key dan Salt. Dengan menggunakan Security Key dan Salt Anda dapat meningkatkan keamanan WordPress. Pengaturan ini melakukan enkripsi user session dan cookies yang dihasilkan oleh WordPress.

Pada dasarnya security key ini bisa dibilang password tambahan yang panjang, nilainya acak dan hampir mustahil bisa di-hack.

Anda dapat menggunakan aplikasi yang disediakan WordPress (WordPress security keys) untuk menghasilkan unique key. Kemudian memasukkannya ke dalam file konfigurasi wp-config. Dengan mengganti security key dan salt, semua pengguna akan di-logout dan cookie yang masih berlaku akan menjadi tidak valid. Dengan begitu, hacker yang mencoba untuk mencuri informasi pun tidak akan bisa masuk ke website Anda.

/**#@+
 * Authentication Unique Keys and Salts.
 *
 * Change these to different unique phrases!
 * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
 * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
define( 'NONCE_KEY',        'put your unique phrase here' );
define( 'AUTH_SALT',        'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
define( 'NONCE_SALT',       'put your unique phrase here' );

Database Table Prefix

$table_prefix adalah value yang diletakkan di depan nama tabel database. WordPress sudah memberikan table prefix saat instalasi.

$table_prefix = 'wp_';

Anda sebaiknya mengganti prefix ini pada saat instalasi untuk mendapatkan keamanan yang lebih baik. Mengganti prefix yang sudah ada, akan mempersulit proses SQL injection.

Ganti wp prefix dengan susunan karakter yang acak, tapi ingat bahwa Anda hanya bisa menggunakan karakter huruf, angka, dan garis bawah.

$table_prefix = 'jryyte635_';

Jika Anda tidak mengganti pada saat instalasi Anda tidak perlu khawatir. Ada beberapa plugin security yang mempunyai fitur untuk mengganti prefix.

Mode Debugging

Mode debugging ini adalah mode yang wajib diketahui oleh para developer. Namun sebagai pengguna awam tidak ada salahnya untuk mengetahui bahwa WordPress memiliki fitur ini.

Dengan menggunakan mode debugging, Anda dapat memaksa WordPress untuk menampilkan pesan error dan warning atas masalah yang sedang terjadi. Secara default fitur ini tidak diaktifkan karena alasan keamanan. Jadi ketika ada masalah WordPress tidak diatur untuk memunculkan informasi tentang masalah yang terjadi. Dan Anda hanya melihat halaman putih saat mengakses WordPress.

define( 'WP_DEBUG', false );

Anda mungkin bukan developer, tapi jika Anda mengaktifkan mode ini ketika mengalami masalah tentu dapat membantu Anda melakukan proses penyelesaian masalah dengan cepat. Untuk mengaktifkan fitur ini, Anda harus mengatur nilai WP_DEBUG menjadi ‘true’.

define( 'WP_DEBUG', true);

Saat mode debugging aktif, ketika ada halaman error maka akan muncul pesan error secara detail. Hal ini dapat menjadi celah bagi hacker untuk masuk ke dalam sistem WordPress.

Gunakan mode debugging dengan bijak dan hanya ketika terjadi masalah pada website Anda. Nonaktifkan kembali mode ini jika masalah sudah terselesaikan.

Pengaturan Lainnya

Selain pengaturan dasar, Anda juga bisa menggunakan pengaturan yang lebih advanced dengan menggunakan wp-config. Barikut beberapa pengaturan yang bisa Anda lakukan dengan file wp-config.php

1. Mengganti URL WordPress

Pada menu Setting > General, Anda punya opsi untuk mengganti alamat website. Salah satu contoh penggantian alamat website adalah jika Anda memindahkan website dari development di komputer pribadi ke server hosting.

Ada dua alamat URL yang perlu Anda ganti jika Anda memindahkan alamat website.

  • WordPress Address (URL): alamat instalasi WordPress Anda.
  • Site Address (URL): alamat untuk mengakses website Anda.
WordPress

Selain menggunakan halaman pengaturan, Anda juga dapat mengubah URL di WordPress menggunakan file wp-config.php. Hal ini jika Anda tidak bisa login ke WordPress.

Tambahkan dua line di bawah ini dan ganti domain-anda.com dengan nama domain yang Anda punya.

define('WP_HOME','http://domain-anda.com');
define('WP_SITEURL','http://domain-anda.com');

WP_HOME sama dengan opsi Site Address (URL) pada halaman setting, yaitu alamat untuk mengakses website Anda. Sedangkan WP_SITEURL sama dengan opsi WordPress Address (URL) yaitu alamat dimana WordPress Anda diinstall.

WP_HOME dan WP_SITEURL bisa berbeda. Ya, Anda bisa menginstall WordPress di alamat yang berbeda dengan alamat website Anda. Misalkan Anda ingin website Anda diakses di alamat domain-anda.com tetapi Anda ingin tidak banyak file di folder public_html jadi Anda menginstall WordPress di domain-anda.com/subfolder, maka Anda bisa menggunakan baris kode berikut.

define('WP_HOME','http://domain-anda.com');
define('WP_SITEURL','http://domain-anda.com/subfolder');

Berikut petunjuk untuk menginstall WordPress di direktori sendiri.

2. Mengganti Direktori Upload

WordPress secara default mengunggah media tambahan ke dalam folder /wp-upload/uploads. Jika Anda ingin menyimpan media ke lokasi yang lain, hal yang perlu Anda lakukan yaitu dengan menambahkan baris di bawah ini ke dalam file wp-config.php.

define( 'UPLOADS', 'wp-content/media' );

Jika Anda ingin menggunakan direktori upload di luar wp-content, seperti http://www.domain-anda.com/gambar/ maka Anda perlu mengatur path direktori upload menjadi seperti ini:

define( 'UPLOADS', 'gambar' );

3. Disable Pembaruan Otomatis

Melakukan update WordPress ke versi terbaru sangat dianjurkan. Untungnya WordPress secara otomatis melakukan update ke versi terbaru ketika tersedia minor update untuk meningkatkan keamanan atau mengatasi bug di versi sebelumnya. Hal ini tentunya cukup membantu untuk pengguna pemula.

Namun di beberapa kasus, update WordPress dapat mengakibatkan masalah dan terkadang membuat website tidak dapat diakses.

Atau memang ada user yang dengan sengaja tidak mau melakukan update, seperti ketika WordPress 5.0 dirilis. Banyak user yang tidak mau update ke versi 5.0 karena block editor yang dirilis bersamaan dengan WordPress versi 5.0 belum terlalu matang.

Nah, untuk menonaktifkan fitur update otomatis Anda dapat menambahkan baris kode di bawah ini ke dalam wp-config.

define( 'WP_AUTO_UPDATE_CORE', false );

4. Membatasi Jumlah Revisi

Saat Anda mengedit halaman atau artikel, WordPress mempunyai fitur autosave dan revisi. Post revisions dapat dikatakan sebagai dokumentasi atau backup atas apa yang telah diubah dalam sebuah post. Hal ini tentunya akan menambah ukuran database Anda.

Untuk mematikan fungsi post revisions cukup tambahkan baris kode di bawah ini ke dalam file wp-config.php.

define('WP_POST_REVISIONS', false );

Jika Anda hanya ingin membatasi jumlah revisi menjadi 5 gunakan baris kode di bawah ini.

define('WP_POST_REVISIONS', 5 );

5. Mengaktifkan WordPress Multisite

Fitur multisite memungkinkan Anda untuk membuat beberapa website dengan satu instalasi WordPress. Dengan fitur ini Anda tidak perlu menginstall WordPress untuk setiap website yang Anda punya.

Untuk mengaktifkan fitur ini tambahkan baris kode di bawah ini ke dalam file wp-config.php.

define( 'WP_ALLOW_MULTISITE', true );

Penutup

File wp-config.php adalah salah satu file penting dalam folder instalasi WordPress karena berisi informasi untuk koneksi ke database dan beberapa konfigurasi dasar lain.

Beberapa konfigurasi cukup mudah dipahami. Namun beberapa konfigurasi lain membutuhkan pengetahuan yang lebih dalam tentang WordPress.

Anda harus berhati-hati saat mengedit file tersebut karena bisa saja website Anda tiba-tiba menjadi tidak bisa diakses.

Artikel Terkait

Leave a Reply

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