정의
소프트 404(Soft 404)은(는) 페이지가 없는데 서버가 200 OK로 응답하는 상태입니다. 사람 눈에는 "찾을 수 없습니다" 화면이 보이지만 검색엔진은 정상 페이지로 받아들여 색인에 넣으려 하고, 결과적으로 빈 페이지가 색인되거나 크롤 예산이 낭비됩니다.
더 설명하면
없는 페이지는 404 또는 410으로 응답해야 합니다. 200으로 응답하면서 본문만 "없음"이라고 쓰면 검색엔진은 그것을 내용이 빈약한 정상 페이지로 분류합니다.
자바스크립트로 화면을 그리는 사이트에서 특히 자주 생깁니다. 서버는 항상 200을 주고 클라이언트에서 "없음"을 그리기 때문입니다. 이 경우 서버가 상태 코드를 제대로 내도록 바꾸거나, 최소한 noindex를 붙여야 합니다.
실무에서 문제가 되는 순간
대량으로 생기는 곳이 정해져 있습니다. 쇼핑몰의 품절 상품, 부동산의 거래 완료 매물, 채용 사이트의 마감 공고처럼 항목이 사라지는 구조에서 처리 규칙 없이 운영하면 수백 개가 한꺼번에 쌓입니다. Search Console 색인 보고서에서 제외 사유가 소프트 404로 몰려 있으면 개별 페이지가 아니라 운영 규칙을 먼저 고쳐야 합니다.
자주 하는 오해
- 404를 내면 사용자 경험이 나쁘다고 생각해 200으로 돌려주는 경우가 있는데, 상태 코드와 화면은 별개입니다. 404를 내면서도 친절한 안내 화면을 보여줄 수 있습니다.
- 없는 페이지를 전부 홈으로 301하는 것도 소프트 404로 읽힙니다. 관련 없는 곳으로 보내는 리디렉션은 구글이 404와 같게 취급합니다.
확인하는 방법
- Search Console 색인 보고서에서 '소프트 404' 제외 사유를 확인합니다.
- 없는 주소를 하나 만들어 요청하고 응답 코드가 404인지 봅니다. 브라우저 화면이 아니라 응답 코드를 봐야 합니다.