Cloudflare Pages 기본 도메인(*.pages.dev) 리다이렉트 실전 가이드
Cloudflare Pages의 기본 pages.dev 도메인을 커스텀 도메인으로 301 리다이렉트하는 방법. Zero Trust 없이 무료로 Bulk Redirects를 활용하는 실전 가이드
Cloudflare Pages 기본 도메인(*.pages.dev) 리다이렉트 실전 가이드
Cloudflare Pages로 사이트를 배포하면 기본적으로 프로젝트명.pages.dev 도메인이 자동 생성된다. 커스텀 도메인을 연결하더라도 이 기본 도메인은 여전히 공개적으로 접근 가능하다. 동일한 콘텐츠가 두 개의 URL로 노출되면 SEO에 불리하고, 트래픽이 분산되며, 의도하지 않은 URL이 공유될 수 있다.
이 글에서는 pages.dev 도메인을 처리하는 여러 방법을 조사한 결과를 공유하고, 그중에서 무료 플랜에서 가장 현실적인 방법인 Bulk Redirects를 사용해 해결하는 과정을 정리했다.
문제 상황
Cloudflare Pages를 사용하면 두 개의 도메인이 동시에 존재한다.
| 도메인 | 종류 | 예시 |
|---|---|---|
프로젝트명.pages.dev | 기본 도메인 (자동 생성) | my-blog.pages.dev |
내도메인.com | 커스텀 도메인 (직접 연결) | example.com |
두 도메인 모두 공개적으로 접근 가능하기 때문에 다음과 같은 문제가 발생한다.
- SEO 중복 콘텐츠 문제 — 검색엔진이 동일한 콘텐츠를 두 개의 다른 URL로 인식한다
- 트래픽 분산 — 방문자가 두 도메인에 분산되어 분석이 어려워진다
- 브랜드 일관성 저하 — 의도하지 않은 URL이 공유될 수 있다
해결 방법 조사 (2026년 기준)
pages.dev 도메인을 처리하는 방법을 폭넓게 조사했다. 결론부터 말하면, 무료 플랜에서 실질적으로 사용할 수 있는 방법은 Bulk Redirects 하나뿐이다. 나머지 방법들이 왜 적합하지 않은지 하나씩 정리했다.
1. pages.dev 도메인 비활성화
가장 직관적인 해결책은 pages.dev 도메인 자체를 끄는 것이다. 하지만 2026년 현재 Cloudflare는 이 기능을 제공하지 않는다. 2022년부터 커뮤니티에서 지속적으로 요청하고 있지만, Cloudflare 측은 "향후 검토"로 분류한 채 아직 로드맵에 포함하지 않았다.
2. Access Policy (Zero Trust)
Cloudflare Zero Trust의 Access Policy를 사용하면 pages.dev 접근 자체를 차단할 수 있다. 가장 확실한 방법이지만 유료 기능이다. 더구나 커뮤니티 보고에 따르면, Access Policy가 커스텀 도메인에는 정상 적용되지만 pages.dev 도메인에는 작동하지 않는 사례도 있었다. 무료 플랜에서는 선택지에서 제외된다.
3. Page Rules
예전에는 Page Rules로 리다이렉트를 설정할 수 있었다. 하지만 Cloudflare는 2025년 1월 6일부터 모든 계정에서 새로운 Page Rules 생성을 중단했다. 기존 Page Rules는 자동으로 Redirect Rules로 마이그레이션되고 있으며, 신규 설정은 불가능하다.
4. _redirects 파일
Cloudflare Pages의 _redirects 파일은 같은 도메인 내에서의 경로 리다이렉트만 지원한다. pages.dev → 커스텀 도메인처럼 도메인 간 리다이렉트는 작동하지 않기 때문에 이 문제에는 적합하지 않다.
5. _headers 파일 (noindex + canonical)
_headers 파일로 X-Robots-Tag: noindex와 canonical 링크를 설정하면 검색엔진이 pages.dev를 무시하도록 유도할 수 있다. 하지만 이 방법은 리다이렉트가 아니다. 사용자가 pages.dev에 직접 접근하면 여전히 콘텐츠가 보인다.
6. Next.js 미들웨어
Next.js 미들웨어에서 host 헤더를 확인하고 리다이렉트하는 방법이 있다. 하지만 이 블로그처럼 정적 사이트(static export)로 빌드하는 경우 런타임 미들웨어가 실행되지 않는다. OpenNext 어댑터를 사용하는 서버 배포 환경에서만 가능하다.
7. Cloudflare Workers
Workers에서 요청의 hostname을 검사하고 리다이렉트하는 방법은 기술적으로 가능하다. 무료 플랜에서도 하루 10만 요청까지 지원한다. 하지만 Pages와 별도의 Worker 서비스를 관리해야 하고, 라우팅 설정이 추가로 필요해서 단순 리다이렉트 하나를 위해서는 과한 방법이다.
8. Bulk Redirects (채택)
Cloudflare의 Bulk Redirects는 무료 플랜에서 사용 가능하고, 설정이 간단하며, Cloudflare Edge에서 동작하므로 빠르다. 계정당 최대 5개의 Bulk Redirect List와 20개의 URL 항목이 무료로 제공된다. 대부분의 개인 사이트에는 충분한 수량이다.
방법 비교 요약
| 방법 | 비용 | 2026년 상태 | 한계 |
|---|---|---|---|
| Bulk Redirects | 무료 | 작동 | 권장 |
| pages.dev 비활성화 | - | 불가능 | 공식 기능 미제공 |
| Access Policy (Zero Trust) | 유료 | 일부 이슈 | pages.dev에 미작동 사례 |
| Page Rules | - | 폐지됨 | 2025.01 신규 생성 중단 |
_redirects 파일 | 무료 | 제한적 | 도메인 간 리다이렉트 불가 |
_headers 파일 | 무료 | 작동 | 리다이렉트 아님 (SEO만) |
| Next.js 미들웨어 | 무료 | 제한적 | static export 미지원 |
| Cloudflare Workers | 무료 | 작동 | 별도 서비스 관리 필요 |
결론: Access Policy(Zero Trust)가 유료이고, Page Rules가 폐지된 상황에서 무료 플랜 사용자에게는 Bulk Redirects가 사실상 유일한 실전 방법이다.
Bulk Redirects 설정 방법
중요: 2단계 설정이 필요하다
Cloudflare Bulk Redirects는 **List(목록)**와 Rule(규칙) 두 가지를 모두 설정해야 한다.
List (리다이렉트 URL 목록) → Rule (규칙 연결 및 배포) → 활성화
List만 만들면 비활성 상태로 남아서 리다이렉트가 동작하지 않는다.
STEP 1: Bulk Redirect List 생성
- Cloudflare Dashboard 로그인
- 좌측 메뉴에서 대량 리디렉션 (Bulk Redirects) 선택
- 「대량 리디렉션 목록 생성」 버튼 클릭
- 목록 이름과 설명 입력 (예:
my-site-redirect) - URL 항목 추가:
| 항목 | 값 |
|---|---|
| 원본 URL | https://my-blog.pages.dev/ |
| 대상 URL | https://example.com/ |
| 상태 | 301 (영구 리다이렉트) |
- 매개 변수 편집에서 다음 옵션을 설정:
| 옵션 | 한글 | 설정 | 설명 |
|---|---|---|---|
| Preserve query string | 쿼리 문자열 유지 | 켜기 | URL 파라미터 유지 |
| Include subpaths | 하위 경로 일치 | 켜기 | 모든 하위 경로 리다이렉트 |
| Subpath matching | 경로 접미사 유지 | 켜기 | 하위 경로를 대상 URL에 붙여줌 |
| Preserve path suffix | 하위 도메인 포함 | 끄기 | 불필요 |
- 저장 클릭
주의:
하위 경로 일치와경로 접미사 유지를 모두 켜야/blog/hello같은 하위 경로가example.com/blog/hello로 정확히 리다이렉트된다.
STEP 2: Bulk Redirect Rule 생성
이 단계를 빠뜨리는 경우가 많다. List만 만들면 리다이렉트가 동작하지 않는다.
- 대량 리디렉션 페이지 상단의 「대량 리디렉션 규칙 생성」 버튼 클릭
- 규칙 이름 입력 (예:
pages-dev-redirect) - 방금 만든 리디렉션 목록 선택
- 「저장 및 배포」 클릭
배포가 완료되면 목록의 상태가 비활성 → 활성으로 변경된다.
STEP 3: 확인
브라우저에서 https://my-blog.pages.dev/에 접속하면 자동으로 https://example.com/으로 리다이렉트되는지 확인한다.
하위 경로도 테스트한다:
https://my-blog.pages.dev/blog/hello→https://example.com/blog/hellohttps://my-blog.pages.dev/about→https://example.com/about
브라우저 캐시 때문에 바로 반영되지 않을 수 있다. 시크릿/프라이빗 창에서 테스트하는 것이 확실하다.
자주 하는 실수
1. Bulk Redirect Rule을 만들지 않음
증상: List를 만들었는데 상태가 "비활성"이고 리다이렉트가 안 됨
해결: Rule을 생성하고 "저장 및 배포" 클릭
2. 「경로 접미사 유지」를 켜지 않음
증상: 메인 페이지는 리다이렉트되지만, /blog/hello가 example.com/blog/hello가 아닌 example.com/으로만 연결됨
해결: 매개 변수 편집에서 「경로 접미사 유지」 활성화
3. Access Policy로 시도
증상: Access Policy 설정 시 Zero Trust 결제 페이지로 이동
해결: Access Policy는 유료 기능이다. 무료 플랜에서는 Bulk Redirects를 사용하면 된다.
추가 권장 설정: Canonical URL
Bulk Redirects와 함께 Canonical URL을 설정하면 SEO를 더욱 보호할 수 있다. 리다이렉트가 검색엔진 크롤링 전에 적용되지 않는 경우에 대비하는 안전장치다.
Next.js에서 Canonical URL 설정
// app/layout.tsx
export const metadata = {
alternates: {
canonical: 'https://example.com',
},
};
이렇게 설정하면 검색엔진이 example.com을 원본 URL로 인식한다.
정리
| 단계 | 작업 | 상태 |
|---|---|---|
| 1 | Bulk Redirect List 생성 | 필수 |
| 2 | Bulk Redirect Rule 생성 및 배포 | 필수 |
| 3 | 리다이렉트 동작 확인 | 필수 |
| 4 | Canonical URL 설정 | 권장 |
이 설정을 완료하면 *.pages.dev로 접속해도 커스텀 도메인으로 자동 이동하고, SEO 중복 콘텐츠 문제가 해결되며, 트래픽이 하나의 도메인으로 통합된다. Zero Trust 결제 없이 무료로 해결할 수 있다.
참고: Cloudflare 무료 플랜에서 Bulk Redirects는 계정당 5개의 List와 20개의 URL 항목까지 지원된다. 대부분의 개인 블로그나 사이트에는 충분한 수량이다.
자주 묻는 질문
Cloudflare Pages의 *.pages.dev 도메인을 삭제할 수 있나요?
아닙니다. Cloudflare Pages에서 기본 제공되는 *.pages.dev 도메인은 완전히 삭제하거나 비활성화할 수 없습니다. 하지만 Bulk Redirects를 사용해 커스텀 도메인으로 리다이렉트할 수 있습니다.
Access Policy로 pages.dev 접근을 차단할 수 있나요?
가능하지만, 이 기능은 Cloudflare Zero Trust에 포함되어 있어 유료입니다. 무료 플랜에서는 사용할 수 없습니다.
Bulk Redirects를 만들었는데 비활성 상태입니다. 어떻게 해야 하나요?
Bulk Redirect List만 만들면 비활성 상태입니다. 해당 List를 참조하는 Bulk Redirect Rule을 별도로 생성하고 '저장 및 배포'해야 활성화됩니다.
Bulk Redirects는 무료인가요?
네, Cloudflare 무료 플랜에서도 사용할 수 있습니다. 계정당 최대 5개의 Bulk Redirect List와 20개의 URL 항목이 무료로 제공됩니다.