2か月前の失敗を、ひとことで言えばこうなる。「できます」と言われて試すと動かず、原因を聞くと「別の方法を試してください」と返ってくるループに入って、消耗した。
今回は、進め方が最初から違った。
作り直しの道は2つあった。プランAは、今のプラグインの設定を調整して延命する道。プランBは、プラグインをやめて、GASというものでニュースの収集から表示まで自作する道。GAS(Google Apps Script)は、Googleのサーバーの中で自分のプログラムを動かせる無料のサービスだ。実は先に作ったAI秘書チャットボットも、この仕組みで動いている。
Bのほうが、表示の自由が全部手に入る。壊れた日本語も、ぶつ切りの抜粋も、根こそぎ直せる。ただしBには前提条件があった。「GASから各ニュースサイトのRSSが取得できること」。これができなければ、Bは絵に描いた餅だ。
ここでClaudeが提案してきたのが、「本命の判断をする前に、10分の予備実験をしましょう」だった。
4つのニュースソースにGASからアクセスして、取れるか取れないかの白黒だけをつける小さなプログラム。既存のページには一切影響しない。結果が全滅ならA、取れるならB。私はコードをコピーして貼り付けて、実行ボタンを押すだけでいい。
2か月前のループを思い出してほしい。作る→動かない→原因を探す→作り直す。あれを逆にしたのだ。先に白黒をつけてから、作る。
実行ボタンを押して、数秒。ログに結果が並んだ。
4フィード、全部成功。
そして最後の1行に、目が留まった。「【Googleニュース(AI検索)】HTTP 200 / 記事数:102」。
Googleニュース。2か月前、「ブラウザでは見えるのにWordPressのサーバーからは取れない」「どう工夫しても解決しない構造的な問題」と結論が出て、諦めたあのGoogleニュースが、102件の記事を返してきていた。
種明かしをすれば、理屈は単純だった。Googleは外部のサーバーからの自動取得をボットとみなしてブロックする。だが、GASはGoogle自身の設備だ。Googleの中から来る依頼を、Googleは断らない。
構造的に無理、の「構造」のほうを変えれば、通る。2か月前に散々跳ね返された壁が、場所を変えただけであっさり開いた。この10分の実験で、進む道はBに決まった。
(第3話につづく)

