[{"data":1,"prerenderedAt":656},["ShallowReactive",2],{"content-/cloudflare-pages-custom-domain-setup":3,"related-/cloudflare-pages-custom-domain-setup":606,"all-pages-for-dir":654,"og-image-/cloudflare-pages-custom-domain-setup":655},{"id":4,"title":5,"body":6,"category":588,"description":589,"extension":590,"meta":591,"navigation":592,"path":593,"project_name":594,"published":595,"publishedAt":596,"seo":597,"stem":598,"tags":599,"todo":594,"unpublished":595,"updatedAt":594,"__hash__":605},"pages/2026-06/2026-06-09/cloudflare-pages-custom-domain-setup.md","Cloudflare Pages にカスタムドメインを設定する手順（2026年版・Apex / サブドメイン両対応）",{"type":7,"value":8,"toc":561},"minimark",[9,13,17,21,38,41,44,69,71,75,78,83,108,112,115,165,168,172,179,181,185,188,194,208,218,224,231,238,292,299,301,304,311,327,333,341,397,403,409,425,436,448,450,453,469,488,490,493,513,515,518,545,548,557],[10,11,5],"h1",{"id":12},"cloudflare-pages-にカスタムドメインを設定する手順2026年版apex-サブドメイン両対応",[14,15,16],"h2",{"id":16},"結論",[18,19,20],"p",{},"Cloudflare Pages にカスタムドメインを設定する流れは2つに分かれる。",[22,23,24,32],"ol",{},[25,26,27,31],"li",{},[28,29,30],"strong",{},"Cloudflare で DNS 管理しているドメインの場合",": Pages のダッシュボードで「Custom domains > Set up a domain」を押すだけ。CNAME（または Apex なら CNAME flattening）が自動で入る。SSL も自動。",[25,33,34,37],{},[28,35,36],{},"他のレジストラ（お名前.com、Route53、Squarespace 等）で DNS 管理しているドメインの場合",": 手動で CNAME レコードを向ける必要がある。Apex ドメインは CNAME が使えないため、ALIAS / ANAME / Flattened CNAME 対応のサービスでないと不可（実質 Cloudflare DNS に移すのが推奨）。",[39,40],"hr",{},[14,42,43],{"id":43},"前提",[45,46,47,50,58],"ul",{},[25,48,49],{},"Cloudflare アカウント作成済み",[25,51,52,53,57],{},"Cloudflare Pages にプロジェクトをデプロイ済み（",[54,55,56],"code",{},"*.pages.dev"," のサブドメインで動いている）",[25,59,60,61,64,65,68],{},"独自ドメインを取得済み（例: ",[54,62,63],{},"example.com"," または ",[54,66,67],{},"log.example.com","）",[39,70],{},[14,72,74],{"id":73},"パターン1-cloudflare-で-dns-管理しているドメイン","パターン1: Cloudflare で DNS 管理しているドメイン",[18,76,77],{},"このパターンが最も簡単で、トラブルが少ない。",[79,80,82],"h3",{"id":81},"step-1-pages-ダッシュボードでカスタムドメインを追加","Step 1. Pages ダッシュボードでカスタムドメインを追加",[22,84,85,88,94,100],{},[25,86,87],{},"Cloudflare ダッシュボード > Workers & Pages > 対象プロジェクトを選択",[25,89,90,93],{},[28,91,92],{},"Custom domains"," タブを開く",[25,95,96,99],{},[28,97,98],{},"Set up a domain"," をクリック",[25,101,102,103,64,105,107],{},"紐づけたいドメイン（",[54,104,63],{},[54,106,67],{},"）を入力",[79,109,111],{"id":110},"step-2-dns-レコードが自動で追加される","Step 2. DNS レコードが自動で追加される",[18,113,114],{},"Cloudflare が以下のレコードを自動で挿入する。",[116,117,118,131],"table",{},[119,120,121],"thead",{},[122,123,124,128],"tr",{},[125,126,127],"th",{},"ドメインタイプ",[125,129,130],{},"追加されるレコード",[132,133,134,152],"tbody",{},[122,135,136,142],{},[137,138,139,140,68],"td",{},"Apex（",[54,141,63],{},[137,143,144,145,147,148,151],{},"CNAME ",[54,146,63],{}," → ",[54,149,150],{},"\u003Cproject>.pages.dev","（CNAME flattening 自動適用）",[122,153,154,159],{},[137,155,156,157,68],{},"サブドメイン（",[54,158,67],{},[137,160,144,161,147,163],{},[54,162,67],{},[54,164,150],{},[18,166,167],{},"CNAME flattening とは、本来 Apex ドメインに CNAME を設定できない RFC 制約を、Cloudflare 側で透過的に A/AAAA レコードに変換する仕組み。Cloudflare DNS でだけ使える便利機能。",[79,169,171],{"id":170},"step-3-ssl-証明書が自動発行される","Step 3. SSL 証明書が自動発行される",[18,173,174,175,178],{},"Cloudflare が Universal SSL で証明書を発行する。",[28,176,177],{},"通常 5〜15 分","で完了。ステータスは Pages のカスタムドメイン欄に「Active」と表示されたら使える状態。",[39,180],{},[14,182,184],{"id":183},"パターン2-他レジストラで-dns-管理している場合","パターン2: 他レジストラで DNS 管理している場合",[18,186,187],{},"ドメイン取得業者の DNS を使い続けたい場合の手順。Apex ドメインだとハマりやすい。",[79,189,156,191,193],{"id":190},"サブドメインlogexamplecomの場合",[54,192,67],{},"）の場合",[22,195,196,199,205],{},[25,197,198],{},"Pages ダッシュボードでカスタムドメイン追加（Step 1 と同じ）",[25,200,201,204],{},[28,202,203],{},"DNS レコードは自動で入らない","。Pages 側に「次の CNAME を設定してください」と案内が出る",[25,206,207],{},"レジストラの DNS 管理画面で以下を追加:",[209,210,215],"pre",{"className":211,"code":213,"language":214},[212],"language-text","種類: CNAME\n名前: log\n値: \u003Cproject>.pages.dev\nTTL: Auto または 3600\n","text",[54,216,213],{"__ignoreMap":217},"",[22,219,221],{"start":220},4,[25,222,223],{},"DNS の伝播後（数分〜数時間）、Cloudflare 側で検証が走り SSL も自動発行される",[79,225,227,228,230],{"id":226},"apex-ドメインexamplecomの場合-️","Apex ドメイン（",[54,229,63],{},"）の場合 ⚠️",[18,232,233,234,237],{},"Apex ドメインには ",[28,235,236],{},"CNAME を直接設定できない","（RFC 1912 で禁止）。レジストラが ALIAS / ANAME / Flattened CNAME に対応していれば使える。",[116,239,240,250],{},[119,241,242],{},[122,243,244,247],{},[125,245,246],{},"サービス",[125,248,249],{},"Apex に CNAME 風レコードを設定可能か",[132,251,252,260,268,276,284],{},[122,253,254,257],{},[137,255,256],{},"Cloudflare DNS",[137,258,259],{},"✅ CNAME flattening",[122,261,262,265],{},[137,263,264],{},"Route53",[137,266,267],{},"✅ ALIAS レコード",[122,269,270,273],{},[137,271,272],{},"DNSimple",[137,274,275],{},"✅ ALIAS",[122,277,278,281],{},[137,279,280],{},"Google Cloud DNS",[137,282,283],{},"❌ 不可（A/AAAA で IP 直書きが必要）",[122,285,286,289],{},[137,287,288],{},"お名前.com",[137,290,291],{},"❌ 標準では不可",[18,293,294,295,298],{},"Apex ドメインを使いたいなら、",[28,296,297],{},"ドメインの NS を Cloudflare DNS に移管する","のが最も安全で速い解決策。NS 移管自体は10分〜数時間で終わる。",[39,300],{},[14,302,303],{"id":303},"ありがちなエラーと対処",[79,305,307,310],{"id":306},"ssl-handshake-failed-または常にこのサイトの接続は安全ではありませんと出る",[54,308,309],{},"SSL handshake failed"," または「常にこのサイトの接続は安全ではありません」と出る",[45,312,313,316],{},[25,314,315],{},"原因: Universal SSL の発行待ち（数分〜数時間）",[25,317,318,319,322,323,326],{},"対処: 30 分待つ。それでも出るなら、Cloudflare の ",[54,320,321],{},"SSL/TLS"," 設定で ",[28,324,325],{},"暗号化モードが Full (strict)"," になっているか確認。Pages は自動で Full (strict) になるはずだが、既存ドメインだと別モードが残っていることがある",[79,328,330],{"id":329},"custom-domain-stuck-at-verifying",[54,331,332],{},"Custom domain stuck at \"Verifying\"",[45,334,335,338],{},[25,336,337],{},"原因: CNAME が正しく解決されていない、または DNS が伝播中",[25,339,340],{},"対処: コマンドラインで確認:",[209,342,346],{"className":343,"code":344,"language":345,"meta":217,"style":217},"language-bash shiki shiki-themes vitesse-light vitesse-light","dig \u003Cyour-domain> CNAME\n# または\nnslookup \u003Cyour-domain>\n","bash",[54,347,348,375,382],{"__ignoreMap":217},[349,350,353,357,361,365,369,372],"span",{"class":351,"line":352},"line",1,[349,354,356],{"class":355},"senZ8","dig",[349,358,360],{"class":359},"stQ0i"," \u003C",[349,362,364],{"class":363},"sdGka","your-domai",[349,366,368],{"class":367},"sG7-3","n",[349,370,371],{"class":359},">",[349,373,374],{"class":363}," CNAME\n",[349,376,378],{"class":351,"line":377},2,[349,379,381],{"class":380},"sxvE3","# または\n",[349,383,385,388,390,392,394],{"class":351,"line":384},3,[349,386,387],{"class":355},"nslookup",[349,389,360],{"class":359},[349,391,364],{"class":363},[349,393,368],{"class":367},[349,395,396],{"class":359},">\n",[18,398,399,400,402],{},"期待する値は ",[54,401,150],{}," の CNAME。違う値が返る場合は DNS 設定を見直す。",[79,404,406],{"id":405},"err_too_many_redirects",[54,407,408],{},"ERR_TOO_MANY_REDIRECTS",[45,410,411,418],{},[25,412,413,414,417],{},"原因: SSL/TLS モードが ",[28,415,416],{},"Flexible"," になっている",[25,419,420,421,424],{},"対処: Cloudflare ダッシュボード > SSL/TLS > Overview で ",[28,422,423],{},"Full (strict)"," に変更",[79,426,428,431,432,435],{"id":427},"_404-not-found-がカスタムドメインだけで出るpagesdev-では正常",[54,429,430],{},"404 Not Found"," がカスタムドメインだけで出る（",[54,433,434],{},".pages.dev"," では正常）",[45,437,438,445],{},[25,439,440,441,444],{},"原因: Pages の ",[28,442,443],{},"Custom domain 設定が反映前"," または、CNAME のターゲットが間違っている（古い Pages プロジェクトのドメインを指している等）",[25,446,447],{},"対処: Pages ダッシュボードで Active になっていることを確認 + DNS の CNAME 先を再確認",[39,449],{},[14,451,452],{"id":452},"デプロイブランチごとに別ドメインを当てたいとき",[18,454,455,458,459,461,462,458,465,468],{},[54,456,457],{},"production"," ブランチ → ",[54,460,63],{},"、",[54,463,464],{},"preview",[54,466,467],{},"staging.example.com"," のような構成にしたい場合。",[45,470,471,478,485],{},[25,472,473,474,477],{},"Pages の ",[28,475,476],{},"Production branch"," に設定したブランチが Apex / メインドメインに紐づく",[25,479,480,481,484],{},"それ以外のブランチは自動で ",[54,482,483],{},"\u003Cbranch>.\u003Cproject>.pages.dev"," のサブドメインに割り当てられる",[25,486,487],{},"任意のブランチに独自ドメインを当てたい場合は、Pages > Custom domains で「Production branch」とは別に追加し、ブランチを明示指定する",[39,489],{},[14,491,492],{"id":492},"まとめ",[45,494,495,498,504,507,510],{},[25,496,497],{},"Cloudflare DNS を使っているなら、ダッシュボードからワンクリックで設定完了",[25,499,500,501,503],{},"他レジストラの場合、CNAME を ",[54,502,150],{}," に向ける",[25,505,506],{},"Apex ドメインは CNAME 不可なので、Cloudflare DNS に移管するか ALIAS 対応サービスを選ぶ",[25,508,509],{},"SSL は Universal SSL で自動発行（数分〜15分）",[25,511,512],{},"リダイレクトループが出たら SSL/TLS モードを Full (strict) に",[39,514],{},[14,516,517],{"id":517},"関連リンク",[45,519,520,531,538],{},[25,521,522],{},[523,524,530],"a",{"href":525,"target":526,"rel":527},"https://developers.cloudflare.com/pages/configuration/custom-domains/","_blank",[528,529],"noopener","noreferrer","Cloudflare Pages 公式: Custom domains",[25,532,533],{},[523,534,537],{"href":535,"target":526,"rel":536},"https://developers.cloudflare.com/dns/cname-flattening/",[528,529],"Cloudflare DNS: CNAME flattening",[25,539,540],{},[523,541,544],{"href":542,"target":526,"rel":543},"https://developers.cloudflare.com/ssl/edge-certificates/universal-ssl/",[528,529],"Cloudflare SSL: Universal SSL",[14,546,547],{"id":547},"関連記事",[45,549,550],{},[25,551,552,556],{},[523,553,555],{"href":554},"/blog/index","Cloudflare Pages へのデプロイ手順とトラブルシューティング","（同サイト内のデプロイメモを参照）",[558,559,560],"style",{},"html pre.shiki code .senZ8, html code.shiki .senZ8{--shiki-default:#59873A;--shiki-dark:#59873A}html pre.shiki code .stQ0i, html code.shiki .stQ0i{--shiki-default:#AB5959;--shiki-dark:#AB5959}html pre.shiki code .sdGka, html code.shiki .sdGka{--shiki-default:#B56959;--shiki-dark:#B56959}html pre.shiki code .sG7-3, html code.shiki .sG7-3{--shiki-default:#393A34;--shiki-dark:#393A34}html pre.shiki code .sxvE3, html code.shiki .sxvE3{--shiki-default:#A0ADA0;--shiki-dark:#A0ADA0}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":217,"searchDepth":377,"depth":377,"links":562},[563,564,565,570,576,584,585,586,587],{"id":16,"depth":377,"text":16},{"id":43,"depth":377,"text":43},{"id":73,"depth":377,"text":74,"children":566},[567,568,569],{"id":81,"depth":384,"text":82},{"id":110,"depth":384,"text":111},{"id":170,"depth":384,"text":171},{"id":183,"depth":377,"text":184,"children":571},[572,574],{"id":190,"depth":384,"text":573},"サブドメイン（log.example.com）の場合",{"id":226,"depth":384,"text":575},"Apex ドメイン（example.com）の場合 ⚠️",{"id":303,"depth":377,"text":303,"children":577},[578,580,581,582],{"id":306,"depth":384,"text":579},"SSL handshake failed または「常にこのサイトの接続は安全ではありません」と出る",{"id":329,"depth":384,"text":332},{"id":405,"depth":384,"text":408},{"id":427,"depth":384,"text":583},"404 Not Found がカスタムドメインだけで出る（.pages.dev では正常）",{"id":452,"depth":377,"text":452},{"id":492,"depth":377,"text":492},{"id":517,"depth":377,"text":517},{"id":547,"depth":377,"text":547},"dev","Cloudflare Pages に独自ドメインを紐づける具体的な手順を、Apex ドメイン（example.com）とサブドメイン（log.example.com）両方のパターンで整理。Cloudflare 配下 / 他レジストラ配下別の DNS 設定差、SSL 証明書の自動発行タイミング、よくあるエラーの対処までまとめる。","md",{},true,"/cloudflare-pages-custom-domain-setup",null,false,"2026-06-09T00:00:00.000Z",{"title":5,"description":589},"2026-06/2026-06-09/cloudflare-pages-custom-domain-setup",[600,601,602,603,604],"Cloudflare Pages","カスタムドメイン","DNS","SSL","デプロイ","rLgP2i-419q4rSFtF2W6RjTaKce8Fe8Afnbq9ApxYxU",[607,616,626,635,645],{"title":608,"description":609,"path":610,"tags":611,"publishedAt":615,"updatedAt":594},"Nuxt 2サイトをバニラHTML静的サイトに作り替えてCloudflare Pagesへ移行した","Nuxt 2で動いていた地域密着サービス業サイトをバニラHTML/CSS/JSの静的サイトにリビルドし、Netlify→Cloudflare Pagesへ移行。ビルド設定の罠やカスタムドメイン切り替えまでの記録","/static-site-rebuild-cloudflare-2026-03-04",[612,600,613,614,602],"静的サイト","Netlify移行","ffmpeg","2026-03-04T00:00:00.000Z",{"title":617,"description":618,"path":619,"tags":620,"publishedAt":625,"updatedAt":594},"Nuxt3マルチテナントLPをSSRからSSGに移行 - 複数業種×Cloudflare Pagesデプロイ","業種別LPサイトのSSR→SSG移行。環境変数によるテナント切替、PowerShellバッチデプロイスクリプト、Cloudflare Pages Static設定を解説","/tax-lp-ssr-to-ssg-2026-02-08",[621,622,623,600,624,604],"SSG","SSR","Nuxt3","マルチテナント","2026-02-08T00:00:00.000Z",{"title":627,"description":628,"path":629,"tags":630,"publishedAt":634,"updatedAt":594},"Cloudflare PagesでリロードするとNuxtページが404になる問題の調査と解決","Cloudflare Pagesにデプロイした動的ルートのNuxtページで、初回アクセスは成功するがF5リロードすると404エラーが発生する問題の原因調査プロセスと、_routes.jsonの除外ルール修正による解決策","/cloudflare-pages-reload-404-fix",[600,631,622,632,604,633],"Nuxt","トラブルシューティング","_routes.json","2025-11-27T00:00:00.000Z",{"title":636,"description":637,"path":638,"tags":639,"publishedAt":644,"updatedAt":594},"912件の自己ループリダイレクトとOG画像署名切れを一気に直した日 — 本番障害2件をAIに調査させて根本原因まで詰めた記録","ユーザーの目視で発覚した2件の本番障害を、Claude Codeに git blame と secret rotation を代行させて根本原因まで詰めた。デプロイは473秒から293秒に短縮。","/og-image-redirect-loop-fix",[640,641,642,604,643],"Cloudflare","OGP","リダイレクト","本番障害","2026-05-28T00:00:00.000Z",{"title":646,"description":647,"path":648,"tags":649,"publishedAt":653,"updatedAt":594},"blog-verifyを_payload.json廃止に対応してHTML走査ベースに切り替えた","Nuxt Content 3.11で _payload.json から collection 結果が消えた。検証スクリプトを dist/blog/index.html の直接走査に作り直し、デバッグ残骸の blog-index-sample.html も削除して2コミットに分けてコミットした記録。","/blog-verify-html-walker",[650,651,652,600],"Nuxt Content","blog-verify","リファクタリング","2026-05-20T00:00:00.000Z",[],"https://log.eurekapu.com/og/blog/cloudflare-pages-custom-domain-setup.png?v=2026-06-09T00%3A00%3A00.000Z&title=Cloudflare%20Pages%20%E3%81%AB%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%89%8B%E9%A0%86%EF%BC%882026%E5%B9%B4%E7%89%88%E3%83%BBApex%20%2F%20%E3%82%B5%E3%83%96%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E4%B8%A1%E5%AF%BE%E5%BF%9C%EF%BC%89&author=Kei%20Komatsu&sig=f3c02fba343540cd",1781076213467]