본문 바로가기

시사 여행이면 돼지

안정적 광고수익을 위한 티스토리 블로그에 ads.txt 연결하는 방법 (Cloudflare + Workers 활용)

728x90
반응형

Google AdSense 수익을 제대로 받기 위해서는 ads.txt 파일을 루트 도메인에 정확히 설정해야 합니다. 하지만 티스토리는 자체적으로 ads.txt를 설정할 수 없기 때문에 개인 도메인을 구매하고 Cloudflare를 활용해 직접 연결하는 방법을 소개합니다.

    • 티스토리 블로그에 ads.txt 연결하는 가장 쉬운 방법
    • Cloudflare로 티스토리 광고 수익 최적화하기
    • 티스토리 + 개인 도메인으로 Google AdSense 완벽 설정
    • ads.txt 직접 연결해서 티스토리 수익화 성공한 후기
    • 티스토리 블로그 수익화: 도메인 + Cloudflare + Workers 실전 가이드

ads.txt

1️⃣ ads.txt 연결이 필요한 이유

Google AdSense는 광고 투명성과 인증을 위해 사이트 루트에 ads.txt 파일을 요구합니다.

하지만 티스토리는 자체적으로 ads.txt를 설정할 수 없기 때문에 개인 도메인을 구매해 티스토리 블로그에 연결하고, Cloudflare Workers를 통해 ads.txt를 직접 응답하는 방식이 필요합니다.

⚠️ ads.txt 문제의 핵심

티스토리는 자체적으로 ads.txt 파일을 업로드할 수 없기 때문에, 외부 호스팅을 통해 파일을 노출시켜야 합니다.

 

🔹 무료 웹호스팅 서비스 이용 (닷홈, 000webhost 등) --- 시간낭비 실패 ㅠㅠ

  • 무료로 웹 공간을 제공받아 개인 도메인(example.com)/ads.txt 경로를 만들 수 있음
  • 도메인의 DNS를 해당 호스팅으로 연결하면 Google이 ads.txt를 감지 가능
  장점: 비용 없음, ads.txt만을 위한 최소한의 설정 가능 단점: 설정이 다소 번거롭고, 티스토리와 별도 관리 필요

💡 시행착오 : 닷홈 가입후 무료 호스팅 신청 과정에서 이메일 인증이 수차례 실패함 : 분명 복붙해서 여러 웹을 통해서 시도햇지만, 번번이 인증번호가 다르다는 메시지만 뜸 -- 수차례 시도후 포기함.

 

 

 

 

 

🔹 Cloudflare 무료 플랜 활용 - - - 좀 복잡했지만, 초보자도 성공

  • 도메인을 Cloudflare에 등록하면 무료 SSL + DNS 관리 + 웹 리디렉션 가능
  • Cloudflare의 Workers 또는 Pages 기능을 이용해 ads.txt 파일을 노출 가능
장점: 무료, 고성능, 보안 강화 단점: 기술적 설정이 조금 복잡함

 

🔍 왜 꼭 ca-pub(Google AdSense의 공식 퍼블리셔 ID 형식)여야 할까?

✅ ca-의 의미: Content AdSense

  • ca는 Content AdSense의 약자입니다.
  • 즉, 웹사이트 콘텐츠에 광고를 게재하는 퍼블리셔라는 뜻이에요.
  • Google은 광고 플랫폼을 여러 개 운영하는데, 각각의 퍼블리셔 ID 접두어가 다릅니다.

✅ ads.txt는 웹사이트 광고 거래 인증용

  • ads.txt는 웹사이트 도메인에서 광고를 판매할 수 있는 퍼블리셔를 명시하는 파일입니다.
  • Google AdSense에서 웹사이트 광고를 게재하려면 정확한 퍼블리셔 ID (ca-pub-xxxxxxxxxxxxxxxx)를 ads.txt에 등록해야 합니다.

✅ pub-만 쓰면 인증 실패

  • 일부 설정 화면에서는 pub-로 보일 수 있지만 ads.txt에서는 Google의 크롤러가 ca-pub- 형식만 인식합니다.
  • pub-만 쓰면 광고 수익이 제한되거나 광고가 아예 게재되지 않을 수 있어요.

✅ ads.txt는 공식 광고 거래 인증 파일

  • ads.txt는 Authorized Digital Sellers의 약자로 광고주가 신뢰할 수 있는 판매자만을 통해 광고를 구매하도록 돕는 표준입니다.
  • Google은 이 파일을 통해 “이 도메인에서 광고를 판매할 수 있는 퍼블리셔는 누구인가?”를 판단합니다.
  • 따라서 정확한 퍼블리셔 ID (ca-pub-)가 있어야만 인증이 완료됩니다.

💡 확인 팁 : ads.txt에는 반드시 아래처럼 작성해야 합니다. 저는 당초에는 "ca-"가 제외되 있었어요 ㅠㅠ




2️⃣ Cloudflare로 도메인 관리 시작하기

먼저, 도메인 등록 업체(예: 가비아, 닷홈 등)에서 개인 도메인(example.com) 을 구매합니다.

Cloudflare에 가입한 후, 가비아에서 구매한 도메인의 네임서버를 Cloudflare에서 제공한 값으로 변경했습니다.

Cloudflare 대시보드에서 도메인이 “활성화됨” 상태가 되면 DNS 레코드를 통해 티스토리 블로그와 연결합니다.

그 후, 네임서버를 Cloudflare로 변경해 Cloudflare 대시보드에서 도메인을 “활성화” 상태로 만듭니다.

이제 DNS 설정을 통해 티스토리 블로그와 연결하고 ads.txt를 직접 제어할 수 있는 준비가 완료됩니다.

 

 

 

 

3️⃣ Cloudflare Workers로 ads.txt 응답 만들기

Cloudflare의 Workers 기능을 사용하면 서버 없이도 JavaScript 코드를 실행해 특정 경로에 응답할 수 있습니다.

아래 코드를 사용하면 /ads.txt 경로에서 Google AdSense가 요구하는 텍스트를 반환할 수 있습니다:

export default {
  async fetch(request) {
    const url = new URL(request.url);
    if (url.pathname === "/ads.txt") {
      return new Response(
        "google.com, ca-pub-xxxxxxxxxxxxxxxx, DIRECT, f08c47fec0942fa0",
        {
          headers: { "Content-Type": "text/plain" },
        }
      );
    }
    return new Response("Not Found", { status: 404 });
  },
};

ca-pub-xxxxxxxxxxxxxxxx 부분은 본인의 Google AdSense 퍼블리셔 ID로 바꿔주세요.

Worker를 배포하면 your-worker-name.your-account.workers.dev 주소에서 ads.txt가 정상적으로 출력되는 것을 확인할 수 있습니다.

 

cloudflare, Workers 및 Pages

 

 

 

 

 

4️⃣ 도메인 경로(Route) 설정으로 연결 마무리

Worker가 잘 작동하더라도 개인 도메인(example.com/ads.txt) 경로에 연결되지 않으면 Google은 ads.txt를 인식하지 못합니다.

Cloudflare 대시보드에서 Workers → 설정 → 도메인 및 경로 섹션으로 이동해 아래처럼 경로를 추가합니다:

  • 도메인: example.com
  • 경로: /ads.txt
  • 연결할 Worker: 위에서 만든 Worker 선택
  • 실패 모드: 실패 시 열림(Fail Open) 추천

설정을 저장하면 브라우저에서 https://example.com/ads.txt를 열었을 때 ads.txt 내용이 정확히 출력됩니다.

cloudflare, Workers 코드 편집 루트

5️⃣ 마무리하며: 직접 연결한 보람

이 작업은 단순한 설정이 아니라 도메인, DNS, 티스토리, Cloudflare, JavaScript, 광고 코드까지 웹 인프라 전반을 배워가며 직접 설정하는 과정이었습니다.

중간에 오류도 많고 시행착오도 있었지만, 결국 원하는 결과를 얻었고 Google AdSense에서도 ads.txt를 정상적으로 인식하게 되었습니다.

이 글을 통해 다른 분들도 티스토리 블로그에 ads.txt를 좀더 쉽게 연결해 광고 수익을 안정적으로 받을 수 있기를 바랍니다.

✈️여행이면돼지 🐷의 시사(실용)여행은 계속됩니다. 감사합니다.

 

728x90
반응형