「自分のメディアを持ちたい」と思っても、最初にぶつかるのが、
何で作るの? どこで公開するの? アクセス解析ってどうやるの?
という問題でした。
そこで今回、「はじめて研究所」そのものを最初の研究対象にして、
サーバー代0円でメディアを立ち上げ、Google AdSense取得まで進められるのか
を実際に試していきます。
この記事は完成した成功談ではありません。
途中で設定を間違えたり、反映を待って不安になったり、「これ本当に動いてる?」と何度も確認したりした、そのままの記録です。
研究カルテ
| 項目 | 内容 |
|---|---|
| 研究番号 | RESEARCH 001 |
| 研究テーマ | サーバー代0円でメディアを立ち上げ、AdSense取得を目指す |
| 研究開始 | 2026年9月23日 |
| サーバー代 | 0円/月 |
| 独自ドメイン | hajimete-kenkyujo.com |
| 公開方法 | GitHub + Cloudflare Pages |
| Search Console | 接続済み |
| サイトマップ | 送信成功 |
| GA4 | 計測確認済み |
| AdSense | これから |
| 研究状況 | 継続中 |
研究メモ
今回のポイントは「サイトを作れた」で終わらせず、検索・計測・収益化まで一連で追うこと。
うまくいかなかったところも、そのまま研究結果として残します。
今回やったこと
- GitHubにサイトデータを置く
- Cloudflare Pagesでサイトを公開する
- 独自ドメインを接続する
- wwwあり/なしとPagesのURLを統一する
- Google Search Consoleに登録する
- サイトマップを送信する
- Google Analytics 4(GA4)を導入する
- リアルタイム計測を確認する
1. GitHubとCloudflare Pagesでサイトを公開した
最初にやったのは、サイトそのものをインターネット上へ公開することです。
今回はWordPressではなく、HTML・CSS・JavaScriptで作ったサイトデータをGitHubに置き、Cloudflare Pagesから公開しました。
Cloudflare Pagesを使うことで、今回の構成では月額のサーバー代をかけずに公開できます。
この段階でできたこと
- サイトがWeb上から見られるようになった
- GitHubへ更新するとCloudflare側へ反映できる
- 独自ドメイン接続の土台ができた
最初は「本当にこれだけで公開できるの?」という感覚でした。
ただ、一度つながると仕組み自体はかなりシンプルです。
研究メモ
GitHubは単なる保存場所ではなく、サイトの変更履歴を残しながら公開用データを管理できる。
今後、記事やシステムを増やしていくなら、この「履歴が残る」仕組みはかなり重要そうです。
2. 独自ドメインを接続した
Cloudflare Pagesで公開した直後は、Cloudflareが発行する pages.dev のURLでアクセスできます。
でも、メディアとして長く運営するなら、最初から独自ドメインにしておきたい。
そこで今回取得した、
hajimete-kenkyujo.com
を接続しました。
Cloudflare上でカスタムドメインを追加すると、DNSとSSLの設定が進みます。
途中で「検証中」と表示されますが、すぐに失敗と判断する必要はありません。
しばらく待つとステータスがアクティブになり、正式URLからサイトを表示できました。
今回の結果
https://hajimete-kenkyujo.com
でサイトを表示できるようになりました。
3. www・pages.devを正式URLへ統一した
独自ドメインがつながったあと、URLを一本化しました。
今回の正式URLは、
https://hajimete-kenkyujo.com
です。
そのため、
https://www.hajimete-kenkyujo.comhttps://hajimete-kenkyujo.pages.dev
からアクセスされた場合も、正式URLへ移動するように設定しました。
Bulk Redirectsを設定
Cloudflareの「Bulk Redirects(一括リダイレクト)」で、301リダイレクトを作ります。
www側については、DNSにもレコードを追加しました。
設定後、実際に両方のURLをブラウザで開いて確認。
どちらからアクセスしても、
https://hajimete-kenkyujo.com
へ移動しました。
研究メモ
「wwwあり」「wwwなし」「Pagesの仮URL」が全部生きていると、管理する側も分かりにくい。
公開直後に正式URLを一本に決めておくと、その後のSearch ConsoleやGA4も整理しやすくなりました。
4. Google Search Consoleに登録した
次に、Google Search Consoleを設定しました。
Search Consoleでは、
- Google検索に登録されているか
- どんな検索語で表示されたか
- 何回クリックされたか
- インデックスに問題がないか
などを確認できます。
今回は「URLプレフィックス」ではなく、ドメインプロパティを選びました。
入力したのは、
hajimete-kenkyujo.com
だけです。
https:// は付けません。
CloudflareでDNSを管理していたため、所有権確認もそのまま進めることができました。
無事に接続完了。
ここまで来ると、Google検索側の状況を確認できるようになります。
5. サイトマップを送信したら、一度エラーになった
Search Consoleを接続したら、次はサイトマップを送信しました。
サイトマップは、簡単に言えばGoogleへ渡すサイト内ページの案内図です。
今回のサイトマップURLは、
https://hajimete-kenkyujo.com/sitemap.xml
です。
ところが最初、入力方法を間違えて、
「サイトマップアドレスが無効です」
とエラーになりました。
今回はドメインプロパティなので、フルURLで入力。
https://hajimete-kenkyujo.com/sitemap.xml
として送信すると、成功しました。
ここで詰まった
設定そのものが間違っているのではなく、入力形式が少し違うだけでもエラーになります。
初めてだと、この違いが一番分かりにくい。
6. GA4を導入した
続いて、Google Analytics 4(GA4)を設定しました。
Search Consoleが「Google検索からどう見られているか」を確認するものなら、GA4はサイトに来た人がどう動いたかを見るためのツールです。
今回は既存のGoogle Analyticsアカウント内に、「はじめて研究所」用の新しいプロパティを作りました。
その後「ウェブ」のデータストリームを作り、
- サイトURL
- ストリーム名
を設定。
取得したGoogleタグをサイトの <head> 内へ追加しました。
設置するタグの形
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXXXXX');
</script>※この記事では測定ID部分を伏せています。
7. GA4で「データがありません」と出て焦った
GA4を設置してサイトへアクセス。
これで終わりだと思ったら、ホーム画面には、
「ウェブサイトから受信したデータはまだありません」
という表示。
正直、かなり嫌な表示です。
「またGA4の設定を間違えたのか?」
と思いました。
でも、リアルタイムレポートを確認すると、
- アクティブユーザー:1
- page_view
- first_visit
- session_start
- user_engagement
がちゃんと発生していました。
つまり、GA4のタグ自体は正常に動いている。
通常のレポート側へ数字が出るまで、少し時間差があるということでした。
今回いちばん覚えておきたいこと
GA4のホームにすぐ数字が出ない=設定失敗ではない。
まずリアルタイムを確認する。
ここを知らないと、正常なのにタグを何度も入れ直してしまいそうです。
8. 現時点の結果
2026年9月24日時点で、ここまで完了しました。
| 項目 | 状況 |
|---|---|
| サイト制作 | 完了 |
| GitHub管理 | 完了 |
| Cloudflare Pages公開 | 完了 |
| 独自ドメイン | 接続完了 |
| www統一 | 完了 |
| pages.dev転送 | 完了 |
| Search Console | 接続完了 |
| sitemap.xml | 送信成功 |
| GA4 | リアルタイム計測確認 |
| 研究001のGoogle登録 | 確認済み |
| AdSense | 未申請 |
メディアを作るための土台部分は一通り完成です。
9. 翌日、研究001がGoogleに登録された
公開翌日にSearch ConsoleのURL検査で研究001の記事URLを確認すると、
「URL は Google に登録されています」
と表示されました。
ページのインデックス登録欄も「ページはインデックスに登録済みです」となっており、HTTPS配信も正常と確認できました。
ここで分かったこと
サイトマップを送信して記事を公開したあと、研究001の記事はGoogleのインデックスに登録されました。
ただし、インデックスされた=すぐ検索上位に出る、アクセスが来るという意味ではありません。
次は実際の検索表示・表示回数・クリックを追っていきます。
10. GA4を見たら23人。けれど、ほとんどが読者とは限らなかった
Googleにインデックスされたあと、GA4を確認するとアクティブユーザー23人と表示されました。
最初は「意外と見られている?」と思ったのですが、国別・エンゲージメント・流入元まで掘ると見え方が変わりました。
国別ではアメリカ、ポーランド、ドイツ、フランス、オランダなど海外からのアクセスが多く出ていました。しかし、それらの多くは平均エンゲージメント0秒。
一方、日本は2ユーザーで、平均エンゲージメントは4分05秒でした。
さらに「トラフィック獲得」を確認すると、27セッションの内訳は次のとおりでした。
| 流入元 | セッション | エンゲージメント率 | 平均エンゲージメント |
|---|---|---|---|
| Direct | 26 | 15.38% | 14秒 |
| AI Assistant | 1 | 100% | 1分52秒 |
| Organic Search | 0 | ― | ― |
つまり、現時点ではGoogle検索から来た読者はまだ0です。
海外の0秒アクセスについては、自動巡回・クラウド上のアクセス・各種チェックなどの可能性が考えられます。ただしGA4の画面だけでは正体を断定できないため、ここでは「実読者として数えない方が安全そう」と判断しました。
ここで分かったこと
GA4の「ユーザー数」だけを見て喜ぶと、実態を読み違えることがある。
国、エンゲージメント、流入元まで見て、初めて「人が読んでいるのか」が少し見えてくる。
そして今回は、AI Assistant経由と思われる1セッションだけ、1分52秒・エンゲージメント率100%という動きが確認できました。
11. やってみて分かったこと
今回、一番強く感じたのは、
サイト立ち上げは「ものすごく難しい」というより、「細かく迷うポイントが多い」
ということでした。
特に初めてだと迷いやすいのが、
- DNSは反映待ちなのか、失敗なのか
- wwwをどう扱うのか
- Search Consoleはどちらを選ぶのか
- サイトマップは何を入力するのか
- GA4は本当に動いているのか
といったところです。
そして、もう一つ。
設定直後に結果が出ないものが多い。
これも大きい。
反映待ちなのに設定をやり直すと、逆に何が正しいのか分からなくなります。
研究結果
初めてWebサイトを立ち上げるときは、
「何を設定したか」と同じくらい、
「何分・何時間待つものなのか」も記録しておいた方がいい。
12. 次の研究
ここから先は、サイトを「公開した」から「育てる」へ進みます。
次にやる予定は、
- 研究レポートを実際に公開する
- 記事カテゴリを整える
- Search Consoleでインデックス状況を見る
- 検索表示・クリックを記録する
- AdSense申請に必要な状態まで育てる
- AdSense申請
- 結果を追記する
です。
この記事も、AdSense申請・合否・初収益まで進んだら随時更新します。
まとめ
今回は、
サーバー代0円でメディアを作り、独自ドメイン・Search Console・サイトマップ・GA4まで設定
しました。
途中でエラーも出たし、GA4では「データがない」と表示されて不安にもなりました。
でも、一つずつ確認すると、ちゃんと公開まで進められます。
「やったことがないから分からない」。
だからこそ、
調べる。試す。比べる。そして記録する。
これを「はじめて研究所」の最初の研究として、ここから継続して追っていきます。
研究は継続中です。
次回更新:インデックス状況・記事公開・AdSense申請準備