Google AdSense를 설정하려면 ads.txt 파일을 루트 디렉터리에 올려야 한다. 하지만 PythonAnywhere + GoDaddy 조합에서는 ads.txt
가 정상적으로 인식되지 않는 문제가 발생한다.
AdSense에서 ads.txt
를 확인하려면 브라우저 또는 curl
명령어를 통해 접근할 수 있어야 한다. 하지만 PythonAnywhere와 GoDaddy를 함께 사용하면 ads.txt
가 정상적으로 제공되지 않는다.
PythonAnywhere에서는 기본적으로 CNAME 레코드만 제공하기 때문에, ads.txt
같은 정적 파일을 서빙할 수 없는 문제가 발생한다. 즉,
A 레코드
(IP 주소를 직접 가리킴)가 없고CNAME 레코드
만 있어서 도메인이 PythonAnywhere의 서브도메인으로 리디렉트됨이 경우, PythonAnywhere의 서버에서 정적 파일을 직접 서빙하지 않으면 ads.txt
에 접근할 수 없다.
처음에는 부족한 개념을 가지고 여러 방법을 시도했다. Django에서 non-www(또는 naked url)로 접근하면, www.로 리다이렉트하게 했다. 그러나 아무 동작을 하지 않았다. 나중에서야 깨달은건데 PythonAnywhere 자체에서 이미 기본 url(e.g. example.com/A 레코드)보다 하위 도메인(e.g. www.example.com/CNAME 레코드)만 지원하기 때문이었다.
배포사이트를 변경할까 싶었으나, 다른 배포 사이트들도 모두 비슷한 상황으로 보여졌고 구글링과 ChatGPT를 통해 클라우드플레어 업체로 바꾸기로 결심했다. 결론적으로 잘 해결되었고, 후기는 다른 글에서 작성하겠다.
@nullvuild