홈 / 블로그

URL·사이트 구조

404 오류 해결 방법, 구글은 둘만 고치라고 합니다

먼저 결론부터

  1. 404는 서버가 “그런 주소는 없다”고 바르게 답한 것입니다. 대부분 그대로 두셔도 됩니다.
  2. 고쳐야 할 404는 둘뿐입니다. 내가 링크를 걸어 둔 것과 사이트맵에 올린 것입니다.
  3. 진짜 문제는 따로 있습니다. 없는 페이지인데 정상이라고 답하는 쪽을 찾아 고치셔야 합니다.

404 오류란?

404는 요청한 주소에 해당하는 페이지가 없다고 서버가 답한 것입니다. 고장이 아니라 정해진 응답입니다. 주소를 잘못 눌렀거나, 있던 페이지를 지웠거나, 주소가 바뀐 경우에 나옵니다. 여기서는 404가 무엇인지와, 이 글을 계속 읽으셔야 하는 분이 누구인지를 먼저 가립니다.

서버가 “그런 주소는 없다”고 답한 것입니다

404는 서버가 돌려주는 상태 코드 가운데 하나입니다. 요청은 제대로 도착했는데 그 주소에 줄 것이 없다는 뜻입니다.

구글은 이것을 고칠 거리로 보지 않습니다. 삭제한 페이지에 대체할 것이 없다면 404를 돌려주는 것이 맞는 처리라고 적고 있습니다.1[1]구글 문서의 영어 원문입니다. “If it is a deleted page that has no replacement or equivalent, returning a 404 is the right thing to do.” 맞는 처리(the right thing to do)라고 적혀 있습니다. 같은 문단은 서치 콘솔 보고서에서 “The report should stop showing the 404 after about a month.”라고도 합니다. 한 달쯤 지나면 보고서에서도 사라진다는 뜻입니다. 이 글의 구글 인용은 모두 영어 원문 기준입니다. 한국어판은 기계 번역이라 뜻이 바뀐 자리가 있기 때문입니다.출처[1] Search Console 도움말 - 404 (Page Not Found) errors (영어 원문)

그냥 방문자라면 하실 일이 없습니다

남의 사이트를 보다가 404를 만나셨다면 고치실 방법이 없습니다. 주소에 오타가 없는지 보시고, 그 사이트의 검색창으로 찾아보시면 됩니다.

이 글은 사이트를 운영하는 분을 위한 것입니다. 서치 콘솔에 404가 쌓이는 것을 보고 무엇을 해야 할지 찾아오신 경우입니다. 아래는 전부 그쪽 이야기입니다.

고쳐야 하는 404

서치 콘솔에 404가 쌓이면 다 없애야 할 것 같습니다. 구글 생각은 다릅니다. 많은 404는 고칠 가치가 없다고 문서에 적어 두었기 때문입니다.2[2]구글 문서의 영어 원문입니다. “Many (most?) 404 errors are not worth fixing because 404s don’t harm your site’s indexing or ranking.” 괄호와 물음표가 원문에 그대로 있습니다. 구글 문서에서 보기 드문 표현이라, 그만큼 사람들이 404를 과하게 걱정한다는 뜻으로 읽힙니다. 같은 문단은 이어서 “If it is a submitted URL (an error), it is worth fixing.”이라고 적습니다.출처[1] Search Console 도움말 - 404 (Page Not Found) errors (영어 원문) 2024년에 시작 가이드에서 404 절을 들어내면서는 왜 뺐는지까지 적었습니다.3[3]2024년 2월 2일 구글 블로그의 문장입니다. “404 section: Because we really don’t care about 404 pages and site owners should just do whatever makes sense for their users.” 시작 가이드를 손보면서 어느 절을 왜 뺐는지 적은 목록에 들어 있습니다. 구글 문서가 이렇게 드러내 놓고 쓰는 자리는 드뭅니다. 같은 목록에서 브레드크럼 설정 안내도 “더 고급 주제”라는 이유로 함께 빠졌습니다.출처[8] Google 검색 센터 블로그 - The SEO Starter Guide gets a makeover (2024-02-02, 영어 원문) 여기서는 구글이 쓴 문장, 404와 크롤링 예산의 관계, 그래도 고쳐야 하는 404를 봅니다.

조건은 “원래 없어야 할 주소”입니다

구글이 무시해도 된다고 한 데에는 조건이 하나 붙습니다. 그 주소가 원래 없어야 하는 주소라고 확신할 때입니다.4[4]같은 문서의 첫 문장입니다. “In general, 404 errors won’t impact your site’s search performance, and you can safely ignore them if you’re certain that the URLs should not exist on your site.” 한국어판은 “should not exist”(존재해서는 안 되는)를 **“존재하지 않는다면”**으로 옮겨 조건의 뜻이 바뀌어 있습니다. 그래서 이 글은 영어 원문을 씁니다.출처[1] Search Console 도움말 - 404 (Page Not Found) errors (영어 원문)

뒤집으면 이렇습니다. 있어야 할 페이지가 404를 내고 있다면 그것은 고장입니다. 404 목록을 보실 때 먼저 가릴 것이 이것입니다.

404는 크롤링 예산을 쓰지 않습니다

404가 쌓이면 크롤링 예산을 까먹을까 걱정하게 됩니다. 구글은 그렇지 않다고 못 박습니다.5[5]구글 크롤링 문서의 “사실과 오해” 쪽 문장입니다. “Pages that serve 4xx HTTP status codes (except 429) don’t waste crawl budget.” 예외는 429 하나뿐인데, 429는 “요청이 너무 많다”는 뜻이라 구글이 서버 과부하 신호로 받습니다. 404와는 다른 이야기입니다. [3]출처[3] Google 크롤링 - Myths and facts about crawling (영어 원문)[5] Google 크롤링 - How HTTP status codes affect Google crawlers (영어 원문)

오히려 반대입니다. 404는 그 주소를 다시 크롤링하지 말라는 강한 신호로 쓰입니다.6[6]크롤링 예산 문서의 문장입니다. “Google won’t forget a URL that it knows about, but a 404 status code is a strong signal not to crawl that URL again.” 같은 문단은 robots.txt로 막는 경우와 견주는데, 막힌 주소는 “will stay part of your crawl queue much longer”라고 적습니다. 지울 페이지라면 막는 것보다 404를 돌려주는 쪽이 낫다는 뜻입니다.출처[4] Google 크롤링 - Optimize your crawl budget (영어 원문) 지운 페이지에 404를 돌려주면 구글이 발길을 끊는 것입니다.

고쳐야 할 404는 둘뿐입니다

그렇다고 전부 두라는 말은 아닙니다. 구글이 고치라고 꼽는 것은 내가 스스로 링크를 걸어 둔 404와 사이트맵에 올려 둔 404 둘입니다.7[7]서치 콘솔 페이지 색인 생성 보고서의 문장입니다. “In general, we recommend fixing only 404 errors that you link to yourself or list in a sitemap. If a page has been moved, you should return a 3XX redirect to the new page.” 한국어판은 이 대목을 “직접 연결되거나”로 옮겨 누가 연결했는지(you)가 빠져 있습니다.출처[2] Search Console 도움말 - Page indexing report (영어 원문) 둘 다 없는 페이지를 내 손으로 가리키고 있는 경우입니다.

반대로 남이 주소를 잘못 적어 생긴 404는 손댈 일이 아닙니다.

소프트 404란?

404가 괜찮다면 무엇이 문제인가. 소프트 404입니다. 없는 페이지인데 서버가 정상(200)이라고 답하는 경우입니다.8[8]구글 문서의 영어 원문입니다. “Returning a code other than 404 or 410 for a non-existent page (or redirecting users to another page, such as the homepage, instead of returning a 404) can be problematic. Such pages are called soft 404s, and can be confusing to both users and search engines.” 괄호 안을 보시면 없는 페이지를 홈으로 보내는 것도 소프트 404에 들어갑니다.출처[1] Search Console 도움말 - 404 (Page Not Found) errors (영어 원문) 화면에는 “페이지를 찾을 수 없습니다”라고 떠 있는데 서버는 괜찮다고 하는 것입니다. 여기서는 이것이 왜 문제인지와, 실제로 얼마나 흔한지를 봅니다.

브라우저에 “페이지를 찾을 수 없습니다”가 떠 있고, 아래 개발자 도구의 Status 칸에 404가 초록 네모로 표시되어 있다
없는 주소를 열었을 때 이렇게 나오면 정상입니다
같은 화면인데 개발자 도구의 Status 칸에만 200이 빨간 네모로 표시되어 있다
화면은 같은데 200이면 소프트 404입니다

소프트 404는 계속 크롤링됩니다

앞 칸에서 404는 크롤링 예산을 안 쓴다고 했습니다. 소프트 404는 반대입니다. 구글은 소프트 404가 계속 크롤링되면서 예산을 먹는다고 적습니다.9[9]구글 크롤링 예산 문서의 문장입니다. “Eliminate soft 404 errors. soft 404 pages will continue to be crawled, and waste your budget. Check the Page Indexing report for soft 404 errors.” 앞 칸에서 본 “4xx는 예산을 쓰지 않는다”와 나란히 놓고 보시면, 구글이 무엇을 문제로 보는지가 분명해집니다.출처[4] Google 크롤링 - Optimize your crawl budget (영어 원문) 서버가 정상이라고 답하니 멀쩡한 페이지가 있다고 보고 다시 찾아오는 것입니다.

404였다면 발길을 끊었을 주소입니다. 같은 사고를 두고 한쪽은 예산을 아끼고 한쪽은 까먹습니다.

687곳 중 111곳이 그랬습니다

얼마나 흔한지 저희가 직접 세어 봤습니다. 모아 둔 검색 결과 지면에서 도메인마다 한 곳씩 골라, 있을 리 없는 주소를 하나씩 요청했습니다.10[10]재는 방법은 이렇습니다. 저희가 다른 글을 쓰려고 모아 둔 한국어 검색 결과 지면에서 도메인마다 한 곳씩 700개를 골라, 각 사이트에 있을 리 없는 주소를 하나 요청했습니다(2026년 10월 4일). 리디렉션이 있으면 끝까지 따라가 최종 응답을 기록했습니다. 차단과 시간 초과를 뺀 687곳이 답했습니다. 한계가 있습니다. 표본이 검색 상위에 뜬 지면의 도메인이라 큰 사이트에 치우쳐 있고, 도메인 뿌리에 주소 하나만 넣어 봤으므로 사이트 안쪽은 다를 수 있습니다. 봇을 막는 곳은 403으로 답해 ‘그 밖’에 들어갔습니다.

서버가 돌려준 것곳비율
404·410 (제대로 된 처리)54579.3%
200 (소프트 404 의심)11116.2%
그 밖(403·500 등)314.5%

여섯 곳 중 한 곳꼴입니다. 그중 35곳은 화면에 “찾을 수 없다”는 말까지 띄워 놓고 서버만 정상이라고 답했습니다.11[11]200을 돌려준 111곳 가운데 받은 HTML에 “404”, “찾을 수 없”, “존재하지 않” 같은 말이 보인 곳이 35곳이었습니다. 나머지 76곳은 받은 HTML의 본문이 8자에서 130자뿐인 자바스크립트 앱이라, 화면을 그려 봐야 내용을 알 수 있습니다. 저희는 받은 HTML만 보았으므로 그 76곳이 소프트 404인지 아닌지는 가리지 않았습니다. 추측해서 숫자에 넣지 않았습니다. 나머지는 화면을 자바스크립트로 그리는 곳이라 저희 방법으로는 가릴 수 없었습니다.

네이버도 같은 것을 짚습니다

네이버 가이드에도 같은 당부가 있습니다. “페이지가 없습니다”라는 내용만 출력하고 200을 돌려주지 말라는 문장입니다.12[12]네이버 웹마스터 가이드의 문장입니다. “오류 페이지는 의미 있는 HTTP 응답 코드를 유지해 주세요. 404 오류 페이지는 404 Not Found HTTP response 하게 만들어 주세요. 오류 page로 redirect 하도록 하지 말아 주세요. “페이지가 없습니다”라는 내용만 출력하고 HTTP 200 OK return 하지 말아 주세요.” 다만 네이버 가이드에는 “소프트 404”나 “410”이라는 말 자체가 나오지 않습니다.출처[7] 네이버 서치어드바이저 - 웹마스터 가이드

구글과 네이버가 같은 말을 하는 자리는 드뭅니다. 그만큼 흔한 사고라는 뜻으로 읽으시면 됩니다.

무엇을 없는 주소가 404나 410을 돌려주는지 확인합니다

안 하면 소프트 404가 되어 구글이 계속 찾아오고, 그만큼 새 글을 늦게 가져갑니다

확인 내 사이트 주소 뒤에 아무 글자나 붙여(예: 내도메인.com/abcd1234) 열고, 개발자 도구 네트워크 탭에서 첫 줄 상태 코드를 봅니다. 404나 410이면 정상입니다

안 되어 있다면 200이 뜨면 서버나 쓰시는 도구의 오류 페이지 설정을 고쳐 404를 돌려주게 합니다. 화면 문구만 바꾸는 것으로는 해결되지 않습니다

언제 301을 거나?

404를 없애는 가장 빠른 방법은 전부 홈으로 보내는 것입니다. 그래서 많이들 그렇게 합니다. 구글은 그것을 소프트 404로 봅니다.13[13]구글 문서의 영어 원문에서 홈으로 보내는 경우를 따로 짚습니다. “or redirecting users to another page, such as the homepage, instead of returning a 404” - 이것도 소프트 404라고 적혀 있습니다. 앞 칸에서 본 대로 소프트 404는 계속 크롤링되며 예산을 먹습니다. 404를 없애려다 더 나쁜 것을 만드는 셈입니다.출처[1] Search Console 도움말 - 404 (Page Not Found) errors (영어 원문) 여기서는 언제 301을 걸고 언제 404를 두는지, 그리고 410의 자리를 봅니다.

301은 옮긴 페이지에만 겁니다

구글이 가르는 기준은 간단합니다. 내용이 옮겨 갔으면 리디렉션을 걸고, 대체할 것 없이 지웠으면 404나 410을 돌려주라는 것입니다.14[14]구글 문서의 문장입니다. “If the content has moved, add a redirect. If you have permanently deleted content without intending to replace it with newer, related content, let the old URL return a 404 or 410.” 가르는 질문은 하나입니다. 그 내용이 다른 주소로 옮겨 갔는가. 옮겼으면 301, 없앴으면 404입니다.출처[1] Search Console 도움말 - 404 (Page Not Found) errors (영어 원문)

업계도 같은 말을 합니다. 저희가 읽은 24곳 가운데 18곳이 관련 있는 페이지로 301을 걸라고 했고, 8곳은 전부 홈으로 몰지 말라고 따로 적었습니다. 홈으로 보내라고 한 곳은 1곳이었습니다.15[15]저희가 404를 다룬 한국어 글 9곳과 영어 매체 15곳, 모두 24곳을 읽고 세었습니다(2026년 10월 기준). 관련 있는 페이지로 301을 걸라고 한 곳이 18곳, 모든 404를 홈이나 무관한 페이지로 일괄 301하지 말라고 따로 적은 곳이 8곳, 보낼 곳이 없으면 404로 두라고 한 곳이 6곳이었습니다. 홈으로 보내라고 한 곳은 1곳입니다.

301을 어떻게 거는지는 이어지는 글에서 다룹니다.

대응 페이지가 없으면 404가 맞습니다

보낼 곳이 마땅치 않을 때가 있습니다. 그때 억지로 비슷한 페이지를 찾아 보내지 않으셔도 됩니다. 구글은 대체할 것 없이 지운 페이지라면 404가 맞는 처리라고 적었습니다.16[16]구글 문서의 영어 원문입니다. “If it is a deleted page that has no replacement or equivalent, returning a 404 is the right thing to do.” 맞는 처리(the right thing to do)라고 적혀 있습니다. 억지로 보낼 곳을 만들지 않아도 된다는 뜻입니다.출처[1] Search Console 도움말 - 404 (Page Not Found) errors (영어 원문)

고객 입장에서도 그렇습니다. 찾던 글 대신 엉뚱한 페이지가 열리면 없어졌다는 사실조차 알 수 없습니다.

410은 영구 삭제를 밝히는 코드입니다

404와 410은 쓰임이 다릅니다. 규격에서 404는 없다는 것만 말하고 영구인지는 밝히지 않습니다. 410은 다시 돌아오지 않는다고 밝히는 코드입니다.17[17]HTTP 규격(RFC 9110)의 문장입니다. 404는 “A 404 status code does not indicate whether this lack of representation is temporary or permanent”이고, 410은 “indicates that access to the target resource is no longer available at the origin server and that this condition is likely to be permanent”입니다. 규격은 410을 쓰는 자리로 “limited-time, promotional services”처럼 기간이 정해진 것들을 듭니다.출처[6] IETF RFC 9110 - HTTP Semantics

다만 구글은 둘을 같게 다룹니다.18[18]구글 문서의 문장입니다. “Currently Google treats 410s (Gone) the same as 404s (Not found).” 크롤링 문서에도 “All 4xx errors, except 429, are treated the same”이라고 적혀 있습니다. Currently(현재로서는)라는 말이 붙어 있으니 언젠가 달라질 수는 있습니다. [1]출처[1] Search Console 도움말 - 404 (Page Not Found) errors (영어 원문)[5] Google 크롤링 - How HTTP status codes affect Google crawlers (영어 원문) 그러니 검색만 생각하신다면 가려 쓸 필요가 없습니다. 지운 글을 다시 올릴 생각이 없다는 것이 분명할 때만 410을 쓰시면 됩니다.

자주 묻는 질문

404 오류가 발생하는 이유는 무엇이며 어떻게 해결할 수 있나요?

주소를 잘못 눌렀거나, 있던 페이지를 지웠거나, 주소가 바뀐 경우에 납니다. 운영자시라면 대부분 그대로 두셔도 됩니다. 내가 링크를 걸어 둔 404와 사이트맵에 올린 404만 고치시면 됩니다.19[19]서치 콘솔 보고서의 문장입니다. “In general, we recommend fixing only 404 errors that you link to yourself or list in a sitemap.” 이 글 앞에서 본 대목과 같습니다.출처[2] Search Console 도움말 - Page indexing report (영어 원문)

웹 서버에서 404 오류가 발생하는 이유는 무엇이며 어떻게 해결할 수 있나요?

서버에 그 주소에 해당하는 파일이나 글이 없기 때문입니다. 고치실 것은 404 자체가 아니라, 없는 주소가 200을 돌려주고 있지 않은지입니다. 주소 뒤에 아무 글자나 붙여 열고 상태 코드를 확인해 보십시오.

구글에서 404 오류를 해결하는 방법은 무엇인가요?

서치 콘솔의 페이지 색인 생성 보고서에서 404 목록을 봅니다. 그중 내 사이트가 가리키고 있는 주소만 골라 링크를 고치거나 301을 겁니다. 나머지는 한 달쯤 지나면 보고서에서 사라집니다.20[20]구글 문서의 문장입니다. “The report should stop showing the 404 after about a month.” 보고서에서 숫자가 줄기를 기다리는 것이 할 일의 전부인 경우가 많습니다.출처[1] Search Console 도움말 - 404 (Page Not Found) errors (영어 원문)

더 볼 것

지운 페이지를 어디로 보낼지는 301 리다이렉트에서, 주소를 통째로 옮기는 일은 홈페이지 이전에서 다룹니다.