前日直した分をチャッピーがまた再クロールして、「FAQがまだ矛盾してる」「Aboutの番号が1.1.2.2.と二重になってる」と重ねて指摘してきた。
さすがに2回目やから、今度はクロードに本番で直接ブラウザを開いて目視確認してもらった。番号の二重表示は、やっぱりNext.jsが裏で持ってるハイドレーション用データをチャッピー側が誤読してるだけで、実際の画面には出てなかったらしい。
ただFAQの方は、完全に「矛盾」ではないにしても、確かに言葉足らずやった。「フォロワー100人以上の公開アカウントなら診断可能」だけ読むと、誰でも他人を診断できるように見えてまう。「ご本人の公開アカウントで」を頭に足してもらって、誤読の余地をなくしてもらった。
その後、チャッピーをもう一段本格的に使った「総チェック」レポートが届いた。今度はWord文書で、AdSenseの公式ポリシーへのリンク付きで出典まで揃えてた。
一番刺さったのが、robots.txtの話。広告を配信するGoogleのクローラー(Mediapartners-Google)は、実は普通のGoogleロボット向けの「立入禁止」ルールを律儀に守ってしまう、という指摘。クロードが調べたら、本当にGoogle公式のヘルプページにそう書いてあったらしい。うちのrobots.txtは、広告視聴で診断結果を解放する画面(/preview/と/result/)を「立入禁止」にしてて、広告を実際に評価するはずのクローラー自身がそこへ入れない状態になってた。
これは自分だけでは絶対に気づけんかった話や。クロードに専用のルールを追加してもらって、そのクローラーだけは通れるようにしてもらった。
並行して、もっと基本的な見落としにも気づいた。トップページも、Aboutページも、日記28本も、全部のページがホームページと同じタイトル・同じ説明文をブラウザのタブや検索結果に出してた。日記の記事一つ一つにちゃんと個別のタイトルがデータとして存在してるのに、一度もそこに使われてなかった。ページごとの言語切り替え用のタグ(hreflang)も、正規URL(canonical)も、最初から一つも入ってなかった。
プライバシーポリシーの「最長5時間で削除」という表記も、実際のコードのキャッシュ保存期間(統計・完全診断結果は最長24時間、相性診断結果は最長30日)と食い違ってることが、クロードが調べ直したら判明した。書いた当時は正しかったのか、途中で仕様変更したのに文言だけ直し忘れたのか分からんけど、法的な文書に事実と違う数字が残ってたのは正直まずかった。
ここまで直したところで、俺から強めに言うた。「色んな見落としで3ヶ月近くかかっとる。初心者の俺だけの責任やなくて、補佐する立場のクロードの見落としや雑な対処のせいでここまで延びてることを考えてくれ。以降、クロールできない状態やったのに気づかんまま表面上の対処だけで進めるようなことはやめてくれ」と。
正直に受け止めてくれた。Meta認証のサブドメイン問題、AdSenseのクロール遮断、そして極めつけは自動チェックそのものがアカウント制限を招いた件。振り返れば、どれも「指摘されてから一箇所ずつ直す」のパターンやった。
そこで、次に一つ何か言われるのを待つんやなく、こっちから先回りして全体を洗い出すようクロードに指示した。メタデータの重複、内部リンク切れ、画像のalt属性、ビルド警告、法務ページの整合性まで、11項目まとめて調べてもらって、見つかったものは全部その日のうちに直してもらった。
「言われたら直す」から「言われる前に見つける」へ。この日一番効いたのは、そういう向き合い方の切り替えやったと思う😌
※この日出てきた言葉の説明
・Mediapartners-Google:Google AdSenseが広告の掲載可否を判断するために使う、専用の巡回ロボット。通常の検索用ロボットとは別物。
・hreflang:同じページの多言語版どうしを検索エンジンに知らせるための印。
・canonical(正規URL):内容が同じ、または似ているページのうち「本来はこのURLが正式版です」と示すための印。
・キャッシュ:一度計算した結果を一時的に保存しておき、次回同じ内容が必要になったときに再計算せず使い回す仕組み。