GJGJ LABO Web集客を実践・検証するマーケティングラボ

実践ログ / サイト公開

Cloudflare Workersで独自ドメイン公開|実測と罠6つ

この記事の結論
かかった費用
0円(Workersの無料プラン)
公開にかかった時間
3.73秒(送り出し)+0.61秒(公開)
ドメイン接続
1.99秒。直後から https://gj-labo.com が開いた
DNSレコード
0件 → 2件。手で足したレコードはゼロ
踏んだ罠
6つ(許可画面の2分切れ、朝の日付エラーなど)

ドメインを買ったあと、次に詰まるのはこの3つです。

この記事で、この3つに答えます。

前の記事で買った gj-labo.com に、実際にページを公開してつなぎました。いま見ているこのサイトが、その結果です。作業はAIのコーディング道具「Claude Code」に頼んで進め、ブラウザで押すボタンだけ自分で押しました。押した画面と、つまずいた画面を残してあります。

CloudflareのDNSレコード画面。gj-labo.comとwww.gj-labo.comの2件がタイプWorkerで自動登録されている
画面ドメインをつないだ直後のDNS。何も入力していないのに2件増えていた。

書くのは4つです。公開までの手順、ドメインをつなぐ手順、つないだ後に何が変わったか、そして実際に踏んだ6つの罠。

読み終えたら、自分のドメインでページを世界に出せます。

エラーで止まっている方は つまずいた6か所 からどうぞ。

画面は押すと大きく表示できます。

先に結論:0円で、つなぐまで数秒だった

ページの公開も独自ドメインの接続も、無料プランの範囲で終わりました。待ち時間は、公開が約4秒、ドメインの接続が約2秒です。

時間がかかったのは、作業そのものではなく罠でした。許可画面が時間切れになったり、朝に作業して日付エラーが出たり。そこは後半にまとめています。

Cloudflare Workersとは?

Cloudflare Workersは、ページやプログラムを置いておく場所です。置いたものはCloudflareが世界中に持っているサーバーに配られ、見に来た人のいちばん近くから届きます。

サーバーを借りる契約も、サーバーの面倒を見る作業もありません。無料プランでも、1日10万回までのアクセスを受けられます(ダッシュボードの表示で確認。2026年10月時点)。

ここに物を置くために使うのが wrangler(ラングラー) という、Cloudflare公式の道具です。今回はこれをClaude Codeに操作してもらいました。

ここだけ押さえる

ドメインは住所、Workersは建物です。建物を建てると、まず仮の住所(〇〇.workers.dev)が付きます。そこに買ったドメインをつなぐと、本当の住所で開けるようになります。

手順1:道具を準備してログインする

最初にやるのは、wranglerを入れて、自分のCloudflareアカウントにつなぐことです。Claude Codeにはこう頼みました。

Claude Codeに頼んだこと

Cloudflareを使いたい。wranglerの準備とログインをやって

wranglerはサイトのフォルダの中にだけ入れてもらいました。入ったのは wrangler 4.149.0 です。ログインを始めると、ブラウザに許可画面が開きます。

1

許可画面で「Authorize」を押す

wranglerにアカウントの操作を許可する画面です。ダッシュボードを日本語にしていても、この画面は英語のままでした。

Wrangler wants to access your accountの許可画面。右下のAuthorizeボタンに赤枠

右下の青い「Authorize」を押します。左側に並んでいるのは許可される権限の一覧で、全部で30個ありました。

この画面は2分で時間切れになります。開いたまま放っておくと、後から押しても通りません。私は2回これを踏みました。

2

「Authorization granted」が出たら完了

Authorization granted to Wranglerと表示された許可完了の画面

この画面が出て、Claude Codeの側に Successfully logged in. と出れば、つながっています。この窓は閉じてかまいません。

手順2:準備中ページを公開する

いきなりブログを載せず、まず1枚だけのページで公開できるかを確かめました。頼んだのはこれだけです。

Claude Codeに頼んだこと

GJ LABOという名前で、ただいま開設準備中です、とだけ出るページを作って、世界に公開して

Claude Codeがページのファイルと設定ファイルを作り、公開まで進めました。そのときの出力がこちらです。

Uploaded 1 of 1 asset
✨ Success! Uploaded 1 file (0.85 sec)
Uploaded gj-labo (3.73 sec)
Deployed gj-labo triggers (0.61 sec)
  https://gj-labo.gjblog.workers.dev

最後の行が仮の住所です。開くと、準備中のページが出ました。

GJ LABOの準備中ページ。ただいま開設準備中です、と表示されている
画面仮の住所で開いた準備中ページ。応答は200、表示まで0.30秒。

ダッシュボードの「Workers & Pages」にも、公開したものが載っています。

CloudflareのWorkers & Pages一覧。gj-laboの行に赤枠
初めての人は1画面多いはず

私のアカウントには、前に別の作業で仮の住所の名前(gjblog)を登録済みでした。そのため今回は何も聞かれずに公開まで通りました。初めて公開する場合は、途中でこの名前を決める画面が出るはずです(今回は確認できていません)。

手順3:独自ドメインをつなぐ

仮の住所で開けたら、買った gj-labo.com をつなぎます。設定ファイルにドメインを2行足して、もう一度公開するだけです。

Claude Codeに頼んだこと

gj-labo.com をつないで。www.gj-labo.com で来た人は gj-labo.com に転送して

足された設定はこの部分です。

"routes": [
  { "pattern": "gj-labo.com", "custom_domain": true },
  { "pattern": "www.gj-labo.com", "custom_domain": true }
]

公開の出力に、2つのドメインが並びました。

Deployed gj-labo triggers (1.99 sec)
  gj-labo.com (custom domain)
  www.gj-labo.com (custom domain)

https://gj-labo.com は、この直後から開けました。DNSの設定画面を自分で開いて、何かを入力する作業はありませんでした。

つないだ後に何が変わったか

3つ変わりました。DNSのレコードが自動で増え、ドメインが本番として登録され、仮の住所は止まりました。

まずDNSです。前の記事では、ドメインを買った直後のレコードは0件でした。つないだ後は2件になっています。

DNSレコード画面。2 / 200 を使用、gj-labo.comとwww.gj-labo.comがタイプWorkerで並んでいる

タイプは「Worker」で、プロキシ済み。前の記事で書いた、自動で用意されるのは枠だけで中身は空、の続きがこれです。中身は、Workersにつないだときに自動で入りました。

Workerの「ドメイン」タブを見ると、2つが本番として登録されています。

Workerのドメインタブ。カスタムドメインにgj-labo.comとwww.gj-labo.comの2件。上のWorker URLのスイッチはオフ

上の「Worker URL」のスイッチはオフになっています。ドメインをつなぐと、仮の住所は自動で止まります。公開のときにも警告が出ていました。

▲ [WARNING] Because 'workers_dev' is not in your Wrangler file,
  it will be disabled for this deployment by default.

実際、仮の住所を開くとこうなります。

仮の住所gj-labo.gjblog.workers.devを開いたところ。There is nothing here yetと表示

壊れたわけではありません。仮の住所をどこかに貼っていなければ、このままで問題ありません。

最後に、外から見てどうなっているかを確かめた結果です。

開いたURL結果
https://gj-labo.com200(表示される)
https://www.gj-labo.com301 → gj-labo.com へ転送
https://gj-labo.gjblog.workers.dev404(止まった)

http で開いても https に切り替わる?

切り替わりませんでした。つないだ直後は、http://gj-labo.com(sなし)で開くと、そのまま表示されていました。鍵マークの付かない状態で見られてしまいます。

直すのは、ドメインの「SSL/TLS」→「エッジ証明書」にある「常に HTTPS を使用」です。

エッジ証明書の画面。常に HTTPS を使用のスイッチがオフ

最初はオフでした。押してオンにします。

常に HTTPS を使用のスイッチがオンになった状態

オンにした後は、http://gj-labo.com を開くと 301 で https://gj-labo.com に転送されるようになりました。

つまずいた6か所

1許可画面が2分で時間切れになる

許可画面を開いたまま別のことをしていたら、Claude Codeの側にこう出て止まりました。

出たエラー

Timed out waiting for authorization code, please try again.

ログを見ると、待ち時間はちょうど2分でした。ログインをやり直して、画面が出たらすぐ押せば通ります。実害はありません。

2古い許可画面で押すと失敗する

やり直したときに、前の回の許可画面を開いて押してしまいました。今度はこう出ます。

出た警告

Received query string parameter doesn't match the one sent! Possible malicious activity somewhere.

物騒な文面ですが、合言葉が今回のログインと合わない、という意味です。ログインをやり直したら、許可画面も新しく出たほうで押します。

3朝に作業すると日付で弾かれる

ドメインをつなぐ公開で、こう出て止まりました。

出たエラー

Can't set compatibility date in the future: 2026-10-09 [code: 10021]

設定ファイルの日付を、日本時間の今日(10月9日)にしていたのが原因です。Cloudflareは世界標準時で判断するので、日本の朝9時前はまだ前日扱いでした。日付を1日戻したら通りました。

4ドメインをつなぐと仮の住所が止まる

上で書いたとおりです。仮の住所を誰かに送っていたり、別のサービスに登録していたりするなら、つなぐ前に確認しておきます。残したい場合は設定で残せます。

5つないだ直後、自分のパソコンでだけ www が開かない

gj-labo.com はすぐ開いたのに、www.gj-labo.com だけ「見つからない」と出続けました。

原因は自分のパソコンでした。つなぐ前に一度 www を開こうとしていたので、パソコンが「www は存在しない」という古い答えを覚えていました。Cloudflareの公開DNS(1.1.1.1)に直接聞くと正しく返ってきたので、世界の側では最初から開けていたことになります。時間をおけば直ります。

6https への切り替えは自動ではオンにならない

これも上で書いたとおりです。ドメインをつないで https で開けても、http で来た人を https に送る設定は別でした。つないだら一度、http で開いてみることをおすすめします。

前の記事:Cloudflareのドメイン取得手順|実額と全画面つき

このサイトについて

GJ LABO は、Web集客の導線を実際に作って、その結果を検証した記録を置いている場所です。うまくいったことだけでなく、今回の時間切れや日付エラーのように詰まったところもそのまま書いています。

同じ作業をやってみる方の、手が止まる場所が1つでも減れば幸いです。