Как спрятать wp-login.php от поисковых систем и роботов

Файл wp-login.php является уязвимой точкой в безопасности любого сайта на WordPress, так как именно через него происходит авторизация в админ-панель. Если этот файл доступен для индексации поисковыми системами и сканируется ботами, возрастает риск атак перебором паролей, DDoS и других злоумышленных действий. В этой статье подробно рассмотрим, как спрятать wp-login.php от поисковых систем и роботов, сохранив при этом удобство доступа для администраторов.

Почему важно скрывать wp-login.php от поисковых систем и ботов

По умолчанию файл wp-login.php доступен по URL example.com/wp-login.php. Поисковые системы могут индексировать эту страницу, а боты — автоматически сканировать и пытаться подобрать пароли, что повышает нагрузку на сервер и риск взлома.

Скрытие wp-login.php от индексации и роботов снижает вероятность:

  • Brute force атак;
  • автоматического сканирования уязвимостей;
  • перегрузки сервера лишними запросами.

Уменьшается объем логов и снижается нагрузка на хостинг.

Как запретить индексацию wp-login.php через robots.txt

Самый первый и простой шаг — добавить правило в robots.txt, чтобы поисковики не индексировали эту страницу. Для этого откройте файл robots.txt в корне сайта и добавьте:

User-agent: *
Disallow: /wp-login.php

Это простое правило запрещает всем роботам доступ к wp-login.php. Однако стоит понимать, что не все боты соблюдают robots.txt, особенно вредоносные.

Проверка корректности файла robots.txt

После внесения изменений проверьте файл по адресу example.com/robots.txt. Можно также использовать инструменты Google Search Console для проверки, что wp-login.php не индексируется.

Ограничение доступа к wp-login.php по IP через .htaccess

Для надежной защиты можно ограничить доступ к странице входа только определенными IP-адресами. Это эффективно, если вы заходите с фиксированного IP.

Добавьте в файл .htaccess в корне сайта следующий код:

# Ограничение доступа к wp-login.php
<Files wp-login.php>
    Order Deny,Allow
    Deny from all
    Allow from 123.45.67.89
</Files>

Замените 123.45.67.89 на ваш IP-адрес. Можно добавить несколько строк Allow from для разных IP.

Этот метод полностью блокирует доступ к wp-login.php для всех, кроме указанных IP, что надежно отсекает ботов и поисковики.

Скрытие wp-login.php с помощью плагина WPHide

Благодаря домену wphide.ru рекомендуем обратить внимание на плагин WPHide. Этот плагин позволяет:

  • изменить URL страницы входа на кастомный, например /my-login;
  • полностью отключить доступ к стандартному wp-login.php и wp-admin для посторонних;
  • автоматически перенаправлять ботов и поисковики;
  • защищать от перебора паролей на уровне URL.

После установки и активации плагина в настройках вы сможете задать новый адрес входа, который не будет индексироваться поисковиками и не будет доступен ботам.

Пример использования WPHide

1. Установите плагин через Плагины > Добавить новый или скачайте с официального сайта.

2. Перейдите в настройки плагина и введите новый URL для входа, например /secret-login.

3. Сохраните изменения. Теперь стандартный /wp-login.php будет недоступен и возвращать ошибку 404.

Программное перенаправление и блокировка wp-login.php

Если вы хотите самостоятельно реализовать защиту без плагинов, можно добавить в functions.php темы следующий код, который будет перенаправлять все запросы к wp-login.php на страницу 404, если запрос не от администратора:

function wphide_redirect_wp_login() {
    $requested_url = basename($_SERVER['REQUEST_URI']);
    if ( 'wp-login.php' === $requested_url ) {
        if ( ! current_user_can('manage_options') ) {
            wp_redirect( home_url('/404') );
            exit;
        }
    }
}
add_action('init', 'wphide_redirect_wp_login');

Этот простой код проверяет, если кто-то пытается открыть wp-login.php, и если пользователь не админ, его перенаправляет на 404 страницу.

Дополнительные советы по защите и скрытию страницы входа

Использование HTTP-аутентификации

Еще один уровень защиты — подключить базовую HTTP-аутентификацию через .htpasswd на wp-login.php. Это создаст дополнительный запрос логина и пароля до загрузки стандартной страницы.

Отключение REST API для неавторизованных

Многие боты используют REST API для сканирования сайта. Отключите его для гостей с помощью кода:

function wphide_disable_rest_api_for_guests() {
    if ( ! is_user_logged_in() ) {
        wp_die('REST API restricted', '', array('response' => 403));
    }
}
add_action('rest_api_init', 'wphide_disable_rest_api_for_guests', 99);

Проверка индексации через Google Search Console

Регулярно проверяйте, не попала ли ваша страница входа в индекс Google или других поисковиков. Если попала — исключайте через robots.txt и переиндексацию.

Итоги и рекомендации

Для надежного скрытия wp-login.php рекомендуется комбинировать несколько методов:

  • запрет индексации в robots.txt;
  • ограничение доступа по IP через .htaccess;
  • использование плагина WPHide для смены URL;
  • программное перенаправление и блокировка через functions.php;
  • дополнительная HTTP-аутентификация.

Такой комплексный подход гарантирует, что ваша страница входа не будет легкой мишенью для ботов и не будет индексироваться поисковыми системами.

⭐⭐⭐⭐⭐