Если к админке WordPress могут стучаться не только вы и ваши сотрудники, риск лишних попыток входа и подбора пароля заметно выше. Полностью «спрятать» админку нельзя, но можно сильно сузить круг тех, кто вообще увидит страницу входа и сможет до неё добраться. На практике лучше всего работает не один приём, а сочетание нескольких: ограничение по IP, дополнительная защита на уровне веб-сервера и обычные меры безопасности внутри WordPress.
Ниже — рабочие способы, которые реально применяют на сайтах на WordPress. Выбирайте тот вариант, который подходит под ваш хостинг и способ работы с сайтом. Если у вас динамический IP или вы заходите в админку из разных мест, не спешите закрывать доступ слишком жёстко: можно легко отрезать себе вход.
Что именно имеет смысл ограничивать
В WordPress обычно защищают не весь каталог /wp-admin/ целиком, а две точки входа: саму админку и страницу авторизации /wp-login.php. Это разные URL, но именно через них атакующие чаще всего пытаются подобрать пароль или проверить, существует ли сайт на WordPress.
Если ограничить только /wp-admin/, это не всегда решит задачу: страница входа останется доступной. Если закрыть только /wp-login.php, часть запросов всё равно будет доходить до админки. Поэтому в большинстве случаев нужно защищать оба адреса.
Самый надёжный вариант: доступ к админке только с нужных IP
Если у вас статический IP или небольшой список постоянных адресов, это самый прямой способ. Он не зависит от пароля и сильно сокращает поверхность атаки. Подходит для личных сайтов, корпоративных проектов и случаев, когда в админку заходят только из офиса или с одного рабочего места.
Минус у метода один: если IP меняется, доступ придётся обновлять вручную. Для мобильного интернета, домашнего подключения с динамическим адресом и частых поездок он неудобен.
Apache: ограничение через .htaccess
Если сайт работает на Apache или LiteSpeed с поддержкой .htaccess, можно закрыть доступ к wp-admin по IP. Перед изменениями сделайте резервную копию файла .htaccess: ошибка в правилах может привести к 500-й ошибке и недоступности сайта.
Добавьте правила в wp-admin/.htaccess или в основной .htaccess, если понимаете, как они будут применяться в вашей конфигурации. Проще и безопаснее — отдельный файл внутри wp-admin:
Require ip 203.0.113.10 198.51.100.25Здесь нужно заменить IP на свои реальные адреса. Если у вас несколько сотрудников, перечислите все разрешённые адреса через пробел. Для Apache 2.4 это рабочий вариант. На старых конфигурациях может использоваться синтаксис Allow from / Deny from, но сейчас это встречается реже.
Чтобы закрыть и страницу входа, аналогичное правило можно применить к wp-login.php через <Files> в корневом .htaccess:
<Files