없는 주소에 200을 돌려주면 무엇이 문제인가?

최종 수정 2026-09-14 · 지니어스코리아

크롤러 입장에서 그 사이트는 "아무 주소나 물어도 정상이라고 답하는 사이트"가 된다. 어떤 주소가 진짜인지 판단할 근거가 사라진다.

왜 이런 일이 생기나?

화면 전환을 앞단에서 처리하는 구조 때문이다. 주소마다 서버가 다른 문서를 주는 대신, 모든 주소에 같은 문서를 주고 화면 전환은 브라우저에서 처리하는 구조가 흔하다. 이 경우 서버는 오타 난 주소에도 같은 문서를 정상 코드로 돌려준다. 사람 눈에는 "없는 페이지" 화면이 보이지만 크롤러가 받는 코드는 정상이다.

무엇이 문제가 되나?

신호가 오염된다. 크롤러는 응답 코드로 그 주소의 존재 여부를 판단한다. 전부 정상이라고 답하면 존재하지 않는 주소까지 목록에 남고, 내용이 같은 문서가 여러 주소로 중복된다. 사이트맵에 없는 파일을 요청했는데도 정상 응답이 오는 상태는 특히 좋지 않다.

내 사이트는 어떻게 확인하나?

아무 주소나 쳐 보면 된다. 존재하지 않는 경로를 주소창에 넣고 개발자 도구의 네트워크 탭에서 응답 코드를 본다. 화면에 무엇이 보이는지가 아니라 코드가 무엇인지를 봐야 한다. 파일 확장자가 붙은 주소도 함께 시험해 보는 편이 좋다.

어떻게 고치나?

문서형 경로와 파일형 경로를 갈라 처리한다. 화면 전환에 쓰이는 경로에는 기존처럼 문서를 주되, 확장자가 붙은 파일형 경로에는 없으면 없다고 응답하도록 서버에서 갈라 준다. 정의되지 않은 API 경로도 같은 방식으로 끊는다. 서버 설정 몇 줄이면 되는 일이다.

어디까지 고칠 것인가

모든 오타 주소를 챙길 필요는 없다. 존재하지 않는 파일형 경로와 정의되지 않은 API 경로 두 가지만 끊어도 대부분 정리된다. 고친 뒤에는 실제로 404가 나가는지 로그에서 확인한다. 고쳤다고 생각했는데 캐시나 CDN 단계에서 여전히 200이 나가는 경우가 있다.

정리하면?

없는 주소에 없다고 답하는 것은 기본 예의에 가깝다. 크롤러에게 주는 신호를 정직하게 유지하는 데 드는 비용이 가장 싼 항목이기도 하다.