島根県安来市のフリーランスエンジニア_プログラマー画像1

WordPressの記事をGoogleビジネスプロフィールに自動投稿するプラグインを自作した話

WordPressに記事を投稿するたびに、Googleビジネスプロフィールにも手動で同じ内容を転記していました。この二度手間をなくすため、投稿と同時に自動でGoogleビジネスプロフィールへ投稿される仕組みをWordPressプラグインとして実装しました。

背景:手動投稿の二度手間を解消したかった

Googleビジネスプロフィールには「投稿」機能があり、最新情報やブログ記事の要約を掲載することでローカルSEOに効果があるとされています。しかし、WordPressに記事を書いたあと、さらにGoogleビジネスプロフィールの管理画面を開いて同じ内容をコピペする作業が発生します。

運用を続けていくうちに「これは絶対に自動化できる」と感じ、WordPressのプラグインとして実装することにしました。

実装した仕組みの概要

仕組みはシンプルで、WordPressの記事公開イベントをフックして、Google My Business APIへリクエストを送るだけです。

  • 1
    WordPressで記事を公開 publish_post アクションが発火する
  • 2
    プラグインが投稿内容を取得 タイトル・抜粋・URLを整形する
  • 3
    Google My Business API へリクエスト OAuth2.0認証を経てビジネスプロフィールに投稿
  • 4
    Googleビジネスプロフィールに自動掲載 数秒〜数十秒で反映される

技術的なポイント

WordPressのフック(publish_post)で投稿を検知

WordPressには記事のステータスが変化したときに発火するアクションフックがある。transition_post_status を使うと「下書き→公開」のタイミングだけを正確に拾えます。

// 下書きから公開に変わった瞬間だけ発火 add_action( ‘transition_post_status’, function( $new, $old, $post ) { if ( $new === ‘publish’ && $old !== ‘publish’ ) { ea_post_to_gbp( $post ); } }, 10, 3 );

Google My Business API の認証

APIへのアクセスにはOAuth 2.0認証が必要になります。Google Cloud ConsoleでAPIを有効化し、サービスアカウントまたはOAuth クライアントIDを取得する。アクセストークンの有効期限は1時間のため、リフレッシュトークンを使った自動更新も実装しました。

📌 使用するAPIエンドポイント My Business Business Information API(v1)と My Business Notifications API を組み合わせて使用。投稿(Post)の作成には accounts/{accountId}/locations/{locationId}/localPosts へPOSTリクエストを送る。

投稿内容の整形

Googleビジネスプロフィールの投稿は1,500文字まで入力できるが、実際には300文字程度で表示が切れます。そのため、WordPressの抜粋(excerpt)を優先し、なければ本文の冒頭を120文字で切り取って使用しています。

$summary = get_the_excerpt( $post->ID ); if ( empty( $summary ) ) { $summary = mb_substr( strip_tags( $post->post_content ), 0, 120 ) . ‘…’; } $body = [ ‘languageCode’ => ‘ja’, ‘summary’ => $summary, ‘callToAction’ => [ ‘actionType’ => ‘LEARN_MORE’, ‘url’ => get_permalink( $post->ID ), ], ‘topicType’ => ‘STANDARD’, ];

実装してわかったこと・注意点

項目 内容
投稿の有効期限 Googleビジネスプロフィールの投稿は作成から約6ヶ月で自動削除されます
画像の扱い APIで画像も添付可能。アイキャッチ画像のURLを渡すと自動で添付されます
APIの割り当て 無料枠で通常の運用は十分まかなえます
投稿タイプの制限 固定ページは除外し、投稿(post)のみを対象にしています
エラーハンドリング API失敗時はWordPressの管理画面に通知を出す仕組みを追加した
⚠️ 注意:カテゴリの絞り込みを忘れずに 全記事を無条件でGoogleビジネスプロフィールに投稿すると、技術記事やプラグインリリース情報など顧客向けでない内容も流れてしまう。特定カテゴリのみを対象にするフィルタリングを最初から入れておくことを強く推奨します。

効果と今後

この仕組みを導入してから、WordPressに記事を公開するだけでGoogleビジネスプロフィールへの投稿が自動で完了するようになりました。作業時間の削減はもちろん、投稿忘れがなくなったことで更新頻度の維持が格段に楽になりました。

同様の二度手間・手動作業はどの業種にも存在する。「あの作業、自動化できないか」と感じたことがあれば、ぜひ一度ご相談いただければ幸いです。

Excelファイルを自動でまとめるツール無料配布|フォルダ選択だけで一括集計

Google Search Consoleで「クロール済み-インデックス未登録」が増えた時の対処法【実例あり】