AdSense 심사가 오래 걸릴 때 ads.txt는 가장 먼저 점검할 만한 항목 중 하나입니다. 작은 파일이지만, 사이트가 계정을 통해 광고를 판매할 수 있는지와 심사 도메인이 AdSense가 기대하는 방식으로 구성되어 있는지를 보여주는 신호이기 때문입니다.
그래서 ads.txt는 단순해 보이지만 실제로는 헷갈리기 쉽습니다. 파일 내용 자체는 짧아도, 어디에서 서빙되는지, 어떤 도메인에서 열리는지, 예전 배포가 남아 있는지, 게시자 값이 맞는지가 함께 얽히기 때문입니다.
이 글은 실전 순서에 집중합니다.
ads.txt가 어디에 있어야 하는지- AdSense용으로 무엇이 들어가야 하는지
- 배포 후 어떻게 확인해야 헷갈리지 않는지
짧게 말하면 ads.txt는 정확한 라이브 도메인의 루트에서 열려야 하고, 올바른 전체 게시자 ID를 포함해야 하며, AdSense가 심사하는 도메인과 실제 도메인이 같아야 합니다. 파일이 열린다고 해서 바로 문법 문제가 아니라고 단정할 수도 없습니다.
ads.txt는 어디에 있어야 할까
ads.txt는 도메인 루트에 있어야 합니다. 즉 아래 주소가 직접 열려야 합니다.
https://your-domain.com/ads.txt
/blog/ads.txt 같은 하위 경로는 도움이 되지 않습니다. 리뷰어나 크롤러가 메인 도메인 루트에서 바로 파일에 도달할 수 있어야 합니다.
이 부분은 프레임워크나 경로 기반 구조를 쓰는 블로그에서 특히 자주 헷갈립니다.
파일에 무엇이 들어가야 할까
AdSense에서는 게시자 ID가 올바른 형식으로 들어가 있어야 합니다.
google.com, ca-pub-...
잘못된 값을 넣거나, 다른 계정 값을 복사하거나, ca-pub- 접두어를 빼먹는 실수가 자주 나옵니다.
다른 부분이 다 맞아도 게시자 ID가 틀리면 파일이 존재하는 것처럼 보여도 실제로는 올바른 파일이 아닐 수 있습니다.
배포 후 가장 빠른 확인 순서
배포가 끝날 때마다 아래를 순서대로 확인하세요.
- 공개 도메인에서
/ads.txt가 열리는지 - 파일 안에 예상한 게시자 ID가 들어 있는지
- 리다이렉트 루프, 404, 대체 도메인 혼선이 없는지
- 라이브 도메인과 심사 도메인이 같은지
- 공개된 파일이 예전 캐시 버전이 아닌지
이 순서만 지켜도 피할 수 있는 심사 혼선을 많이 줄일 수 있습니다.
자주 나오는 실수
아래 문제는 정말 자주 나옵니다.
- 루트 도메인과
www를 헷갈림 - 하위 경로에 파일을 두고 루트로 착각함
- 게시자 ID를 잘못 넣음
- 예전 캐시 배포가 계속 열림
- 심사 도메인과 실제 광고 서빙 도메인이 다름
ads.txt 문제는 문법보다 도메인 정합성에서 더 자주 생깁니다.
라이브 도메인과 배포 구성이 아직 흔들리고 있다면 Cloudflare DNS 설정 가이드나 Vercel 배포 가이드를 함께 보는 것도 도움이 됩니다.
파일은 맞아 보이는데도 경고가 안 풀리는 이유
가끔은 ads.txt가 정상적으로 열리는데도 AdSense 경고가 남아 있습니다. 이때는 파일 내용 자체보다 타이밍, 캐시, 도메인 불일치가 원인인 경우가 많습니다.
아래를 확인해 보세요.
- 심사 사이트와 라이브 사이트가 정확히 같은지
- 경고 반영이 지연되는 중인지
- 예전 배포나 캐시가 여전히 보이는지
www와 non-www가 다르게 동작하지 않는지
그래서 “브라우저에서 열리긴 한다”는 것은 좋은 신호이지만, 그것만으로 충분하지 않을 때도 있습니다.
실전에서 잘 먹히는 확인 루틴
가장 빠르고 실용적인 확인 루틴은 이렇습니다.
- 공개
ads.txtURL을 직접 연다 - 전체
ca-pub-...값이 내 계정과 일치하는지 본다 - AdSense에 등록된 도메인과 방금 연 도메인이 같은지 본다
- 배포나 DNS 변경이 있었다면 안정화 뒤 다시 확인한다
단순하지만, 이 루틴만으로도 실제 ads.txt 문제의 상당수를 긴 심사 지연 전에 잡아낼 수 있습니다.
문제의 중심이 파일 내용이 아닐 가능성이 큰 경우
아래 조건이면 문제의 중심이 파일 문법일 가능성은 낮습니다.
- 파일이 도메인 루트에서 잘 열린다
- 게시자 ID가 실제 계정과 일치한다
- 텍스트 구조가 단순하고 올바르다
- 경고가 최근 변경 직후에만 나타났다
이럴 때는 라인 한 줄보다 타이밍, 캐시, 도메인 일관성이 다음 의심 대상입니다.
파일은 맞는데 AdSense가 계속 경고한다면, 다음 정확한 단계는 ads.txt 경고 해결 체크리스트입니다.
FAQ
Q. ads.txt 없이도 승인될 수 있나요?
경우에 따라 그럴 수는 있지만, 광고 인벤토리와 소유 확인, 심사 혼선을 줄이기 위해 미리 잡아두는 편이 안전합니다.
Q. 값에 ca-pub-를 꼭 포함해야 하나요?
네. AdSense가 기대하는 전체 게시자 ID를 그대로 써야 합니다.
Q. 반영됐는지 가장 빨리 확인하는 방법은 무엇인가요?
배포된 /ads.txt 주소를 직접 여는 것이 가장 빠른 첫 확인입니다. 다만 경고가 남아 있다면 도메인 일치와 캐시 상태도 같이 보세요.
Read Next
- AdSense 심사 자체가 아직 오래 걸리고 있다면 AdSense 사이트 심사 상태 확인 가이드를 함께 보세요.
- 경고가 계속 남아 있다면 ads.txt 경고 해결 체크리스트가 바로 다음 단계입니다.
Related Posts
심사 대기 중에는 광고 대신 관련 가이드를 먼저 보여줍니다.
먼저 읽어볼 가이드
검색 유입이 많은 핵심 글부터 이어서 보세요.
- 미들웨어 트러블슈팅 가이드: Redis vs RabbitMQ vs Kafka 개발자를 위한 미들웨어 트러블슈팅 허브 글입니다. Redis, RabbitMQ, Kafka 중 어떤 증상부터 먼저 봐야 하는지와 어떤 문제 패턴이 각 시스템에 가까운지 정리합니다.
- Kubernetes CrashLoopBackOff: 먼저 볼 것들 startup failure, probe, config, resource limit 관점에서 CrashLoopBackOff를 어떻게 나눠서 봐야 하는지 정리한 가이드입니다.
- Kafka consumer lag가 계속 늘 때: 트러블슈팅 가이드 Kafka consumer lag가 계속 늘어날 때 무엇부터 봐야 하는지 정리합니다. poll 주기, 처리 속도, rebalance, consumer 설정까지 실전 기준으로 다룹니다.
- Kafka Rebalancing Too Often 가이드 Kafka consumer group에서 rebalance가 너무 자주 일어날 때 membership flapping, poll timing, protocol, assignment churn을 어떤 순서로 봐야 하는지 설명하는 실전 가이드입니다.
- Docker container가 계속 재시작될 때: 먼저 확인할 것들 exit code, command failure, environment mistake, health check 관점에서 Docker restart loop를 푸는 실전 가이드입니다.
심사 대기 중에는 광고 대신 관련 가이드를 먼저 보여줍니다.