Beberapa hari yang lalu saya mendapatkan email dari salah seorang pembaca www.situstarget.com/blog yang kebingungan karena tidak bisa login di situs WordPress miliknya.

Dahulu pun saya sendiri pernah mengalami masa di mana terkunci di situs sendiri juga. Rada awkward sih. Hehe

Penyebabnya bisa banyak, bisa karena plugin keamanan salah pengaturan, jadinya saat salah password beberapa kali jadi terkunci IP-nya.

Ada juga gara-gara habis ganti password, eh password barunya kelupaan disimpan di Password Manager.

Atau bisa juga reset password WordPress, saking banyak akun di situs WP-nya, lupa mana yang barusan diganti.

Cape deh. 😌

Beberapa orang mungkin yang saking frustasinya, ada yang sampai harus membuat situs WordPress yang baru.

Effort banget kan ya?! Nah sebenarnya untuk reset password WordPress sendiri ada beberapa cara.

Kesemua cara ini bisa kamu coba tergantung sikon (situasi dan kondisi) kamu terkuncinya karena apa dan hak akses yang kamu miliki saat ini itu apa.

Yuk kita bahas satu per satu biar lebih jelas deh.

7 Cara Reset Password WordPress

Ada setidaknya tujuh cara untuk mengganti atau reset password WordPress. Situs web yang menggunakan WordPress sendiri memiliki fitur untuk ganti password atau melakukan reset.

Sebelum kita berbicara lebih jauh mengenai reset password dengan menggunakan tools lain. Kita akan mulai terlebih dahulu untuk melakukan penggantian password melalui fitur bawaan WordPress.

1. Cara Ganti Password Melalui Edit Pengguna

Fitur bawaan wordPress yang bisa kamu gunakan untuk mengganti password pengguna yaitu dengan login ke halaman WP-Admin. Klik menu Pengguna > Semua Pengguna > Pilih Pengguna> Edit Pengguna.

Kamu scroll ke bawah hingga menemukan tulisan Manajemen Akun. Ada dua pilihan yaitu membuat kata sandi baru atau kirim tautan atur ulang.

Cara Ganti Password Melalui Edit Pengguna WordPress

Pengiriman tautan atur ulang kata sandi baru di WordPress ini membutuhkan bantuan plugin SMTP, kalau tidak maka pesan email tidak akan diterima oleh pengguna. Proses yang lebih cepat memang tinggal kamu buat saja kata sandi yang baru tanpa kirim email.

2. Cara Reset Password Melalui Lupa Sandi WordPress

Fitur bawaan kedua dari WordPress untuk mengganti password bisa melalui tautan lupa sandi, bisa melalui menu pengguna seperti gambar di atas, bisa juga melalui halaman login WordPress>> https://situsWPkamu/wp-login.php.

Kamu tinggal memasukkan nama pengguna atau alamat email yang terdaftar, kemudian sistem WordPress akan mengirimkan tautan ke email terdaftar tersebut, buka email, dan klik tautan lupa sandinya.

Seperti yang sebelumnya sudah saya infokan, kamu membutuhkan plugin SMTP untuk proses kirim email ini. Jika belum sempat setup plugin, kemungkinan besar kamu tidak akan menerima email tautan lupa sandi ini.

Cara Reset Password Melalui Lupa Sandi Bawaan WordPress

3. Cara Ganti Password WordPress Melalui WP-CLI

Jika kamu masih memiliki akses ke server, cara lain yang bisa kamu lakukan untuk mengganti password WordPress yaitu dengan menggunakan WP-CLI.

Untuk mengganti password, arahkan ke direktori root, di mana lokasi WordPress berada. Lalu ketikan perintah berikut:

wp user list

Dengan perintah tersebut, kamu akan melihat list pengguna WordPress yang ada saat ini.

Lalu, temukan user ID Administrator, biasanya user ID bawaan admin adalah 1.

User ID ini bisa berubah apabila kamu menggantinya menggunakan plugin keamanan WordPress.

Jalankan perintah berikut ini untuk mengganti password Administrator WordPress

wp user update 1 --user_pass=password

Misalnya kamu mengubah user ID bawaan WordPress dengan nilai yang lain, tinggal kamu sesuaikan saja.

Plugin keamanan yang saya maksud adalah iTheme Security.

4. Cara Ganti Password Melalui phpMyAdmin

Kalau kamu menggunakan cPanel, Plesk, maupun panel lainnya, kamu bisa mengganti password WordPress dengan mudah melalui phpMyAdmin.

Bagaimana jika tidak ada fitur phpMyAdmin ini?

Kamu bisa kok upload file phpMyAdmin yang bisa diunduh di sini ke folder WordPress kamu berada.

Lalu, login ke phpMyAdmin dengan detail username dan password database yang tertera pada file WP-Config.php.

Cara Mengganti Password WordPress Melalui phpMyAdmin

Pada bagian sebelah kiri, klik database WordPress, lalu scroll ke bawah hingga menemukan wp_users.

Beberapa situs mungkin ada yang menggunakan prefix tambahan untuk keamanan, misalnya saja menggunakan nama yang lain seperti wp1D_users.

Setelah kamu klik wp_users, akan muncul list beberapa akun WordPress yang ada di situs kamu.

Pilih akun administrator yang ada, lalu klik edit/ubah, cari user_pass, pilih fungsi MD5, dan masukkan kata sandi yang baru di kolom Nilai.

Klik tombol kirim untuk mengganti password, setelah berhasil diperbarui melalui phpMyAdmin.

Kamu tinggal login kembali di situs WordPress.

Cara selanjutnya yaitu dengan perintah SQL masih tetap sama menggunakan phpMyAdmin ini.

5. Cara Mengganti Password WordPress Menggunakan SQL

Masih menggunakan phpMyAdmin, namun bedanya yang cara kelima ini menggunakan SQL statement.

Kamu bisa mengklik menu SQL. Lalu jalankan perintah berikut ini untuk mengganti password WordPress:

UPDATE `wp_users` SET `user_pass` = MD5( ‘password_baru’ ) WHERE `wp_users`.`user_login` = “adminkamu”;

Ada beberapa nilai yang perlu disesuaikan dengan data kredensial yang kamu miliki, ganti adminkamu dan password_baru.

Klik tombol kirim untuk menjalankan perintah SQL di atas.

Cara Mengganti Password WordPress Menggunakan Perintah SQL

6. Cara Ganti Password WordPress Melalui FTP

Opsi keenam ini apabila kamu hanya memiliki akses FTP saja, cara mereset password WordPress dengan metode FTP ini adalah dengan melakukan editing pada file functions.php pada theme WordPress yang aktif.

Sebelum melakukan editing, ada baiknya kamu duplikat file functions.php tema yang aktif tersebut sebagai jaga-jaga.

Lalu, sehabis <?php ini masukkan code berikut:

wp_set_password( 'passwordbarunih', 1 );

Kamu bisa ganti passwordbarunih dengan yang lain, sedang angka 1 adalah user ID si Administrator.

Lihat poin ketiga mengenai user ID Administrator WordPress, bisa jadi nilainya ganti bukan angka 1 karena plugin keamanan.

Tinggal kamu sesuaikan saja.

7. Cara Ganti Password WordPress Dengan Emergency Password Reset Script

Jika beberapa cara mengganti password di atas belum bekerja dengan baik, mungkin kamu bisa juga menggunakan script php berikut ini.

Cara penggunaan Emergency Password Reset Script sebagai berikut:

  • Kamu harus mengetahui username dari akun Administrator WordPress
  • Script php ini harus di tempatkan pada lokasi folder WordPress, yang terdapat file wp-config.php.
  • Buka script ini pada browser, misalnya https://situsWPkamu/emergency.php.
  • Masukkan username dan password yang baru, lalu klik Update Options.
<?php
/*
	This program is free software; you can redistribute it and/or modify
    	it under the terms of the GNU General Public License as published by
    	the Free Software Foundation; either version 2 of the License, or
    	(at your option) any later version.

	This program is distributed in the hope that it will be useful,
    	but WITHOUT ANY WARRANTY; without even the implied warranty of
    	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
    	along with this program; if not, write to the Free Software
    	Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

require './wp-blog-header.php';

function meh() {
	global $wpdb;

	if ( isset( $_POST['update'] ) ) {
		$user_login = ( empty( $_POST['e-name'] ) ? '' : sanitize_user( $_POST['e-name'] ) );
		$user_pass  = ( empty( $_POST[ 'e-pass' ] ) ? '' : $_POST['e-pass'] );
		$answer = ( empty( $user_login ) ? '<div id="message" class="updated fade"><p><strong>The user name field is empty.</strong></p></div>' : '' );
		$answer .= ( empty( $user_pass ) ? '<div id="message" class="updated fade"><p><strong>The password field is empty.</strong></p></div>' : '' );
		if ( $user_login != $wpdb->get_var( "SELECT user_login FROM $wpdb->users WHERE ID = '1' LIMIT 1" ) ) {
			$answer .="<div id='message' class='updated fade'><p><strong>That is not the correct administrator username.</strong></p></div>";
		}
		if ( empty( $answer ) ) {
			$wpdb->query( "UPDATE $wpdb->users SET user_pass = MD5('$user_pass'), user_activation_key = '' WHERE user_login = '$user_login'" );
			$plaintext_pass = $user_pass;
			$message = __( 'Someone, hopefully you, has reset the Administrator password for your WordPress blog. Details follow:' ). "\r\n";
			$message  .= sprintf( __( 'Username: %s' ), $user_login ) . "\r\n";
			$message .= sprintf( __( 'Password: %s' ), $plaintext_pass ) . "\r\n";
			@wp_mail( get_option( 'admin_email' ), sprintf( __( '[%s] Your WordPress administrator password has been changed!' ), get_option( 'blogname' ) ), $message );
			$answer="<div id='message' class='updated fade'><p><strong>Your password has been successfully changed</strong></p><p><strong>An e-mail with this information has been dispatched to the WordPress blog administrator</strong></p><p><strong>You should now delete this file off your server. DO NOT LEAVE IT UP FOR SOMEONE ELSE TO FIND!</strong></p></div>";
		}
	}

	return empty( $answer ) ? false : $answer;
}

$answer = meh();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>WordPress Emergency PassWord Reset</title>
	<meta http-equiv="Content-Type" content="<?php bloginfo( 'html_type' ); ?>; charset=<?php bloginfo( 'charset' ); ?>" />
	<link rel="stylesheet" href="<?php bloginfo( 'wpurl' ); ?>/wp-admin/wp-admin.css?version=<?php bloginfo( 'version' ); ?>" type="text/css" />
</head>
<body>
	<div class="wrap">
		<form method="post" action="">
			<h2>WordPress Emergency PassWord Reset</h2>
			<p><strong>Your use of this script is at your sole risk. All code is provided "as -is", without any warranty, whether express or implied, of its accuracy, completeness. Further, I shall not be liable for any damages you may sustain by using this script, whether direct, indirect, special, incidental or consequential.</strong></p>
			<p>This script is intended to be used as <strong>a last resort</strong> by WordPress administrators that are unable to access the database.
				Usage of this script requires that you know the Administrator's user name for the WordPress install. (For most installs, that is going to be "admin" without the quotes.)</p>
			<?php
			echo $answer;
			?>
			<p class="submit"><input type="submit" name="update" value="Update Options" /></p>

			<fieldset class="options">
				<legend>WordPress Administrator</legend>
				<label><?php _e( 'Enter Username:' ) ?><br />
					<input type="text" name="e-name" id="e-name" class="input" value="<?php echo attribute_escape( stripslashes( $_POST['e-name'] ) ); ?>" size="20" tabindex="10" /></label>
				</fieldset>
				<fieldset class="options">
					<legend>Password</legend>
					<label><?php _e( 'Enter New Password:' ) ?><br />
					<input type="text" name="e-pass" id="e-pass" class="input" value="<?php echo attribute_escape( stripslashes( $_POST['e-pass'] ) ); ?>" size="25" tabindex="20" /></label>
				</fieldset>

				<p class="submit"><input type="submit" name="update" value="Update Options" /></p>
			</form>
		</div>
	</body>
</html>
<?php exit; ?>

Setelah proses penggantian password berhasil, kamu harus segera menghapus script di atas agar tidak disalahgunakan oleh orang lain.

Notifikasi penggantian password juga akan dikirim melalui email, apabila kamu tidak menerima email pemberitahuan ini.

Password tetap akan terganti sesuai reset password yang sebelumnya telah kamu lakukan.

Semoga ketujuh cara di atas bisa bermanfaat, kamu bisa membaca artikel berikutnya :