メインコンテンツへスキップ
ブログ一覧へ
開発

Google AdSense申請記:二度の不承認と現在進行形の宿題

2025年12月11日·7 分で読める

正直に言うと、このプロジェクトを続ける理由には収益目的が大きくあります。やりがいや達成感もありますが、個人の時間を割いてコツコツ作り続けることは楽なことではないので、収益が見込めるならそれが一番の原動力になります。心理テストや簡単なゲームサービスで有料サブスクリプションやアプリ内課金は合わないと思い、広告以外に現実的な収益化の手段がないと判断しました。そこでGoogle AdSenseに申請することにしました。

AdSenseへの申請

お金に関わる申請なので、個人情報や銀行口座情報などを入力する必要がありました。どの項目に何を入力すればいいのか戸惑う部分もあって、Geminiの助けを借りながら一つずつ進めました。「この項目はこう入力すればいいですか?」とスクリーンショットを撮りながら質問するやり方で。Cloudflareの初回デプロイの時と同じ方法でした。

最初の不承認

申請してからほどなく、不承認のメールが届きました。理由は二つでした。「コンテンツがないか、価値の低いコンテンツを含む画面」と「準備中の画面通知、移動またはその他の行動目的で使用される画面」。メールの内容だけでは、どのページが問題なのか、何をどう直せばいいのか見当がつきませんでした。

調べてみると、最大の問題はReact + ViteでつくったSPAの構造でした。AdSenseのボットがサイトをクロールする際にJavaScriptが実行されず、空のHTMLしか見えていなかったのです。コンテンツがないのではなく、ボットの目にはコンテンツが映っていなかったということです。

一つずつ改善した

不承認の理由をGeminiに見せて、何を直せばいいか聞きました。そして指摘してもらった問題を一つずつ対処していきました。

  • プリレンダリングの導入:React SPAはビルド時に各ページをHTMLとして事前生成しておけば、ボットがコンテンツを読めます。すでに`src/data/`にコンテンツが登録されていたので、プリレンダリングを組み込むこと自体はそれほど難しくありませんでした。
  • サイトマップ生成:検索エンジンがページ一覧を把握できるよう、`sitemap.xml`を自動生成するように設定しました。
  • プライバシーポリシーと利用規約の追加:AdSenseのポリシー上、必須項目でした。Geminiが初稿を作ってくれて、サービスに合わせて少し手を加えました。
  • ドメインの購入:Cloudflare Pagesが提供する`.pages.dev`の開発用アドレスの代わりに、`qfitlab.com`ドメインを別途購入して接続しました。AdSenseではカスタムドメインが事実上必須です。

これらの作業を終えて、再申請しました。今回はいけそうだと思っていました。

二度目の不承認

また不承認でした。今回はもう少し内容を詳しく調べました。Google AdSenseは基本的にブログや記事ベースのテキストコンテンツを好む仕組みです。検索を通じて訪問したユーザーが読めるテキストコンテンツがあってこそ、広告を貼るのに適していると判断するわけです。Q-Fitは画像、ゲーム、質問票が中心のサービスです。テキストコンテンツが相対的に少ない構造にならざるを得ません。

テキストを増やす必要がありますが、そうするとユーザーが読まなければならない情報量が増えます。心理テストをしに来たのに長い文章が先に表示されたら、興味が薄れてしまいそうでした。このジレンマがまだ解決できていません。

まだ解決中

今考えている方向性は、サービス本体に無理やりテキストを詰め込むのではなく、テキスト中心のコンテンツを別途作って追加するというものです。紹介ページやブログのような形で。ゲームやテストに関する読み物を提供すれば、そちらでテキストの要件を満たしつつ、本サービスの使い心地は変えずに済みます。

二度断られ、まだ解決できていません。でも、どちらにせよいつかはうまくいくだろうと思っているので、大きく落ち込んではいません。目指す方向はあって、そちらに少しずつ進んでいる——今はそういう状況です。

他の記事を見る