Краткий ответ: ошибка 403 Forbidden WordPress означает, что сервер понял запрос, но запретил доступ к странице, файлу, админке, REST API, admin-ajax.php или отдельному разделу сайта. Чаще всего причина в .htaccess, правах файлов, security-плагине, WAF, ModSecurity, Cloudflare, IP-блокировке, hotlink protection, неправильных правилах доступа или ошибке после переноса сайта.
Ошибка 403 отличается от 404 и 500. При 404 сервер не находит страницу. При 500 сервер не может выполнить запрос из-за внутренней ошибки. При 403 страница или файл существуют, но доступ к ним запрещён.
Если 403 появляется именно при входе в админку, сначала проверьте /wp-admin/, /wp-login.php, security-плагины и правила блокировки IP. Подробный порядок восстановления входа есть в статье не работает админка WordPress — что делать. Если вместо 403 сайт показывает внутреннюю ошибку сервера, ближе подойдёт материал ошибка 500 WordPress.
Ошибка 403 Forbidden в WordPress появляется, когда доступ блокируется на одном из уровней: браузер, кеш/CDN, WordPress-плагин, .htaccess, права файлов, веб-сервер, WAF, хостинг или внешняя защита вроде Cloudflare.
Самые частые причины:
.htaccess — правила deny, allow, rewrite, hotlink protection или редиректы блокируют доступ.admin-ajax.php — из-за этого не работают формы, редактор, WooCommerce checkout или AJAX-действия.index.php или index.html..htaccess, wp-config.php, теме или базе могли появиться чужие ограничения и редиректы.Если 403 появился после установки security-плагина, обновления, переноса сайта или смены хостинга, начинать нужно именно с этих изменений. В большинстве случаев причина находится быстрее, если смотреть логи, а не просто отключать всё подряд.
Сначала определите, где именно появляется ошибка 403. От этого зависит порядок проверки.
| Где появляется 403 | Вероятная причина | Что проверить первым |
|---|---|---|
| На всём сайте | права файлов, .htaccess, WAF, хостинг, неправильная папка сайта |
права, document root, .htaccess, логи хостинга |
Только в /wp-admin/ |
security-плагин, IP-блокировка, WAF, правила для админки | wp-login.php, security-плагин, IP, Cloudflare, .htaccess |
Только на wp-login.php |
защита входа, лимит попыток, блокировка страны/IP | security-плагин, WAF, cookies, firewall logs |
Только на admin-ajax.php |
WAF, security-плагин, кеш, блокировка AJAX | логи WAF, правила Cloudflare, security-плагины, кеш |
Только на /wp-json/ |
REST API заблокирован плагином, WAF или сервером | REST API, security-настройки, .htaccess, firewall |
| Только при сохранении записи | ModSecurity, WAF, подозрительный HTML, iframe, script, JSON-запрос | логи ModSecurity, Cloudflare events, Gutenberg, REST API |
| Только на изображениях, CSS или JS | права файлов, hotlink protection, CDN, неправильные пути | permissions, hotlink, CDN, mixed content, консоль браузера |
| После переноса сайта | владелец файлов, document root, права, .htaccess, серверные правила |
путь сайта, owner/group, права, error_log |
/wp-login.php.Если 403 появляется на admin-ajax.php, это может ломать формы, фильтры, корзину, checkout и часть админки. Для такой ситуации есть отдельная инструкция не работает admin-ajax.php WordPress.
Если не хотите рисковать сайтом и тратить время на эксперименты, можно оставить заявку. Я посмотрю задачу и предложу аккуратное решение.
Исправлять 403 нужно аккуратно. Это ошибка доступа, поэтому простое “отключить защиту” может вернуть сайт, но оставить дыру в безопасности.
Сначала убедитесь, что открываете правильный адрес:
https://example.com/wp-admin/https://example.com/wp-login.phphttps://example.com/wp-json/https://example.com/wp-admin/admin-ajax.phpЕсли 403 только на одном URL, не нужно сразу трогать весь сайт. Ищите правило, которое блокирует именно этот путь.
Иногда 403 отдаёт не сам WordPress, а кеш, CDN, Cloudflare или WAF. Проверьте:
Если с другого IP сайт открывается, вероятна IP-блокировка, rate limit, country block или правило WAF.
Для большинства WordPress-сайтов нормальные значения такие:
755;644;wp-config.php: часто 600 или 640, зависит от хостинга.Не ставьте 777. Это небезопасно и не является нормальным решением 403.
После переноса сайта также проверьте владельца файлов. Если файлы принадлежат не тому пользователю, сервер может запрещать доступ даже при визуально правильных правах.
Через FTP/SFTP или файловый менеджер хостинга переименуйте файл в корне сайта:
.htaccess.htaccess_oldПосле этого откройте страницу, где была ошибка. Если 403 исчезла, причина в правилах .htaccess.
Ищите в старом файле такие конструкции:
Deny from allRequire all deniedRequire not ipOrder allow,denywp-admin, wp-login.php, xmlrpc.php, admin-ajax.php;Плагины безопасности могут блокировать доступ по IP, стране, количеству попыток входа, user-agent, URL, REST API или AJAX. Если доступа к админке нет, временно отключите security-плагин через FTP, переименовав его папку внутри wp-content/plugins/.
После восстановления доступа не оставляйте сайт без защиты. Нужно найти конкретное правило, которое блокировало нужный запрос, и настроить исключение.
Если 403 появляется при сохранении страницы, отправке формы, AJAX-запросе, REST API или checkout, часто виноват WAF. Он может принять нормальный запрос WordPress за подозрительный.
Проверьте:
Лучшее решение — не отключать WAF полностью, а добавить точное исключение для нужного действия, URL или IP, если это безопасно.
Если редактор WordPress не сохраняет записи, не работает Gutenberg, формы не отправляются или WooCommerce зависает, проверьте:
/wp-json//wp-admin/admin-ajax.phpЕсли REST API заблокирован, может помочь отдельная инструкция не работает REST API WordPress.
Если 403 получают только изображения, CSS, JS или файлы, проблема может быть в hotlink protection. Особенно часто это видно после смены домена, подключения CDN, перехода с HTTP на HTTPS или работы через временный домен хостинга.
Проверьте, не блокируется ли ваш собственный домен, поддомен, CDN-домен или www-версия сайта.
Если 403 появляется при открытии папки, например /wp-content/uploads/, это может быть нормальным поведением: сервер запрещает просмотр директории. Но если 403 на главной странице, проверьте, есть ли в корне сайта index.php и правильно ли настроена корневая папка домена.
Если 403 появился внезапно, вместе с редиректами, чужими страницами, неизвестными файлами или странными правилами в .htaccess, проверьте сайт на взлом.
.htaccess в корне и подпапках;wp-config.php;mu-plugins;wp_options;Важно: правила ниже могут повлиять на доступ к сайту, админке, REST API, admin-ajax.php, WooCommerce, оплате, формам и безопасности. Перед изменениями сохраните старый .htaccess и сделайте резервную копию сайта. Не вставляйте правила вслепую, если на сайте есть особая защита, мультиязычность, кеш или редиректы.
Куда вставлять: файл .htaccess в корне сайта на Apache/LiteSpeed. Перед заменой сохраните старую версию.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Это правило обычно безопасно и помогает закрыть листинг директорий, но оно не должно блокировать нормальные файлы сайта.
Options -Indexes
Важно: не открывайте всю админку публично. Если у вас есть правило, которое блокирует весь wp-admin, убедитесь, что admin-ajax.php доступен, потому что его используют формы, плагины и WooCommerce.
<Files "admin-ajax.php">
Require all granted
</Files>
Важно: команды меняют права файлов. Используйте только на своём сайте и убедитесь, что на вашем хостинге такие права допустимы.
find /path/to/site -type d -exec chmod 755 {} ;
find /path/to/site -type f -exec chmod 644 {} ;
Важно: отключение security-плагина снижает защиту сайта. Используйте только для диагностики и включите обратно после настройки правила.
wp plugin list
wp plugin deactivate nazvanie-security-plagina
После правильной диагностики становится понятно, кто именно отдавал 403:
.htaccess блокировал путь или IP;Правильный результат — не просто убрать 403, а сохранить нужную защиту и открыть только то, что действительно должно работать: админку для администратора, admin-ajax.php для AJAX, REST API для нужных функций, публичные страницы для посетителей и файлы для браузера.
Проверьте другой IP, VPN, мобильный интернет, блокировку страны, security-плагин, Cloudflare и fail2ban на сервере. Если у других сайт открывается, проблема может быть в вашем IP или cookies.
Часто виноват WAF или ModSecurity. Некоторые правила блокируют HTML, iframe, script, JSON, длинные тексты, технические слова или фрагменты кода в редакторе. Проверьте логи firewall в момент сохранения.
Проверьте wc-ajax, admin-ajax.php, платёжный шлюз, WAF, кеш, security-плагин и правила Cloudflare. Не кешируйте checkout, корзину и страницу оплаты.
Проверьте:
index.php;.htaccess;Проверьте права в wp-content/uploads/, hotlink protection, CDN, смешанный контент HTTP/HTTPS, правильность URL файлов и правила в .htaccess внутри папки uploads.
.htaccess без копии. Можно потерять редиректы, кеш, SSL-правила и защиту.wp-admin. Иногда нужно разрешить только admin-ajax.php, а не всю админку.755, файлы 644..htaccess и проверьте сайт./wp-json/ и /wp-admin/admin-ajax.php..htaccess, wp-config.php, теме и mu-plugins.client denied by server configuration — серверное правило запретило доступ.AH01630: client denied by server configuration — Apache запретил доступ по конфигурации.ModSecurity: Access denied — запрос заблокировал ModSecurity.Permission denied — проблема прав или владельца файлов.403 в access log на admin-ajax.php, wp-json, wp-login.php — блокируется конкретный endpoint.Это значит, что сервер понял запрос, но запретил доступ. В WordPress причина часто связана с .htaccess, правами файлов, security-плагином, WAF, Cloudflare, IP-блокировкой или настройками хостинга.
403 — доступ запрещён. 404 — страница или файл не найдены. 500 — внутренняя ошибка сервера. При 403 ресурс может существовать, но сервер не разрешает его открыть.
Чаще всего из-за security-плагина, IP-блокировки, WAF, Cloudflare, правил .htaccess или защиты входа. Проверьте wp-login.php, firewall logs и настройки безопасности.
Причина может быть в WAF, security-плагине, Cloudflare, кешировании или жёстком запрете wp-admin. admin-ajax.php должен быть доступен для легитимных AJAX-запросов.
Обычно папки имеют права 755, файлы — 644. Для wp-config.php права могут быть строже, например 600 или 640, если это поддерживает хостинг.
Не стоит. Права 777 открывают лишний доступ и создают риск безопасности. Лучше найти точную причину: owner, server config, .htaccess, WAF или плагин.
Да. Правила deny/allow, hotlink protection, блокировка IP, запрет wp-admin, старые правила security-плагина и неправильные rewrite rules могут отдавать 403.
Да. Cloudflare может заблокировать запрос через WAF, firewall rules, bot protection, country block или rate limiting. В таком случае нужно смотреть Firewall Events, а не только WordPress-логи.
Часто это ModSecurity или WAF. Запрос редактора может содержать HTML, JSON, iframe, script или технический текст, который защита считает подозрительным.
Вероятны неправильные права в uploads, hotlink protection, CDN, неверный домен, HTTP/HTTPS-конфликт или правило .htaccess внутри папки файлов.
Можно временно, если есть копия и понимание рисков. После диагностики лучше не оставлять сайт без защиты, а настроить конкретное правило или исключение.
Если в WordPress всё проверено, но 403 остаётся, попросите хостинг проверить error_log, ModSecurity, WAF, владельца файлов, права, document root, IP-блокировки и правила сервера.
Ошибка 403 Forbidden WordPress почти всегда связана с запретом доступа: .htaccess, права файлов, security-плагин, WAF, Cloudflare, IP-блокировка, REST API, admin-ajax.php, hotlink protection или настройки хостинга. Поэтому её нужно диагностировать как ошибку доступа, а не как обычную поломку страницы.
Безопасный порядок такой: определить место ошибки, проверить другой IP, очистить кеш, посмотреть логи, проверить права файлов, временно проверить .htaccess, security-плагины, WAF, Cloudflare, REST API и admin-ajax.php. Так можно открыть нужный доступ, но не отключить защиту сайта полностью.
Рекомендуем услугу: срочная помощь WordPress
Об авторе