답답함은 이제 그만—ads.txt 404 오류, 여기서 끝내십시오
구글 애드센스 대시보드에 떠 있는 “수익 손실 위험 – 일부 ads.txt 파일 문제를 해결해야 합니다”라는 경고 메시지는 많은 웹사이트 운영자에게 큰 스트레스를 줍니다. 이 경고를 확인하기 위해 yourdomain.com/ads.txt에 접속했을 때 마주하는 ‘404 Not Found’ 오류 페이지는 문제를 더욱 복잡하게 만듭니다.
특히 강력한 성능과 유연성을 자랑하는 클라우드웨이즈(Cloudways) 호스팅 환경에서는 이 문제가 더욱 까다롭게 느껴질 수 있습니다.
이 가이드는 기존의 문제 해결 방식과는 다른 접근법을 취합니다. 기본적인 정보로 시간을 낭비하는 대신, 클라우드웨이즈 환경에서 ads.txt 404 오류를 일으키는 가장 핵심적이고 빈번한 원인, 즉 SFTP 접속 설정 오류부터 바로 해결해 나갈 것입니다.
이 가이드의 목표는 명확합니다. 첫 5분 안에 90% 이상의 사용자가 겪는 문제를 해결하는 것입니다. 먼저, 가장 중요한 접속 문제를 해결하고, 파일의 정확한 위치를 확인한 뒤, 캐시와 같은 고급 문제들을 단계적으로 다룰 것입니다.
ads.txt 파일 생성과 같은 기초적인 내용은 가장 마지막에 배치하여, 이미 파일을 준비한 사용자들이 즉시 문제 해결에 집중할 수 있도록 구성했습니다. 이 가이드를 통해 ads.txt 문제로 인한 수익 손실 위험을 완전히 제거하고, 안정적인 광고 수익을 확보하는 길을 안내할 것입니다.

1부: 즉각적인 해결책: 포트 22 SFTP 접속 마스터하기
1.1: ‘포트 22’의 발견: 가장 빠른 문제 해결 경로
ads.txt 404 오류의 원인은 파일이나 서버의 복잡한 설정이 아닐 가능성이 매우 높습니다. 대부분의 경우, 문제는 SFTP 클라이언트 프로그램의 간단하지만 치명적인 설정 오류에서 비롯됩니다. 클라우드웨이즈는 보안을 위해 표준 FTP(File Transfer Protocol)가 아닌 SFTP(Secure File Transfer Protocol)를 사용하며, 이는 포트 22를 통해 접속해야 합니다. 파일 질라에서 포트 번호를 22로 변경하세요.이걸 찾느냐고 몇시간을 헤메었는지 ㅠㅜ.
많은 사용자들이 과거 cPanel 기반 공유 호스팅 등에서 사용하던 일반 FTP(포트 21) 방식에 익숙해, 이 설정을 무심코 적용하면서 문제의 연쇄 반응이 시작됩니다. SFTP는 단순히 보안 계층이 추가된 FTP(FTPS)가 아니라, SSH(Secure Shell) 연결을 통해 파일 전송 명령을 터널링하는 완전히 다른 프로토콜입니다. 따라서 SSH와 동일한 포트인 22번을 사용하는 것은 당연한 이치입니다.
가장 널리 사용되는 파일질라(FileZilla)를 기준으로, 올바른 접속 설정 방법은 다음과 같습니다.
- 호스트(Host): 서버의 공개 IP 주소 앞에 반드시
sftp://프로토콜 접두사를 붙여 입력합니다. 예를 들어,sftp://123.45.67.89와 같이 입력해야 합니다. 이 접두사는 파일질라에게 SFTP 프로토콜을 사용하도록 명시적으로 지시하는 중요한 역할을 합니다. - 사용자명(Username): 클라우드웨이즈 대시보드에서 확인한 애플리케이션 또는 마스터 사용자명을 입력합니다.
- 비밀번호(Password): 해당 사용자명의 비밀번호를 입력합니다.
- 포트(Port):
22를 입력합니다. 이 부분이 가장 중요합니다. 절대로 비워두거나 습관적으로21을 입력해서는 안 됩니다.
이러한 설정 차이는 사소해 보이지만, 클라우드웨이즈의 보안 중심 아키텍처를 이해하는 첫걸음입니다. 사용자가 포트 번호를 잘못 입력하면 서버와의 최초 핸드셰이크(handshake) 자체가 실패하게 되고, 파일 업로드는 시작조차 할 수 없습니다. 이로 인해 사용자는 접속 정보가 아닌 파일 위치나 서버 설정에 문제가 있다고 오판하여 불필요한 문제 해결에 시간을 낭비하게 됩니다.
표 1: SFTP 대 FTP: 클라우드웨이즈 접속 치트 시트
이 표는 두 프로토콜의 핵심적인 차이점을 시각적으로 명확하게 보여주어, 접속 실패의 가장 흔한 원인을 한눈에 파악하고 방지할 수 있도록 돕습니다.
| 기능 | SFTP (Secure File Transfer Protocol) | FTP (File Transfer Protocol) |
| 프로토콜 접두사 | sftp:// | ftp:// |
| 기본 포트 | 22 (클라우드웨이즈 필수) | 21 |
| 보안 | 암호화된 연결 (안전) | 암호화되지 않음 (비보안) |
| 클라우드웨이즈 방식 | 올바르고 지원됨 | 잘못되었으며 실패함 |
1.2: 클라우드웨이즈 접속 정보 찾기: 단계별 가이드
올바른 포트 번호를 알았으니, 이제 접속에 필요한 정확한 ‘열쇠’를 찾는 방법을 알아보겠습니다. 클라우드웨이즈는 보안 강화를 위해 접속 정보를 체계적으로 관리하며, 사용자는 이 구조를 이해해야 합니다.
단계별 접속 정보 확인 방법:
- 클라우드웨이즈 플랫폼에 로그인합니다.
- 상단 메뉴에서 Servers로 이동합니다.
ads.txt파일을 업로드할 애플리케이션이 위치한 서버를 선택합니다.- 왼쪽 메뉴의 Server Management 아래에서 Master Credentials를 클릭합니다. 이곳에서 서버의 Public IP, 마스터 Username, 그리고 Password를 확인할 수 있습니다.
마스터(Master)와 애플리케이션(Application) 접속 정보의 차이점:
클라우드웨이즈는 두 가지 유형의 접속 정보를 제공하며, 그 차이를 이해하는 것은 보안의 기본입니다.
- 마스터 접속 정보: 해당 서버에 있는 모든 애플리케이션에 대한 최상위(root-level) 접근 권한을 가집니다. 강력한 권한을 가진 만큼, 신중하게 사용해야 합니다.
- 애플리케이션 접속 정보: 특정 애플리케이션의 폴더에만 접근이 제한됩니다. 이는 ‘최소 권한의 원칙’을 따르는 매우 안전한 방식입니다.
ads.txt 파일 업로드와 같은 특정 작업을 위해서는 애플리케이션 접속 정보를 생성하여 사용하는 것을 강력히 권장합니다. 이는 외부 개발자와 협업하거나 작업 범위를 명확히 제한해야 할 때 특히 유용합니다. 애플리케이션 접속 정보는 Applications 메뉴에서 해당 앱을 선택한 뒤, Access Details 탭의 SFTP/SSH 섹션에서 ‘Add SFTP User’를 통해 손쉽게 생성할 수 있습니다.
최종 보안 관문: IP 화이트리스트 등록
클라우드웨이즈의 강화된 보안 체계는 또 하나의 중요한 단계를 요구합니다. 바로 SFTP 접속을 시도하는 컴퓨터의 IP 주소를 서버의 허용 목록(화이트리스트)에 등록하는 것입니다. 이 과정이 누락되면 올바른 접속 정보와 포트 번호를 입력하더라도 서버는 연결을 거부합니다.
IP 등록 방법은 다음과 같습니다. 클라우드웨이즈 플랫폼에서 Server Management > Security > Shell Access 탭으로 이동합니다. ‘Add IP’ 버튼을 클릭하여 현재 사용 중인 컴퓨터의 IP 주소를 목록에 추가하고 저장합니다. 이 단계는 많은 사용자들이 간과하는 부분이지만, 클라우드웨이즈의 전문적이고 안전한 호스팅 환경을 활용하기 위한 필수적인 절차입니다.

2부: 정확한 배치와 검증
성공적으로 서버에 접속했다면, 이제 ads.txt 파일을 유일하게 올바른 위치에 배치하고, 그 결과가 정상적으로 반영되었는지 확인하는 단계로 넘어갑니다. 이 과정에서의 정확성은 문제 해결의 성패를 좌우합니다.
2.1: 루트 디렉토리 탐색: public_html에 ads.txt 업로드하기
클라우드웨이즈에서 ‘루트 디렉토리’는 일반적인 공유 호스팅 환경과는 다른 특정 경로를 가리킵니다. ads.txt 파일을 이 정확한 위치에 업로드하지 않으면, 구글 크롤러는 파일을 찾지 못하고 404 오류가 발생합니다.
클라우드웨이즈의 디렉토리 구조 이해하기:
포트 22를 통해 SFTP로 성공적으로 접속하면, 여러 폴더 목록이 나타납니다. 웹사이트 파일이 위치한 경로는 항상 /applications 디렉토리에서 시작합니다.
/applications디렉토리 안에는 각 애플리케이션(웹사이트)마다 시스템이 자동으로 생성한 고유한 이름의 폴더가 존재합니다 (예:mamxbvhtce). 이는 클라우드웨이즈가 단일 서버 내에서 여러 애플리케이션을 안전하게 격리하고 체계적으로 관리하기 위한 설계의 일부입니다.- 이 고유한 폴더 이름을 추측할 필요는 없습니다. 클라우드웨이즈 대시보드에서 Application Management > Application Settings로 이동하면 Folder 항목에 해당 이름이 명시되어 있습니다. 이 정보를 통해 정확한 경로를 확인할 수 있습니다.
- 최종 목적지는 바로
public_html폴더입니다. 이 폴더가 해당 애플리케이션의 웹에서 접근 가능한 루트 디렉토리입니다.
따라서, ads.txt 파일을 업로드해야 할 전체 경로는 다음과 같은 형식이 됩니다: /applications/mamxbvhtce/public_html/
파일 업로드 절차:
파일질라와 같은 SFTP 클라이언트를 사용하여 다음 단계를 따릅니다.
- 화면의 ‘리모트 사이트(Remote site)’ 패널에서 위에서 확인한 경로(
public_html폴더)로 이동합니다. - 화면의 ‘로컬 사이트(Local site)’ 패널에서 컴퓨터에 저장된
ads.txt파일을 찾습니다. - 로컬 패널의
ads.txt파일을 리모트 패널의public_html폴더 안으로 드래그 앤 드롭(drag and drop)하여 업로드를 완료합니다.

2.2: 결정적 순간: 성공적인 업로드 검증하기
파일질라의 업로드 성공 로그만 믿어서는 안 됩니다. 파일이 실제로 웹을 통해 공개적으로 접근 가능한지 직접 확인하는 과정이 반드시 필요합니다. 이 검증 단계는 구글 애드센스 크롤러가 수행하는 작업을 그대로 시뮬레이션하는 것과 같습니다. 브라우저에서 성공적으로 파일에 접근할 수 있다면, 구글 크롤러 역시 성공적으로 접근할 가능성이 매우 높습니다.
https://support.google.com/adsense/thread/
최종 검증 테스트:
- 브라우저 캐시의 영향을 피하기 위해, 새 시크릿 모드(Incognito/Private) 창을 엽니다.
- 주소창에
https://yourdomain.com/ads.txt를 입력합니다. (yourdomain.com은 실제 도메인 주소로 변경합니다.) - 성공 시: 브라우저 화면에
ads.txt파일의 내용(예:google.com, pub-xxxxxxxxxxxxxxxx, DIRECT,...)이 일반 텍스트 형태로 표시됩니다. 이는 파일이 올바른 위치에 성공적으로 업로드되었음을 의미합니다. - 실패 시: 여전히 ‘404 Not Found’ 오류 페이지나 웹사이트의 맞춤 404 페이지가 나타납니다. 이 경우, 문제는 접속이나 파일 위치가 아닌 다른 곳에 있으므로, 다음 3부의 고급 문제 해결 단계로 넘어가야 합니다.
3부: 지속적인 404 오류를 위한 고급 문제 해결
만약 1부와 2부의 단계를 모두 정확히 따랐음에도 불구하고 여전히 yourdomain.com/ads.txt에서 404 오류가 발생한다면, 문제는 클라우드웨이즈의 강력한 캐싱 시스템에 있을 가능성이 높습니다. 파일은 올바른 위치에 존재하지만, 캐시가 그 사실을 인지하지 못하고 이전의 ‘파일 없음’ 상태를 계속해서 보여주는 것입니다.
3.1: 캐싱의 딜레마: Varnish와 워드프레스 플러그인 제어하기
클라우드웨이즈는 웹사이트 성능을 극대화하기 위해 여러 계층의 캐싱을 사용합니다. 대표적으로 서버 레벨의 Varnish 캐시와 애플리케이션 레벨의 Breeze 플러그인(또는 WP Rocket과 같은 다른 캐싱 플러그인)이 있습니다. ads.txt 파일 업로드 후 404 오류가 지속되는 현상은, 이 캐싱 시스템이 파일이 업로드되기 전의 ‘404 Not Found’ 상태를 저장(캐싱)해두었다가, 새로운 요청에도 불구하고 이 낡은 정보를 계속해서 제공하기 때문에 발생합니다. 따라서 캐시에게 ads.txt 파일은 예외적으로 처리하도록 명시적으로 지시해야 합니다.
해결책 1: Varnish 캐시 퍼지 (빠른 시도)
가장 먼저 시도해 볼 수 있는 간단한 방법은 Varnish 캐시 전체를 비우는 것입니다.
- 클라우드웨이즈 대시보드에서 Server Management > Manage Services로 이동합니다.
- 서비스 목록 중 Varnish 항목 옆의 Purge 버튼을 클릭합니다.
- 다시 시크릿 모드 브라우저에서
https://yourdomain.com/ads.txt에 접속하여 문제가 해결되었는지 확인합니다. 여전히 404 오류가 나타난다면, 더 확실한 해결책이 필요합니다.
해결책 2: Varnish 제외 규칙 추가 (영구적인 해결책)
Varnish 캐시가 ads.txt 파일을 아예 캐싱하지 않도록 영구적인 규칙을 설정하는 것이 가장 확실한 방법입니다.
- 클라우드웨이즈 대시보드에서 Application Management > Application Settings > Varnish Settings 탭으로 이동합니다.
- Add New Exclusion 버튼을 클릭합니다.
- Type: 드롭다운 메뉴에서
URL을 선택합니다. - Value: 입력란에
/ads.txt를 정확히 입력합니다. - Save 버튼을 클릭하여 규칙을 저장합니다. 이 설정은 Varnish에게
/ads.txt경로로 들어오는 모든 요청을 캐시에서 처리하지 말고, 항상 서버에서 직접 파일을 가져와 제공하도록 지시합니다.
해결책 3: 워드프레스 캐싱 플러그인 설정
서버 레벨의 Varnish 캐시뿐만 아니라, 워드프레스 내부에서 동작하는 캐싱 플러그인도 예외 처리가 필요합니다.
- Breeze 플러그인 사용 시: 워드프레스 관리자 페이지에서 설정 > Breeze > 고급 설정으로 이동합니다. ‘캐시하지 않을 URL’ 입력란에 새 줄을 추가하여
/ads.txt를 입력하고 저장합니다. - WP Rocket 등 다른 플러그인 사용 시: 해당 플러그인의 설정 메뉴에서 ‘고급 규칙(Advanced Rules)’이나 ‘캐시 제외(Never Cache URLs)’와 같은 유사한 옵션을 찾아 동일하게
/ads.txt경로를 추가합니다.

3.2: 최종 점검: 권한, 고유 주소, 그리고 .htaccess
캐싱 문제가 원인이 아니었다면, 보다 드물게 발생하는 몇 가지 다른 기술적인 원인을 점검해 보아야 합니다.
- 파일 권한: 웹 서버가
ads.txt파일을 읽을 수 있는 적절한 권한을 가지고 있지 않으면 404 오류가 발생할 수 있습니다. 클라우드웨이즈는 이 문제를 클릭 한 번으로 해결할 수 있는 간편한 기능을 제공합니다. Application Management > Application Settings > General 탭으로 이동하여 Reset File/Folder Permissions 버튼을 클릭하면, 모든 파일과 폴더의 권한이 표준 값으로 재설정됩니다.
- 워드프레스 고유 주소(Permalinks): 때로는 워드프레스의 URL 재작성(rewriting) 규칙이 문제를 일으킬 수 있습니다. 이 규칙을 간단히 초기화하면 문제가 해결될 수 있습니다. 워드프레스 관리자 페이지에서 설정 > 고유 주소로 이동한 뒤, 아무것도 변경하지 않고 변경 사항 저장 버튼을 한 번 클릭합니다. 이 동작만으로도
.htaccess파일의 재작성 규칙이 새로고침되어 문제가 해결될 수 있습니다.
.htaccess파일 확인:.htaccess파일은 서버 동작을 제어하는 강력한 설정 파일로, 이 파일에 포함된 특정 규칙이 의도치 않게.txt파일에 대한 접근을 차단할 수 있습니다. SFTP를 통해public_html디렉토리에서.htaccess파일을 찾아 (숨김 파일일 수 있으므로 클라이언트 설정에서 숨김 파일 표시를 활성화해야 함) 내용을 확인합니다.deny from all과 같이 접근을 차단하는 규칙이나ads.txt파일에 영향을 줄 수 있는 비정상적인 재작성 규칙이 있는지 살펴봅니다. 수정 전에는 반드시 파일을 백업하는 것이 중요합니다.
4부: ads.txt 입문: 견고한 기초 다지기
이 마지막 섹션은 ads.txt 파일을 처음부터 만들거나, 현재 사용 중인 파일의 형식이 올바른지 확인해야 하는 사용자를 위해 마련되었습니다. 문제 해결의 모든 과정은 결국 정확하게 작성된 파일에서 시작되기 때문입니다.
4.1: 완벽한 ads.txt 파일 직접 만들기
ads.txt 파일의 내용은 구글이 요구하는 형식에 정확히 일치해야 합니다. 사소한 오타나 형식 오류만으로도 파일 전체가 무효화될 수 있습니다.
파일 생성하기:
- 메모장(Windows)이나 텍스트 편집기(Mac)와 같은 순수 텍스트 편집기만을 사용해야 합니다. Microsoft Word나 Google Docs와 같이 서식을 추가하는 프로그램은 절대 사용해서는 안 됩니다.
- Mac의 텍스트 편집기(TextEdit)를 사용하는 경우, 반드시 메뉴에서 **포맷 > 일반 텍스트 만들기(Make Plain Text)**를 선택하여 서식이 없는 상태로 전환해야 합니다.
- 파일을 저장할 때는 정확히
ads.txt라는 이름으로 저장해야 합니다. 운영체제 설정에 따라ads.txt.txt와 같이 이중 확장자가 붙지 않도록 주의해야 합니다.
구글 애드센스에서 콘텐츠 가져오기:
- 애드센스 계정에 로그인합니다.
- 홈페이지에 경고 메시지가 표시된다면 지금 해결하기를 클릭합니다.
- 또는 사이트 메뉴로 이동하여 해당 사이트를 찾은 뒤, 관련 경고를 클릭합니다.
- 애드센스는 Ads.txt 스니펫 옵션을 제공할 것입니다. 복사 버튼을 클릭하여 전체 라인을 클립보드에 복사합니다.
올바른 형식:
- 복사한 라인을 위에서 생성한 순수 텍스트 파일에 붙여넣습니다. 내용은 반드시 아래와 같은 형식을 가져야 하며,
pub-0000000000000000부분에는 본인의 고유한 게시자 ID가 포함되어야 합니다.google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0. - 각 필드의 의미는 다음과 같습니다: 광고 시스템 도메인(google.com), 게시자 ID, 관계 유형(DIRECT), 그리고 선택적인 인증 기관 ID.
- 구글 애드센스 외에 다른 광고 네트워크를 사용하고 있다면, 해당 네트워크에서 제공하는
ads.txt라인을 이 동일한 파일에 추가해야 합니다.
‘수익 손실 위험’에서 ‘승인됨’으로
이 가이드에서 제시한 문제 해결 계층을 따르면, 클라우드웨이즈 환경에서 발생하는 대부분의 ads.txt 404 오류를 체계적으로 해결할 수 있습니다. 핵심 단계를 다시 한번 요약하면 다음과 같습니다.
- 정확한 접속: SFTP 프로토콜과 포트 22를 사용하여 올바른 접속 정보로 연결합니다.
- 완벽한 배치:
/applications/your_app_folder/public_html경로에 파일을 업로드합니다. - 가시적 검증: 브라우저에서
yourdomain.com/ads.txt에 접속하여 파일 내용을 직접 확인합니다. - 캐시 제거: Varnish와 워드프레스 캐싱 플러그인에
/ads.txt에 대한 제외 규칙을 추가합니다.
이 가이드를 통해 사용자는 단순히 골치 아픈 오류 하나를 해결한 것을 넘어, 자신이 사용하는 전문적인 호스팅 환경의 작동 원리를 더 깊이 이해하게 되었습니다. 이는 앞으로 발생할 수 있는 다른 기술적 문제들을 자신감 있게 해결하는 데 큰 자산이 될 것입니다.
마지막으로, 모든 기술적인 조치를 완료한 후에도 애드센스 대시보드의 경고 메시지가 즉시 사라지지 않을 수 있다는 점을 기억해야 합니다. 구글 크롤러가 사이트를 다시 방문하여 변경 사항을 확인하고 시스템에 반영하기까지는 보통 24~48시간이 소요되며, 사이트 트래픽이 적은 경우에는 최대 한 달까지 걸릴 수도 있습니다. 인내심을 갖고 기다리면, ‘수익 손실 위험’ 경고는 곧 ‘승인됨’ 상태로 변경될 것입니다.
#클라우드웨이즈 #ads.txt #404오류 #파일질라 #워드프레스