メインコンテンツへスキップ
見出し画像

Google Search ConsoleとOAuth審査で大混乱

    こんにちは、よなです。

    YONA GAMESという個人ゲームサイトを運営しています。

    YONA GAMES | 無料ブラウザゲーム YONA GAMESは、ブラウザで無料ゲームを公開・提供する個人ゲームスタジオです。第一作「MINECOIN Miner」 yona-games.com

    前回は、Googleログインやゲストプレイ、Cloudflare Turnstileの設定でつまずいた話を書きました。ログインボタンが動く。ゲストでもゲームを始められる。これで公開まわりの作業も、そろそろ終わりだろう。そう思っていました。

    ところが、最後の砦がありました。それは、Google Auth Platformの設定画面です。

    「次のドメインが見つかりません」

    Googleログインのブランディング設定で、アプリケーションのホームページとして次のURLを入力しました。

    https://yona-games.com

    YONA GAMESのサイトは、普通にブラウザで開けます。Cloudflare Pagesにも接続できている。独自ドメインも設定済み。自分のブラウザからは何の問題もなく表示される。

    それなのに、Google側にはこう表示されました。

    次のドメインが見つかりません: yona-games.com

    えっ、見つからない?
    普通に繋がっているのに?

    ブラウザで開けるサイトと、Googleが「確認できる」と判断するサイトは、まったく別の基準で動いていました。今回、ゲームのバグではなく、ドメインの存在証明でつまずくとは思ってもいませんでした。

    「検証」はどの「検証」なのか

    Google Cloud Consoleから設定を確認していると、Search Consoleの「検証」という言葉が出てきました。

    ただ、Googleの管理画面には似たような確認項目がいくつも並んでいます。ドメインの所有権を確認する。検索パフォーマンスのデータを見る。OAuthアプリのブランディングを審査する。承認済みドメインを登録する。

    Search Consoleを開くと、検索パフォーマンス画面にはこう表示されていました。

    データを処理しています。1日後にもう一度ご確認ください

    ※正確な文言ではない可能性があります

    これを見て、「まだドメイン確認に失敗しているのかな」と思ってしまいました。でも、これは所有権確認の結果ではなく、単に検索データがまだ蓄積されていないという意味でした。ここを混同したことで、しばらくGoogleの画面を行ったり来たりすることになりました。

    CloudflareのDNSにTXTレコードを追加する

    Search Consoleでyona-games.comのプロパティを確認し、CloudflareのDNS設定を見直しました。サイトの公開には、すでにCNAMEレコードが設定されています。

    yona-games.pages.dev

    そこへ、Google Search Consoleの所有権確認用としてTXTレコードを追加しました。

    google-site-verification=...

    CNAMEは、ドメインをどこへ向けるかを指定するもの。TXTは、そのドメインを自分が管理していることを証明するためのもの。なんとなく似ているように見えますが、このふたつは役割がまったく違います。

    さらに、Google確認用のTXTレコードはDNSのみで登録します。Cloudflareは便利ですが、設定項目が多い。便利な工具箱を開けたら、なぜかドライバーだけで20種類くらい入っていた、みたいな感覚です。どれを使えばいいのかは、結局説明書を読むしかありません。

    ドメインを確認して終わりではなかった

    DNSの設定を進め、Google Auth Platform側でyona-games.comを承認済みドメインとして登録しました。

    これで終わりだと思っていたのですが、今度はアプリケーションのホームページについて確認が必要になりました。最初に指定していたのは、サイトのトップページです。

    https://yona-games.com

    しかし、Googleログインを使うアプリケーションとしては、何のサイトなのか、何のためにログインするのか、運営者は誰なのか、利用者の情報をどう扱うのか。これらが、ページを見ればわかる必要があります。

    トップページにはゲームの紹介や遊び方を載せていますが、Googleの審査に必要な説明としては足りない状態でした。ゲームを遊びに来た人にとっては十分な自己紹介でも、認証サービスの目には「怪しい訪問者」に映っていたわけです。

    Aboutページを作る

    トップページに説明を詰め込むと、ゲームサイトとしての見た目が崩れてしまいます。そこで、アプリの目的を説明する専用ページを作りました。

    https://yona-games.com/about/

    さらに、次のページも用意しました。

    https://yona-games.com/privacy
    https://yona-games.com/terms

    トップページはゲームを紹介する場所。Aboutページは、YONA GAMESとMINECOIN Minerが何を提供しているのかを説明する場所。プライバシーポリシーと利用規約は、利用者が確認できる場所。役割を分けることで、トップページのデザインを大きく変えずに、Google側の要件にも対応できるようにしました。

    サイト側にも修正が必要だった

    ページを追加するだけではなく、公開環境で直接アクセスされたときにも正しく表示される必要があります。ローカル環境ではルーティングできていても、Cloudflare Pages上で /about/ を直接開いたときに正しく返せるとは限りません。

    そのため、静的フォールバックを追加し、Googleブランディング用のAboutページを用意しました。トップページには、ゲーム紹介や関連ページへの案内も追加しています。

    「ページを作った」だけでは足りません。「Googleがそのページを実際に開いたとき、中身をきちんと読み取れるか」まで確認して、初めて一つの作業が終わります。前回、前々回でも同じような話を書いた気がしますが、公開作業ではこのパターンが本当に何度も出てきます。

    ようやくブランディング検証が完了した

    その後、Google Auth Platformの検証センターで、ブランディングが検証済みと表示される状態まで進みました。GoogleからOAuthアプリのブランド検証を承認したというメールも届きました。

    ここまで来て、ようやくGoogleログインの入口に、YONA GAMESの名前とロゴを出せる状態になりました。

    今回わかったこと

    今回の作業で、少なくとも3つの確認を別々に考える必要があるとわかりました。

    ブラウザでサイトが開くこと。これは、Cloudflare Pagesとドメインの設定が動いているという話です。

    Search Consoleで所有権を確認すること。これは、DNSのTXTレコードなどを使って、そのドメインを自分が管理していることを証明する作業です。

    Google OAuthのブランディング審査に通ること。これは、承認済みドメインだけでなく、アプリの目的がわかるホームページや、プライバシーポリシー、利用規約なども確認される作業です。

    どれも「Googleの確認」という同じ名前で呼ばれがちですが、実際には別の窓口、別の審査基準、別の担当部署でした。一つ通ったからといって、次も同じように通るとは限りません。

    検索データがないことは失敗ではなかった

    Search Consoleに検索パフォーマンスのデータが表示されなかったので、最初はドメイン確認が失敗していると思っていました。

    でも、サイトを公開したばかりなら、検索データがまだ存在しないのは当然です。Googleにサイトを登録したからといって、その瞬間から検索データが降ってくるわけではありません。

    「データがない」と「確認に失敗した」は違う。これは、今後Search Consoleを使うときにも覚えておきたいことです。

    Googleログインを設定したらAboutページで止まった

    今回、一番印象に残ったのは、ゲームのコードを一行も直していないことです。MINECOIN Minerの盤面も、報酬計算も、セーブ処理も関係ありません。

    Googleログインを設定するために必要だったのは、ドメインのDNS設定と、ゲームサイトの説明ページでした。マインスイーパーの数字と一切関係のない場所で、一番苦戦していたわけです。

    ゲームを作っていると、ついゲーム本体だけを見てしまいます。でも、公開するには、ドメイン、DNS、HTTPS、認証、利用規約、プライバシーポリシー、サービスの説明、OAuthのブランディングまで必要になります。

    ゲームを作ることと、ゲームを公開することは別の競技。そして、ゲームを公開することと、Googleに「このサイトは大丈夫です」と認めてもらうことも、また別の競技でした。

    4話を書き終えて

    ここまでの4話で、MINECOIN Minerを公開するまでに起きたことを、ひと通り書き残せました。

    最初に、持たない情報を決めた。

    Cloudflare Pagesの初回デプロイでつまずいた。

    Googleログイン、ゲストプレイ、Turnstileを設定した。

    そしてGoogle Search Console、DNS、OAuthブランディングの確認で迷った。

    どれも、ゲームの盤面をクリックしているだけでは絶対に起こらない問題です。でも、一般公開するなら避けて通れません。

    次回は、この4話をまとめて、Cloudflare Pages・Cloudflare Worker・Supabase Auth・Google OAuth・Turnstileを組み合わせて、個人ゲームを公開するまでの構成を整理します。苦労話ではなく、設定項目と確認手順を中心にした開発者向けの記事です。

    ではまた!


    PC専用ブラウザゲーム『MINECOIN Miner』絶賛公開中!
    ソシャゲ風マインスイーパーで鉱石の収集・スキルで素早く盤面攻略・深層探査などのやりこみ要素もあります!ぜひプレイしてみてください。


    YONA GAMES | 無料ブラウザゲーム YONA GAMESは、ブラウザで無料ゲームを公開・提供する個人ゲームスタジオです。第一作「MINECOIN Miner」 yona-games.com


     
     

    よな

     
     
    群馬在住の2児パパ👨‍🦰 日常・エッセイ・AIゲーム制作🎮 個人開発はCodexをメインで使用💻 10代のころ夢に見たゲーム制作を今、AIの力で実現中! 個人ゲームスタジオ【YONA GAMES】を運営 https://yona-games.com/

    あなたへのおすすめ