iOSショートカットからGoogle Indexing APIへリクエストする方法

2023-08-12 2026-06-09 ハック

ブログ記事を書くたびにGoogle Search Consoleでインデックス登録をリクエストしている人は少なくないだろう。

Google Indexing APIを使うと、わざわざサーチコンソールの画面にアクセスせずとも、インデックス登録リクエストの作業を自動化できる。

僕はiPhoneからブログを更新することも多いので、iOSショートカットからそれを実行する方法を解説する。

【2026-06-03 追記】この手法はもう非推奨。通常ページのインデックス登録には使わないでほしい。

この記事を書いた2023年当時は、Indexing APIで自分の記事を投げると体感でちゃんとクロールが走っていた。だが2026年現在、状況はだいぶ変わってしまった。

そもそもIndexing APIは、建前としては求人情報(JobPosting)とライブ配信(BroadcastEvent)専用のAPIだ。当時は通常の記事ページに対しても効いてしまっていたので、僕を含めみんな普通のブログ更新通知に使っていた、というのが実態だった。

ところが2024年にGoogleが「このAPIが突然効かなくなっても驚かないでほしい」と公式に釘を刺し、2025年には承認制(利用申請が必要な形)が導入された。GoogleのJohn Mueller氏も「スパマーによる乱用が多い。文書化された用途(=求人・ライブ配信)にだけ使ってくれ」とハッキリ明言している。

実際、通常ページにこのAPIを使うと「一旦インデックスされてもすぐ削除される」「送ったのにトラフィックがガクンと落ちて戻ってこない」といった報告も出ている。つまり今やリスクの方が大きい。

じゃあどうするのが正解か? 結局、地味だけど王道に戻るのが一番だ。

  • sitemapのlastmodを正確に運用する(記事を更新したら、その日時をちゃんと反映させる)
  • どうしても急ぎたい時だけ、Search Consoleの「URL検査」→「インデックス登録をリクエスト」を手動で押す

この2つで十分だし、これがGoogleの想定どおりの正攻法だ。

以下の本文は、当時の記録としてそのまま残しておく。手順の資料的価値はあると思うので、「2023年にはこういうやり方が通用していた」という前提で読んでほしい。

事前準備

下準備については、以下のサイトで丁寧に解説がなされているので参照してほしい。
ここからの解説は、サービスアカウントの作成が完了している前提で進めていく。

GoogleのIndexing APIを使って、ブログの更新を通知する(1)準備までGoogle Indexing APIを使って、ブログのURLを直接Googleに伝えよう!kanaxx.hatenablog.jp

準備1:OAuth2.0の設定

準備2:アクセストークンを取得

このcodeの有効期限は約10分しかないので、10分以内に次のステップを完了しよう。

準備3:リフレッシュトークンの取得

準備の最終ステップとして、ここからは実際にiOSショートカットを使っていく。
まずは、以下のような3ステップのアクションを構築して実行しよう。

リフレッシュトークン取得用iOSショートカットの3アクション構成

以下、各アクションについて解説する。

完了したら、アクションを実行しよう。
以下のようなメッセージが返ってきたら成功だ。
REFRESH_TOKENの部分を控えておこう。

{"refresh_token":"REFRESH_TOKEN","scope":"https:\/\/www.googleapis.com\/auth\/indexing","expires_in":3599,"access_token":"ACCESS_TOKEN","token_type":"Bearer"}

もし、以下のようなエラーが返ってきたら、おそらくYOUR_CODEの有効期限切れなので、準備2からやり直そう。

{"error":"invalid_grant","error_description":"Bad Request"}

これで準備は完了だ。
実際に使用するショートカットの作成に移ろう。

ショートカットの作成

作成すべきアクションの全体像は以下のようになる。

インデックス登録リクエスト用iOSショートカットの7アクション全体像

以下、各アクションについて解説する。

もし、メモしているREFRESH_TOKENの中に「\(バックスラッシュ)」が含まれていたらエラーの原因になるので削除しておくこと。
例)「1\/\/0e9…」のようになっていたら、「1//0e9…」とバックスラッシュを削除

すべて完了したら、アクションを実行して何か適当に自分のサイトのURLを入力してみよう。
以下のようなメッセージが返ってきたら成功だ。

{“urlNotificationMetadata”:{“url”:“送信したURL”,“latestUpdate”:{“url”:“送信したURL”,“type”:“URL_UPDATED”,“notifyTime”:“送信した日時(世界標準時)”}}}

試しに、送信したURLをサーチコンソール上で確認してみよう。
「前回のクロール」欄にショートカットを実行した日時が記載されていればリクエストが完了している。

サーチコンソールのURL検査画面で前回のクロール日時を確認

これで、サーチコンソール上で手動でURLを送信したのと同じ状態になったので、あとはGoogleのインデックス化を待つだけだ。