워드프레스 사이트에서 “429 Too Many Requests” 에러가 발생하면 동일 IP나 사용자로부터 지정된 시간 내에 너무 많은 요청이 들어와 서버가 처리를 거부한 것입니다. 악성 봇의 무차별 공격이나 플러그인의 과도한 API 호출이 주요 원인입니다.
이 가이드에서는 카페24 호스팅 환경을 기준으로 429 에러의 원인과 단계별 해결 방법을 안내합니다.

글 목차
목차
1. 429 에러란 무엇인가?
HTTP 429 Too Many Requests는 서버가 특정 클라이언트(IP)로부터 지정된 시간 내에 허용 횟수 이상의 요청을 받았을 때 반환하는 응답 코드입니다. 서버 보호 및 자원 관리를 위한 Rate Limiting(요청 속도 제한) 메커니즘에 의해 발생합니다.
주요 증상
- 로그인 페이지(
wp-login.php)에 반복 접속 시 429가 나타납니다. - 특정 시간대에 사이트 전체 접속이 느려지거나 429가 발생합니다.
- WordPress REST API를 사용하는 기능(WooCommerce, 멤버십 플러그인 등)에서 오류가 납니다.
- 검색 엔진 크롤러나 외부 서비스의 API 연동이 갑자기 중단됩니다.

2. 429 에러의 주요 원인 5가지
원인 1 — 악성 봇의 무차별 공격 (Brute Force)
워드프레스 로그인 페이지(wp-login.php)는 전 세계 봇의 주요 공격 대상입니다. 짧은 시간에 수백~수천 번의 로그인 시도가 발생하면 서버가 자동으로 해당 IP를 차단하며 429를 반환합니다.
원인 2 — 과도한 크롤링
검색 엔진 크롤러가 너무 자주 사이트를 크롤링하거나, 악의적인 스크래퍼가 동시에 대량의 페이지를 요청하면 Rate Limiting에 걸립니다.
원인 3 — REST API 남용
WooCommerce, Gutenberg 블록 에디터, 멤버십 플러그인 등이 WordPress REST API를 과도하게 호출하는 경우가 있습니다. 특히 일부 플러그인이 실시간 동기화를 위해 짧은 간격으로 API를 호출하면 429를 유발합니다.
원인 4 — Cloudflare Rate Limiting
Cloudflare를 사용 중이라면 Cloudflare 자체의 Rate Limiting 규칙이나 Bot Fight Mode에 의해 정상 사용자도 429를 받는 경우가 있습니다.
원인 5 — 호스팅의 Rate Limit 설정
카페24 등 공유 호스팅에서는 서버 전체 보호를 위해 특정 임계값 이상의 요청이 들어오면 자동으로 429를 반환하는 경우가 있습니다.
3. 카페24 호스팅에서 해결 방법
1단계 — Wordfence Rate Limiting 설정
Wordfence 보안 플러그인의 Rate Limiting을 통해 악성 봇을 효과적으로 차단할 수 있습니다.
- 워드프레스 관리자 → [플러그인] → [새 플러그인 추가]에서 “Wordfence” 검색 후 설치 및 활성화
- [Wordfence] → [All Options] → [Rate Limiting] 섹션으로 이동
- Enable Rate Limiting을 ON으로 설정합니다.
- 분당 허용 요청 수를 사이트 규모에 맞게 설정합니다. (일반 블로그: 240, 쇼핑몰: 500 이상)
- 차단 시간을 설정합니다. (봇 공격 시: 1시간 이상 권장)

2단계 — 로그인 시도 횟수 제한
로그인 페이지 공격을 막기 위한 전용 설정을 추가합니다.
- Wordfence 사용 시: [Wordfence] → [Login Security] → 로그인 시도 제한 설정
- 별도 플러그인 설치: “Limit Login Attempts Reloaded” 플러그인을 설치하면 간단하게 로그인 시도 횟수를 제한할 수 있습니다.
// .htaccess에 wp-login.php 요청 제한 추가 (선택 사항)
Order Deny,Allow
Deny from all
Allow from YOUR.IP.ADDRESS
주의: 위 방법은 특정 IP에서만 관리자 로그인이 가능하게 하므로 고정 IP가 없는 경우 주의해야 합니다.
3단계 — Cloudflare 봇 차단 설정
Cloudflare를 사용 중이라면 봇 차단 기능을 활성화합니다.
- Cloudflare 대시보드 → [Security] → [Bots]
- Bot Fight Mode를 활성화합니다. (무료 플랜도 사용 가능)
- 유료 플랜의 경우 Super Bot Fight Mode로 더 정밀한 봇 차단이 가능합니다.
4단계 — REST API 보호
불필요한 REST API 접근을 제한하여 과도한 API 호출을 줄입니다.
// functions.php에 추가 — 비로그인 사용자의 REST API 접근 제한
add_filter('rest_authentication_errors', function($result) {
if (!is_user_logged_in()) {
return new WP_Error('rest_not_logged_in',
'로그인이 필요합니다.',
array('status' => 401));
}
return $result;
});
주의: WooCommerce 등 일부 플러그인은 REST API가 공개 접근 가능해야 합니다. 적용 전 테스트를 권장드립니다.
5단계 — 캐시 플러그인 강화
캐시를 통해 서버가 매 요청마다 PHP를 실행하지 않으면, 동일한 트래픽에서 Rate Limiting 임계값에 훨씬 덜 가까워집니다.
- WP Fastest Cache, LiteSpeed Cache, W3 Total Cache 등 캐시 플러그인을 설치합니다.
- 페이지 캐시, 브라우저 캐시, 데이터베이스 캐시를 모두 활성화합니다.
4. 429 에러 예방 방법
- 보안 플러그인 필수 설치: Wordfence 또는 iThemes Security를 설치하고 Rate Limiting과 로그인 보호를 활성화합니다.
- wp-login.php URL 변경: WPS Hide Login 플러그인으로 로그인 URL을 변경하면 봇의 자동 공격이 대폭 감소합니다.
- Cloudflare 연결: CDN과 봇 차단 기능을 동시에 제공하는 Cloudflare를 사이트에 연결합니다.
- 2단계 인증(2FA): 관리자 계정에 2FA를 적용하면 로그인 페이지 공격에 대한 보안이 크게 강화됩니다.
- robots.txt 최적화: 크롤러가 불필요한 URL을 크롤링하지 않도록
robots.txt를 설정합니다.
5. 자주 묻는 질문 (FAQ)
Q. 429 에러가 로그인 페이지에서만 발생해요.
로그인 페이지에서만 429가 발생하는 경우 무차별 대입 공격(Brute Force)이 원인일 가능성이 높습니다. Wordfence 또는 Limit Login Attempts Reloaded 플러그인으로 로그인 시도 횟수를 제한하시기 바랍니다. 5회 실패 시 30분 차단 정도가 일반적인 설정입니다.
Q. 429 에러가 발생하면 얼마나 기다려야 해결되나요?
서버의 Rate Limiting 설정에 따라 다르지만, 일반적으로 1분~1시간 정도 기다리면 자동으로 해제됩니다. 단, 근본 원인(봇 트래픽, API 과다 호출)을 해결하지 않으면 재발합니다.
Q. 내가 일반 사용자인데 429 에러가 나요.
일반 사용자가 429를 받는 경우, 서버의 Rate Limiting 임계값이 너무 낮게 설정되어 있거나, 같은 IP를 공유하는 다른 사용자의 과도한 요청 때문일 수 있습니다. 나중에 다시 접속하거나, 사이트 운영자에게 Rate Limiting 설정 완화를 요청하시기 바랍니다.
정리 — 429 에러, 이렇게 해결하세요
429 Too Many Requests 에러는 주로 봇 공격, 과도한 크롤링, REST API 남용이 원인입니다. Wordfence Rate Limiting 설정과 Cloudflare 봇 차단을 함께 적용하면 대부분의 429 에러를 예방하고 차단할 수 있습니다.
다른 에러 해결이 필요하시다면 아래 가이드를 참고하시기 바랍니다.