워드프레스에서 404 오류가 발생하는 원인과 해결 순서

작성자

카테고리:

웹사이트에서 404 오류(Page Not Found)는 사용자 경험에 직접적인 악영향을 줍니다. 워드프레스 환경에서는 다양한 원인으로 404가 발생할 수 있는데, 원인을 정확히 진단하고 순서대로 점검하면 대부분 빠르게 해결할 수 있습니다. 이 글에서는 흔한 원인과 단계별 해결 순서를 실무적으로 정리합니다.

404 오류란 무엇인가?

HTTP 404 상태 코드는 요청한 URL에 해당하는 리소스(페이지/파일)를 서버에서 찾을 수 없을 때 반환됩니다. 워드프레스에서는 단순한 잘못된 링크뿐 아니라 퍼머링크 설정, 서버 재작성(rewrite) 문제, 플러그인 충돌 등 여러 원인이 복합적으로 작용할 수 있습니다.

404 오류가 발생하는 주요 원인

1. 잘못된 URL 또는 페이지 삭제

가장 빈번한 원인입니다. 페이지나 포스트의 슬러그가 변경되었거나 콘텐츠가 삭제되면 404가 발생합니다.

2. 퍼머링크(링크 구조) 문제

.htaccess(아파치) 또는 서버의 재작성 규칙이 잘못되어 워드프레스의 “아름다운 링크”가 동작하지 않을 때 404가 생깁니다.

3. 플러그인 또는 테마 충돌

특정 플러그인(특히 리라이트/캐시/리다이렉트 관련)이나 테마의 함수가 라우팅을 변경하면 예기치 않은 404가 발생할 수 있습니다.

4. 캐시 및 CDN 문제

브라우저·플러그인(예: WP Super Cache, W3 Total Cache)·외부 CDN에서 옛 상태를 서비스하면 실제로는 있는데도 404처럼 보일 수 있습니다.

5. 서버 설정(Nginx/Apache) 문제

mod_rewrite가 비활성화되어 있거나 Nginx의 rewrite 규칙이 누락되면 퍼머링크가 동작하지 않습니다.

6. 사이트 URL(home/siteurl) 설정 오류

워드프레스 일반 설정에서 URL이 잘못되어 있거나 HTTP/HTTPS 혼용 시 요청이 엉킬 수 있습니다.

7. 멀티사이트 / 커스텀 포스트타입 재작성 문제

멀티사이트 환경이나 커스텀 포스트타입 등록 시 rewrite 규칙을 제대로 flush하지 않으면 404가 발생할 수 있습니다.

8. 파일 권한 또는 파일 자체 없음(미디어)

미디어 파일이나 특정 리소스가 서버에 없거나 파일 권한 문제로 접근이 불가하면 404가 나올 수 있습니다.

문제 해결 순서 (우선순위대로 실행하세요)

1단계 — 기본 확인

  • URL 입력 오타, 대소문자/슬래시 확인 (예: /page vs /page/)
  • 페이지가 실제로 존재하는지(관리화면에서 확인) 확인
  • 삭제된 경우 원래 URL을 리다이렉트(301)로 처리할지 여부 결정

2단계 — 캐시 비우기

  • 브라우저 캐시와 워드프레스 캐시 플러그인 캐시를 비웁니다.
  • CDN(Cloudflare 등)을 사용 중이면 캐시를 무효화(purge)합니다.

3단계 — 사이트 URL 설정 확인

워드프레스 관리자 > 설정 > 일반(Settings → General)에서 WordPress 주소(URL)와 사이트 주소(URL)가 올바른지 확인합니다. (HTTP/HTTPS, www 유무 일치 여부 확인)

4단계 — 퍼머링크 재설정 (가장 흔한 해결책)

관리자 > 설정 > 고정링크(Settings → Permalinks)에서 현재 설정을 일단 “기본(Plain)”으로 변경 후 저장하고, 다시 원래 설정으로 되돌려 저장하면 워드프레스가 재작성 규칙(.htaccess)을 갱신합니다.

아파치 사용 시 .htaccess 예시:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Nginx 사용 시 기본 rewrite 예시(server 블록에 포함):

location / {
    try_files $uri $uri/ /index.php?$args;
}

5단계 — 플러그인/테마 충돌 점검

  • 모든 플러그인을 비활성화하고 문제가 해결되는지 확인합니다. 해결되면 하나씩 켜며 원인 플러그인을 찾습니다.
  • 테마를 워드프레스 기본 테마(예: Twenty Twenty-One)로 변경해 동일한지 확인합니다.

6단계 — 멀티사이트 / 커스텀 포스트타입 확인

커스텀 포스트타입을 등록한 경우 flush_rewrite_rules()를 호출하거나 퍼머링크 재설정을 해 보세요. 멀티사이트 환경은 네트워크 설정과 서브도메인/서브디렉터리 구성을 점검하세요.

7단계 — 서버 로그 및 디버깅

  • 웹서버의 오류 로그(예: Apache error_log, Nginx error.log)를 확인합니다.
  • WP_DEBUG 및 WP_DEBUG_LOG를 활성화해 워드프레스 디버그 로그를 확인합니다(운영 중에는 주의 필요).

8단계 — 리다이렉트 규칙 및 .htaccess 추가 규칙 확인

수동으로 추가한 리다이렉트 규칙이나 보안 플러그인이 적용한 규칙이 문제인 경우 .htaccess를 임시로 원본 상태로 되돌려 확인합니다.

9단계 — 파일 권한 / 미디어 파일 확인

미디어 파일 404는 실제 파일의 업로드 여부 및 파일 퍼미션(예: 644/755 등)을 확인하세요.

10단계 — 호스팅사 문의

자체적으로 해결이 어렵거나 서버 설정(모듈 활성화 등)을 변경해야 하는 경우 호스팅사에 문의하세요. 접근 로그/오류 로그를 함께 전달하면 진단에 도움이 됩니다.

자주 하는 실수와 예방 팁

  • URL(슬러그)을 변경할 때 반드시 301 리다이렉트를 설정하세요.
  • 퍼머링크나 서버 설정 변경 전에는 백업을 만드세요.
  • 중요한 변경(플러그인 설치/업데이트 등)은 스테이징 환경에서 먼저 테스트하세요.
  • 캐시/CDN 적용 시 배포 후 링크 확인 절차를 포함하세요.

체크포인트

  • URL 오타/슬래그 확인 완료
  • 브라우저/플러그인/CDN 캐시 초기화 완료
  • 퍼머링크 재설정 및 .htaccess(또는 Nginx 설정) 점검 완료
  • 플러그인/테마 충돌 테스트(비활성화/기본테마) 수행
  • 서버 로그 및 WP 디버그 로그 확인
  • 필요 시 호스팅사에 문의 (로그 첨부)

FAQ

Q1: 갑자기 사이트 전체가 404가 나옵니다. 어디서부터 확인하나요?

A: 우선 서버(호스팅) 문제인지 확인하세요. 퍼머링크 문제일 가능성이 크므로 관리자 > 설정 > 고정링크에서 저장 버튼을 눌러 재설정해 보고, .htaccess 파일 권한(쓰기 허용)과 mod_rewrite 활성화 여부를 확인합니다. 캐시/ CDN 영향도 함께 점검하세요.

Q2: 퍼머링크를 재설정해도 404가 지속됩니다. 다음 단계는?

A: 플러그인과 테마 충돌을 의심하세요. 모든 플러그인을 비활성화하고 기본 테마로 변경한 뒤 확인합니다. 그래도 해결되지 않으면 웹서버 rewrite 모듈(예: mod_rewrite) 활성화, Nginx 설정 등 서버 측 로그를 확인해 호스팅사에 문의하세요.

Q3: 미디어(이미지)만 404가 납니다. 어떻게 해결하나요?

A: 미디어 파일이 실제로 서버에 존재하는지, 업로드 디렉터리 경로가 올바른지 확인하세요. 파일 권한(읽기 권한)과 .htaccess로 인한 접근 제한 여부를 점검하고, CDN을 사용 중이면 CDN 캐시 무효화나 오리진 설정을 확인합니다.

마무리

워드프레스에서 404 오류는 원인이 다양하지만, 위의 순서대로 차근차근 점검하면 대부분의 문제를 해결할 수 있습니다. 먼저 간단한 점검(URL/캐시/퍼머링크)부터 시작하고, 필요하면 플러그인 비활성화·서버 로그 확인·호스팅사 문의로 확장하세요. 변경 전 백업과 스테이징 테스트를 잊지 마시기 바랍니다.

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다