Посмотрим статистику.
Для начала устанавливаем плагин Activity Log (логгирование действий пользователей), активируем
И видим следующие картину



Кто все эти люди и откуда они знают мой логин? 

Это не люди мучают клавиатуру с ручным подбором паролей, это боты (зараженные компьютеры). Точнее даже не компьютеры, а устройства типа микроволновки и холодильника. Сейчас везде производители ставят процессоры и выход в интернет, на таких устройствах практически нет никакой защиты, их взламывают и они вливаются в ряды ботов. 
Еще есть «банды умных лампочек» – smart-лампы с управлением со смартафона через Wi-Fi. Тоже хорошо взламываются и начинают работать на чужих дядей.

WordPress достаточно легко выдает логин (логины) всем желающим по запросу http://site.ru/?author=1, где site.ru – домен Вашего сайта

Цифра 1 на конце запроса – это ID пользователя, перебирая все цифры, мы получаем список всех логинов пользователей. 

Еше одно место, где видно настоящий логин - это архив статей автора. Несмотря на указанный другой ник "ГудВин" -  в адресной строке показывается реальный логин admin для входа в систему.



Более того, при авторизации с правильным логином и неправильным паролем – WordPress радостно подтверждает правильность логина, скан ниже.




Что можно сделать?

А ) Закрываем возможность выдачи логинов по запросу http://site.ru/?author=1

внесем изменения в файл .htaccess в корне сайта. Добавим в модуль переадресации

#lock info author
RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{QUERY_STRING} ^/?author=([0-9]*)
RewriteRule ^(.*)$ http://site.ru/? [L,R=301]

В качестве адреса можно указать специальную страницу вида no-login.html, по крайней мере Вы будете сразу видеть в Метрике/Аналитики количество попыток подбора. Если указана только главная страница - то сложно сразу понять, какие заходы с поиска/рекламы, а какие с переадресации.



ВАЖНО (для файла .htaccess в корневой директории для WordPress): 

1. Для WordPress все свои инструкции необходимо указывать ниже пределов модуля 
# BEGIN WordPress
# END WordPress
Внутри этой конструкции сам движок WordPress пишет свои инструкции

2. Если Вы по ошибке укажете дополнительные инструкции внутри этого модуля - то WordPress их затрет


B) Закрываем показ логина автора в адресной строке

тут два варианта

1-й вариант = Вы единственный автор и хозяин блога, добавляем одну строку в файл .haccess

#lock info author
RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{QUERY_STRING} ^/?author=([0-9]*)
RewriteRule ^(.*)$ http://site.ru/? [L,R=301]
Redirect 301 /author http://site.ru

2-й вариант = если авторов у блога несколько и надо все-таки показать архив

Устанавливаем плагин Edit Author Slug - на странице настроек пользователей появляется дополнительное поле, меняем там например на goodwin.



Бинго, теперь в адресной строке в разделе архивов авторов видно только наш измененный slug автора (логин admin не видно)



C) Сменить стандартный логин администратора

Не просто переименовать, а сделать новый логин с новым ID и изменить его отображение. Т.е. отображение пользователя на сайте (как например, автора статей) не должно совпадать с его логином для входа в систему. Изменяется в настройках пользователя.




Старый (скомпроментированный) логин можно удалить или временно заблокировать с помощью плагина Lock User Account (в списке Действий помимо Удалить еще появится выбор Lock и UnLock).




Плагин Limit Login Attempts Reloaded

Настройки очень простые:



Галочку "Отправлять имейл админу после...."  ставим обязательно. 

Делает несколько полезных вещей:
- ограничивает число попыток ввода пароля (настраивается)
- прячет информацию о правильном логине, теперь страница входа (после ошибки) выглядит так



Также ведется лог попыток (изоляций), видно, что роботы с мобильных устройств (да, да - через вход xmlrpc.php) более тупые. Бьются до исчерпания всех 4-х попыток, установленных в качестве ограничения.



Более умные роботы (ботнеты) видят защиту и пробуют вход с одного IP не более 2-х раз, что бы администратору не отсылалась информация о переборе паролей.

После установки логина/пароля на файл xmlrpc.php для нормального пользователя все логично - сначала мобильное приложение запрашивает логин/пароль от WordPress, потом идет запрос пароля от сервера HTTP. Боты пытаются сразу обратиться к файлу xmlrpc.php и получают пинок в виде запроса пароля от сервера HTTP. Соответственно все многократные попытки подбора по XMLRPC из логов исчезают. 

Если все сломалось и/или Вы не можете зайти в административную панель (превышено число попыток авторизации). Как разблокировать плагин limit login attempts? Заходите на хостинг по ftp, далее в www/wp-content/plugins, находите там папку с этим плагином и удаляете.