手当たり次第に書くんだ

飽きっぽいのは本能

WordPress の外部連携プラグインが重い原因 – 投稿時の同期処理を見直す

以前、WordPress の投稿時に WP to Twitter が重く感じられることがありました。当時は、投稿と同時に Twitter へ通知するプラグインとして使っていましたが、今あらためて見ると、この問題は特定プラグインだけの話ではありません。

本質は、WordPress の投稿処理に外部 API 連携を直接ぶら下げると、投稿画面や公開処理が外部サービスの応答に引きずられるという点です。SNS 自動投稿、検索エンジン通知、Webhook、メール送信なども同じ構造の問題を持ちます。

外部連携プラグインが重くなる理由

WordPress の投稿ボタンを押した瞬間に、外部サービスへ API リクエストを投げるプラグインがあります。処理が正常にすぐ終われば問題は目立ちません。しかし、外部 API の応答が遅い、認証に失敗する、リトライが走る、DNS や HTTPS の接続で待たされる、といった状況になると、WordPress 側の操作感が重くなります。

原因起きること見るべき観点
外部 API の応答待ち投稿処理が完了しにくくなる同期処理になっていないか
認証情報の失効失敗とリトライを繰り返すAPI キーや OAuth の状態
DNS / HTTPS の遅延接続開始まで待たされる名前解決、証明書、ネットワーク経路
プラグインの肥大化管理画面全体が重くなる不要な機能や常時読み込み
外部仕様変更突然動かなくなるSNS 側の API 変更

WP to Twitter という前提は古い

WP to Twitter は、当時の WordPress と Twitter 連携の文脈では自然な選択肢でした。しかし現在は、Twitter が X に変わり、API 仕様や利用条件も大きく変化しています。そのため、古い SNS 自動投稿プラグインの記事は、そのまま手順として読むよりも、外部連携の設計問題として読む方が価値があります。

プラグイン名だけを追いかけると、現在の環境では使えない情報になりやすいです。一方で、投稿処理と外部通知処理をどう分離するかという観点は、今でも有効です。

投稿処理と通知処理は分けた方がよい

WordPress の投稿処理は、記事を保存し、公開状態を変更するための中核処理です。ここに外部 SNS への通知、Web API 呼び出し、メール通知などを同期的に混ぜると、外部側の問題が WordPress の投稿体験に直接影響します。

理想としては、投稿の保存と公開をまず確実に完了させ、その後の通知処理は非同期に分ける方が運用しやすいです。WordPress 単体であれば予約タスクや Action Scheduler 系の仕組み、サーバー管理まで含めるなら外部ジョブやキュー、Webhook 受信側の再送制御などを検討します。

同期処理でよいもの

  • WordPress 内部で完結する軽い検証処理
  • 投稿データの保存に必要な最低限の処理
  • 失敗したら投稿そのものを止めるべき処理

非同期に分けたいもの

  • SNS への自動投稿
  • 外部 API への通知
  • メール配信
  • 検索エンジンや外部サービスへの ping
  • 失敗しても記事公開自体は成立する処理

切り分けるときの確認項目

投稿画面が重い場合、まずはプラグインを疑うだけでなく、どのタイミングで重くなるかを確認します。編集画面を開くだけで重いのか、保存時だけ重いのか、公開時だけ重いのかで原因が変わります。

  • 編集画面を開くだけで重い場合は、管理画面に読み込まれるプラグイン機能を疑う
  • 下書き保存だけ重い場合は、保存フックやメタデータ更新を疑う
  • 公開時だけ重い場合は、外部通知や SNS 自動投稿を疑う
  • 失敗後にさらに重くなる場合は、リトライや認証失敗を疑う
  • 全体的に重い場合は、PHP、DB、キャッシュ、ネットワークも確認する

WP-CLI で最低限確認する

プラグイン一覧は WP-CLI で確認できます。問題のあるプラグインを特定する場合は、ステージング環境などで一時的に停止して挙動を比較します。本番でいきなり無効化すると、通知や表示に影響することがあるため注意します。

wp plugin list
wp plugin status wp-to-twitter

プラグインが原因か確認する場合は、まず現在の状態を記録してから作業します。停止する場合も、影響範囲を理解した上で行います。

wp plugin deactivate wp-to-twitter
wp plugin activate wp-to-twitter

サーバー管理としての考え方

外部連携プラグインが重い場合、単に「このプラグインが悪い」と考えるより、WordPress の責務をどこまでにするかを考えた方がよいです。WordPress は記事を管理する CMS であり、外部 SNS や API 通知の成功まで投稿処理に密結合させると、運用上の弱点になります。

外部サービスは仕様変更、障害、認証期限、API 制限の影響を受けます。そのため、投稿処理に不可欠でない通知は、失敗しても後から再実行できる形に分ける方が堅実です。

まとめ

WP to Twitter が重いという問題は、古い SNS 連携プラグインの個別トラブルであると同時に、WordPress の投稿処理に外部 API 連携を直接混ぜる設計の弱さでもあります。

現在の運用では、投稿の保存と公開をまず安定させ、SNS 通知や外部連携は非同期化、再実行可能化、または別サービス化する方が扱いやすいです。古いプラグイン記事は、手順そのものよりも、外部連携をどの責務に置くべきかを考える材料として読むのがよいと思います。

参考
書籍
参考書籍

WordPress 仕事の現場でサッと使える!デザイン教科書 [WordPress 6.x対応版] 改訂第3版

WordPress のサイト構築、テーマ、カスタマイズ、運用項目を確認したい場合の参考書籍です。価格や在庫、WordPress の最新仕様との差分はリンク先や公式ドキュメントで確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

関連記事

WordPress の外部連携プラグインが重い原因 – 投稿時の同期処理を見直す

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る