404 에러는 브라우저가 요청한 주소의 페이지를 서버가 찾지 못했을 때 돌려주는 HTTP 응답 코드다. 서버는 살아 있지만 그 주소에 해당하는 문서가 없다는 뜻이다.
표준 문서의 정의는 더 좁다. 404는 원 서버가 해당 리소스의 현재 표현을 찾지 못했거나, 존재 여부를 밝히지 않으려 할 때 쓰는 코드다 (RFC 9110, 15.5.5. 404 Not Found).
화면에 뜨는 문구는 서버마다 다르다. “404 Not Found”, “페이지를 찾을 수 없습니다”, “HTTP 404”는 모두 같은 상태 코드를 가리킨다.
404로 이어지는 링크는 끊어진 링크 또는 데드 링크라고 부른다 (MDN, 404 Not Found).
주소는 요청됐는데 그 주소에 문서가 없기 때문이다. 원인은 크게 네 갈래로 나뉜다.
세 번째가 생각보다 흔하다. 퓨리서치센터 조사에서 2013년에 존재하던 웹페이지의 38%는 10년 뒤 접근할 수 없었고, 2013년부터 2023년 사이에 존재한 전체 웹페이지의 4분의 1이 사라졌다 (Pew Research Center, When Online Content Disappears).
링크가 얼마나 빨리 썩는지는 참고 문헌이 많은 문서에서 잘 드러난다. 같은 조사에서 위키백과 문서의 54%는 참고 문헌 항목 중 하나 이상이 사라진 페이지를 가리키고 있었다.
내 쪽에서 고칠 수 있는 것은 주소뿐이다. 순서대로 세 가지만 해보면 대개 판별이 끝난다.
example.com/a/b/c가 404면 example.com/a/b, example.com/a 순으로 올라가 목록 페이지를 찾는다.셋 다 실패하면 문서가 실제로 사라진 것이다. 이 경우 웹 아카이브 같은 보존 서비스에 남은 사본을 찾는 편이 빠르다.
새로고침이나 캐시 삭제는 404에서는 거의 도움이 되지 않는다. 404는 연결 실패가 아니라 서버가 정상적으로 응답한 결과이기 때문이다.
전부 고치려 들지 않는 것이 먼저다. 구글은 많은, 어쩌면 대부분의 404 오류는 해결할 필요가 없다고 명시한다 (Search Console 도움말, 404(페이지를 찾을 수 없음) 오류).
판단 기준은 그 주소가 원래 내 사이트에 있었는지다. 처리 순서는 다음과 같다.
하지 말아야 할 것도 분명하다. 구글은 가짜 콘텐츠를 만들거나, 홈페이지로 리디렉션하거나, robots.txt로 404를 차단하지 말라고 적었다.
그렇게 하면 구글이 사이트 구조를 파악하기 어려워진다는 것이 이유다.
404 페이지 자체는 손볼 가치가 있다. 많은 사이트가 검색창과 주요 메뉴를 넣은 맞춤 404 페이지를 두는데, 아파치라면 .htaccess에 ErrorDocument 404 /notfound.html 한 줄로 지정한다 (MDN, 404 Not Found).
셋 다 “이 페이지 없음”을 뜻하지만 서버가 말하는 방식이 다르다.
| 구분 | 서버가 보내는 상태 코드 | 의미 | 쓰는 상황 |
|---|---|---|---|
| 404 | 404 | 지금은 찾을 수 없음 | 삭제, 오타, 이동 등 대부분의 경우 |
| 410 | 410 | 영구히 사라짐 | 다시 만들 생각이 없는 문서 |
| soft 404 | 200 등 | 없는데 있다고 응답 | 잘못된 설정, 홈으로 보내는 리디렉션 |
표준은 영구 삭제에 410을 권한다. 서버가 그 상태가 지속될 것을 안다면 404보다 410이 낫다는 것이 RFC의 표현이다 (RFC 9110, 15.5.5. 404 Not Found).
다만 구글 기준으로는 실익이 크지 않다. 구글은 현재 410을 404와 똑같이 취급한다고 밝히고 있다 (Search Console 도움말, 404(페이지를 찾을 수 없음) 오류).
문제는 soft 404다. 없는 페이지인데 200을 반환하면서 오류 문구나 빈 화면을 보여주면 서치 콘솔에 soft 404로 잡힌다 (구글 검색 센터, HTTP 상태 코드가 Google 검색에 미치는 영향).
사용자와 검색엔진 모두를 헷갈리게 하는 것이 soft 404의 본질이다. 없으면 없다고 말하는 편이 낫다.
떨어뜨리지 않는다. 구글은 404 오류가 사이트의 색인 생성이나 순위에 영향을 미치지 않는다고 문서에 직접 적어 두었다 (Search Console 도움말, 404(페이지를 찾을 수 없음) 오류).
다만 그 URL 자체는 색인에서 빠진다. 구글은 4xx를 반환하는 URL의 색인을 생성하지 않고, 이미 색인된 URL이 4xx가 되면 색인에서 삭제한다 (구글 검색 센터, HTTP 상태 코드가 Google 검색에 미치는 영향).
크롤링 예산 걱정도 과장된 편이다. 같은 문서에 따르면 429를 제외한 4xx 상태 코드는 크롤링 속도에 영향을 주지 않고, 404가 된 주소는 크롤링 빈도가 서서히 줄어들 뿐이다.
진짜 손실은 다른 데 있다. 삭제된 페이지로 향하던 백링크의 가치와 그 페이지로 들어오던 방문자를 함께 잃는다.
그래서 우선순위는 분명하다. 외부에서 링크가 걸려 있거나 유입이 있던 주소만 골라 리디렉션하고, 나머지는 구글 서치 콘솔 보고서에서 확인만 하고 넘어간다.
404 오류는 무엇을 의미하나요? 서버는 정상인데 요청한 주소에 해당하는 페이지가 없다는 뜻입니다. 접속 자체가 실패한 상태와는 다릅니다.
404 오류가 발생하는 원인은 무엇인가요? 주소 오타, 페이지 삭제나 이동, 외부에 남아 있는 옛 링크, 서버 설정 문제가 대표적입니다.
404 에러를 해결하는 방법은 무엇인가요? 방문자라면 주소를 확인하고 상위 경로로 올라가거나 사이트 내 검색을 씁니다. 운영자라면 이동한 문서만 리디렉션하고, 실제로 없는 문서는 404를 그대로 반환합니다.
404 오류가 발생하는 이유는 무엇인가요? 문서가 지워졌거나 옮겨졌는데 옛 주소가 그대로 남아 있는 경우가 가장 많습니다. 외부 사이트에 걸린 링크는 대상이 사라져도 계속 남습니다.
서치폴라리스가 AI 검색 가시성을 진단하고 GEO 실행까지 대행합니다.