Как ускорить процесс входа на сайт и разгрузить сервер от синхронных запросов к API.
Плагин Async Login API Extended предназначен для асинхронной обработки попыток входа на WordPress сайт с минимальной нагрузкой на ядро. Основная идея в том, чтобы отделить обработку POST-запросов логина от загрузки WP: обычные боты или массовые POST-запросы больше не будут нагружать сервер, потому что они сначала проходят через bridge.php, который проверяет короткоживущий HMAC-токен и сразу записывает минимальные данные в очередь, не загружая WordPress. WP загружается только для реальных пользователей, прошедших токен, что существенно снижает нагрузку на сервер при попытках брутфорса.

Использовать плагин просто: устанавливаете папку async-login-api в /wp-content/plugins/, активируете через админку. При активации плагин генерирует секретный ключ (.alp_secret), создаёт очередь в async_login_queue.json и патчит .htaccess, чтобы перенаправлять POST-запросы к bridge.php. В WordPress автоматически вставляется скрытое поле токена на странице логина, которое проверяется при POST. Дальнейшая обработка очереди происходит через WP-Cron: пакетная отправка на внешний API с retry и экспоненциальным backoff гарантирует, что ни одна попытка логина не потеряется даже при ошибках соединения.
Порядок подключения и работы: async-login-api.php - основной плагин, подключаемый через админку WordPress, управляет генерацией токенов, WP-Cron и очередью. bridge.php - standalone скрипт в той же папке, обрабатывает все POST-запросы к /wp-login.php до загрузки WordPress. .htaccess перенаправляет POST-запросы на bridge. Пользователю не нужно вручную подключать файлы: достаточно разместить папку плагина и активировать плагин через админку, остальное выполняется автоматически.
В целях безопасности и предотвращения автоматического сканирования уязвимостей в публичных примерах, название функции base64_decode было заменено на спецсимволы. При копировании кода - пожалуйста, замените их на реальное название функции.
Перехват POST-запросов реализован не внутри WordPress, а на уровне веб-сервера - через модификацию .htaccess, который направляет все POST-запросы к wp-login.php напрямую в bridge.php. Только после прохождения проверки токена и записи в очередь управление может быть передано обратно WordPress - но уже для реального пользователя, а не бота.