애드센스 ads.txt를 찾을 수 없음: HTTP 200보다 먼저 볼 것
Astro·Cloudflare Pages의 실제 사례로 ads.txt의 HTML 응답과 정상 텍스트를 구분하고 Google 감지까지 확인한 순서를 정리합니다.

애드센스에서 ads.txt가 ‘찾을 수 없음’으로 표시된다면, 먼저 /ads.txt가 홈페이지 HTML이 아닌 계정의 ads.txt 텍스트를 반환하는지 확인해야 합니다. 사이트 승인 상태와 파일 감지 상태는 별개입니다. 이 글은 2026년 10월 17일 AI 도구와 함께 사이트를 점검하며 확인한 사례입니다.
1. HTTP 200보다 응답 내용을 먼저 확인합니다
먼저 본인 도메인 뒤에 /ads.txt를 붙여 열어봅니다. Google 공식 안내도 루트 주소에서 파일 내용을 확인하도록 설명합니다. 페이지가 열린다는 사실만으로는 충분하지 않습니다.
이번 사례는 GitHub에 연결한 Cloudflare Pages의 Astro 정적 사이트였습니다. 루트의 ads.txt가 없었는데도 해당 주소는 HTTP 200으로 홈페이지 HTML을 돌려줬습니다. 당시 기록에서는 없는 경로에 홈 화면을 대신 보여주는 fallback 응답을 확인했습니다. Cloudflare Pages 공식 문서에 따르면 최상위 404.html이 없을 때 일치하는 정적 자산이 없는 경로에 루트 페이지를 제공하는 기본 SPA 동작이 있습니다. 다만 이번 응답을 만든 설정 원인까지 독립적으로 검증한 것은 아닙니다. 이는 이번 사이트에서 확인한 동작이지, 모든 Astro 사이트나 Cloudflare Pages의 공통 원인이라는 뜻은 아닙니다.
/ads.txt를 연 뒤 개발자 도구의 네트워크 탭에서 새로고침하고 해당 요청을 선택합니다. 응답 본문이 HTML인지 확인하고, 헤더의 Content-Type도 함께 봅니다. 홈 화면이나 HTML이 나온다면, 정상적인 ads.txt 텍스트가 제공되는지부터 점검할 차례입니다.
2. 계정에서 제공한 한 줄을 올립니다
이번에는 프로젝트의 public/ads.txt에 애드센스 계정이 제공한 한 줄을 추가했습니다. 아래는 실제 게시자 ID를 가린 형식 예시입니다.
google.com, pub-본인게시자ID, DIRECT, f08c47fec0942fa0
이 예시를 그대로 올리지 말고 본인 계정의 ads.txt 스니펫을 복사해야 합니다. 이미 다른 광고 네트워크의 항목이 있다면 기존 내용을 확인하고 필요한 줄을 추가합니다. Google이 요구하는 공개 위치는 도메인 루트의 /ads.txt입니다. 소스 파일을 두는 위치나 설정 메뉴는 CMS·호스팅마다 다르므로 public/ads.txt를 모든 환경에 적용하면 안 됩니다.
빌드·배포 뒤에는 AI 도구로 소스 파일이 아니라 실제 서비스 주소를 다시 확인했습니다. 이번 응답은 HTTP 200, Content-Type은 text/plain; charset=utf-8이었고, 본문이 계정에서 제공한 정확한 한 줄과 일치했습니다.
3. 애드센스에서 ‘업데이트 확인’을 누릅니다
파일이 정상적으로 제공되면 애드센스의 ‘사이트’에서 해당 사이트를 열고 ‘업데이트 확인’을 누릅니다. 이번에는 ‘Ads.txt 파일 찾음 / ads.txt 파일에서 게시자 ID를 찾았습니다’라는 안내가 나와 감지된 것을 확인했습니다.
다만 모든 사이트에서 즉시 반영된다고 보장할 수는 없습니다. Google은 자동 확인에 며칠이 걸릴 수 있고, 광고 요청이 적으면 최대 한 달이 걸릴 수도 있다고 안내합니다. 파일 자체가 없는지, 게시자 ID가 틀렸는지, 정상 제공되지만 아직 반영되지 않았는지를 구분해 점검하세요.
파일 감지와 광고 노출은 별개입니다
ads.txt는 광고 판매자 정보를 알리는 파일이며, adsbygoogle 광고 코드와는 별개입니다. 파일만 추가한다고 광고가 생기지는 않습니다. 이번 작업에서 확인한 범위는 파일 제공과 Google의 게시자 ID 감지까지입니다. 실제 광고 노출이나 수익 상승은 아직 확인하지 않았습니다.
공식 참고 자료
조회일: 2026-10-17
관련 후속글 주제: ads.txt가 감지된 뒤에도 광고가 보이지 않을 때 확인할 광고 코드와 사이트 상태.