Что делать, если не получается зайти в админку WordPress
Всем привет! За долгое время работы с WordPress я неоднократно сталкивался с ситуациями, когда дают в поддержку сайт, а админские доступы к нему утеряны и не получается зайти в админку WordPress. Как быть в таком случае? В этой статье я дам наиболее адекватные варианты решения этой проблемы.
Вариант 1. Не получается зайти в админку WordPress, но есть доступ к панели управления хостингом
Такой вариант часто встречается, когда в поддержку даётся legacy-проект. Что делать, когда не получается зайти в админку WordPress, а доступ к панели управления хостингом есть:
- в панели управления надо найти любое средство для управления базой данных. Как правило, это phpMyAdmin.
- зайти в phpMyAdmin, предварительно выбрав базу данных, на которой развёрнут WordPress.
Имя базы данных можно найти в файле wp-config.php, расположенном в корневом каталоге сайта, в блоке define('DB_NAME', 'some_name'), где второй параметр и есть искомое имя БД
После того, как база открыта в phpMyAdmin, заходим в таблицу wp_users, где видим список всех пользователей сайта.
Кликаем по чекбоксу напротив имени пользователя, и кликаем по кнопке изменить чуть ниже
Появится окно, в котором можно отредактировать пароль пользователя. Не забываем поставить шифрование MD5, оно используется WordPress по умолчанию. Чтобы сохранить изменения, кликаем по кнопке "Вперёд":
В итоге, если всё сделано правильно, появится окошко с информацией об успешном выполнении SQL запроса, и пароль будет изменён.
Вариант 2. Не получается зайти в админку WordPress, нет доступа к Панели Управления хостингом, но есть ssh доступ к хостингу
Этот вариант чуть сложнее, потому что надо уметь работать с консолью и знать команды для работы с MySQL. Часто логин и пароль для SSH доступа совпадает с логином и паролем для доступа по SFTP. Если нет - надо попросить владельца хостинг-аккаунта дать такой доступ.
Для начала необходимо подключиться к хостингу по SSH. Для этого в терминале (я обычно использую терминал Git Bash или WSL) вводим команды:
ssh username@host_ip_addr
где username, host_ip_addr - соответственно логин и ip адрес хостинга
Потом в терминале надо перейти в каталог сайта и посмотреть реквизиты для подключения к БД, на которой развёрнут WordPress:
cd website/public_html && sudo nano wp_config.php
После этого необходимо подключиться уже к базе данных проекта с помощью команды:
mysql -u username database_name
где username, database_name - соответственно имя пользователя и имя БД
Далее, если вы хотите добавить нового пользователя WordPress с правами администратора, надо ввести такие команды
INSERT INTO `wp_users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_status`) VALUES ('admin', MD5('supersecretpassword'), 'admin', 'admin@youremail.com', '0');
INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, (Select max(id) FROM wp_users),
'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, (Select max(id) FROM wp_users), 'wp_user_level', '10');
После этого будет в WordPress будет добавлен пользователь, под которым вы уже сможете получить доступ к админке. Если хотите просто поменять пароль текущему пользователю, надо выполнить команды:
select * from wp_users; # выбираем всех пользователей, ищем нужного нам, у которого хотим поменять пароль
update wp_users set user_pass=MD5('super-password') where user_login='user_name';
После ввода этой команды, у вас поменяется пароль пользователя и вы сможете зайти в админку WordPress.
Вариант 3. Если на сайте установлен некий защитный плагин, и описанные выше действия не помогают
Порой бывает, что не получается зайти в админку WordPress даже после смены пароля администратора. Возможная и наиболее вероятная причина - какой-то из защитных плагинов, который был установлен на сайте. Чтобы временно отключить плагин, необходимо:
- получить FTP доступ на сайт
- подключиться к FTP через любой доступный клиент
- зайти в каталог сайта и перейти в папку wp-content/plugins. Далее там ищем название плагина, любое, где есть слово security, cerber и проч., и просто переименовываем папку.
Можно вообще переименовать последовательно все папки с плагинами, пока не получится зайти в админку.
Вот такая вот небольшая статья получилась. Надеюсь, кому-то она будет полезной и поможет справиться с проблемой утерянных доступов к сайту на WordPress. С вами был webmaster_zotov, до новых встреч!