1件のWordPressサイトのコンテンツやメディア管理にも手間がかかるところ、5件、10件、あるいは数十件のサイトを管理するとなれば、その作業量はどんどん膨れ上がります。結果として、終業後の残業やワークフローの乱れ、多くの無駄な作業などが発生することも珍しくありません。

何十社のクライアントを抱えるWeb制作会社を経営している、大規模なマルチサイトを管理している、あるいはビジネス目的で複数のブログを運営している場合、長期的な同期作業はすぐに負担になります。

このプロセスを簡素化する方法として、WP-CLIWordPress Command Line Interface)、WordPress REST API経由の自動更新、カスタムスクリプトなどのツールを活用すれば、各管理画面で何時間も作業を行うことなく、複数のサイト間で記事の変更、メディアのアップロード、ファイルの最適化などの操作を行うことができます。Kinstaが提供するMyKinstaのようなサーバーコントロールパネルと組み合わせれば、さらに作業が効率化されます。

今回は、コンテンツとメディアの一括管理の重要性、WP-CLI、API、スクリプトを取り入れる方法、そしてMyKinsta導入でどのようにワークフローが最適化されるかについて詳しく掘り下げます。

コンテンツとメディアの一括管理の重要性

Web制作会社のポートフォリオ、マルチサイト、あるいは複数のブログやマイクロサイトを持つビジネスで、複数のWordPressサイトを運営している場合、日々のタスクの規模は急速に大きくなります。1つのサイトを更新するのは比較的シンプルな作業かもしれませんが、同じ変更を何十件ものサイトに適用するとなると、以前は数分で済んでいた作業が突然1日がかりになることも。

コンテンツとメディアの一括管理は、単に日々の業務が楽になるだけでなく、ブランドの一貫性高いパフォーマンスを維持し、コストのかかる潜在的なミスの軽減につながります。適切なアプローチなしでは、次のような事態が起こり得ます。

  • 古いブログ記事や商品説明、サイトごとに異なる法的免責事項の公開
  • フォント、メッセージのようなブランディングに関わる要素の不一致
  • サイズが大きく最適化されていない画像で埋め尽くされたメディアライブラリによるパフォーマンス低下とストレージ容量の浪費

このような問題は効率性を損ない、ブランドに傷をつけるだけでなく、サイトの表示速度を低下させ、検索順位にも悪影響を及ぼします。動きが早く変化の激しい業界では、時代遅れのコンテンツや一貫性のないコンテンツで遅れをとれば、潜在的な収益や機会を逃すことになります。

管理するサイトが増えれば増えるほど、更新を一括で実行できるツールやプロセスの必要性が高まります。各サイトの管理画面にいちいちログインすることなく更新できるのが理想的。そこで役立つのが、WP-CLIのようなコマンドラインツール、API経由の自動更新、マルチサイト管理用に設計されたコントロールパネルです。

メディアの一括アップロードとWP-CLIを使った最適化

WordPress管理の繰り返しタスクを処理するには、WP-CLIを活用しない手はありません。

メニューをクリックしてページが読み込まれるのを待つ代わりに、ターミナルから直接WordPressを管理できるため、複数のサイトを担当している場合には非常に便利です。

適切なコマンドを使えば、管理画面に触れることなく大規模なメディアのインポート、最適化定期的なメンテナンスの設定まで行うことができます。

WP-CLIとは

WP-CLIはオープンソースの無料コマンドラインツールで、簡単なテキストベースのコマンドを使ってWordPressサイトを操作することができます。プラグインのインストール、コンテンツのインポート、ユーザーの管理など、管理画面でできることはほぼすべてWP-CLIで実現可能です。

ブラウザのタイムアウトやメモリ制限を気にせずに一度に何百、何千ものタスクを処理することができるため、複数サイトの一括操作に理想的です。

各サイトごとに実行することも、複数のサイトをループするスクリプトに含めることもでき、どこにでも同じコマンドを適用できるため、マルチサイト全体の更新やクライアント全体のメディア処理に役立ちます。

メディアの一括アップロード

WordPressのメディアライブラリを使ってファイルを一度にアップロードするのは時間がかかり面倒な作業です。WP-CLIのwp media importコマンドを使えば、画像、動画、PDFなど、サポートされているファイル形式であれば数秒で一括インポートすることができます。

このコマンドは以下のように使用します。

wp media import /path/to/images/*.jpg --title="Bulk Upload" --featured_image

上記コマンドは、指定したフォルダ内のすべての.jpgファイルをインポートし、デフォルトタイトルを割り当て、該当する場合はそれぞれをアイキャッチ画像として設定します。コマンドラインから実行するため、管理画面から実行するよりも圧倒的に効率的で、一般的なブラウザのアップロード制限も回避できます。

共有ドライブやS3バケットなどの一元的な場所にメディアを保存している場合は、wp media importをサイト一覧をループするスクリプトに統合することで、プロセスを完全に自動化することができます。

メディアの最適化

最適化されていない大きい画像は、サイトのパフォーマンスを低下させる最大の要因の1つ。WP-CLIを使えば、SmushImagifyShortPixelなどの最適化プラグインと組み合わせて、ターミナルから圧縮をバッチ処理することができます。

ShortPixelは画像を圧縮して最適化するのに便利
ShortPixelは画像を圧縮して最適化するのに便利

Smushをインストールしている場合は以下のようになります。

wp smush images

これにより、メディアライブラリ内のすべての画像が一度に最適化されるため、各サイトのメディアライブラリに移動して各画像を最適化する手間を省くことができます。何十ものサイトを扱っている場合、大幅な時短が可能になります。

また、WP-CLIを画像リサイズツールや変換ユーティリティ(WebPコンバータなど)と併用すれば、さらにパフォーマンスを高めることができます。

繰り返しタスクの自動化

WP-CLI最大のメリットの1つは、cronジョブやジョブ管理システムと組み合わせて、タスクを自動で実行できることにあります。以下のような状況で特に便利です。

  • 毎晩共有フォルダからメディアを新たにインポートする
  • ファイルサイズを小さく保つために、毎週または毎月最適化を実行する
  • 定期的に未使用のメディアファイルを削除して、ストレージ容量を確保する

例えば、毎週cronジョブを設定し、すべてのサイトでメディアインポートと最適化の両方を実行するようにすれば、手を加えることなくすべてのサイトを常に最新の状態に保つことができます。

WP-CLIと自動化を組み合わせれば、サイトがどれほど増えても、全サイトのメディアライブラリを整理された状態に保ち、軽量化し、最適化することができます。反復可能で信頼性の高いワークフローの完成です。

APIとカスタムスクリプトを使ったサイト全体のコンテンツの管理と更新

コンテンツの一括更新は効率化だけでなく、すべてのサイトで正しい最新情報を配信できることも意味します。

新たな法的免責事項の追加、ECサイト全体の商品詳細の変更、または数十のマイクロサイトにまたがる緊急のお知らせ公開など、APIとカスタムスクリプトは、手作業による編集よりもはるかに高い精度でこのような変更を大規模に処理できます。

WordPress REST APIの使用

WordPressのコアに組み込まれているREST APIは、サイトデータの自動処理に役立ちます。APIを使えば、管理画面にログインすることなく、シンプルなHTTPリクエスト投稿や固定ページの取得、更新、削除、作成が可能です。

REST APIの柔軟性は、複数サイトの管理に非常に役立ちます。例えば、各サイトのAPIエンドポイントを順番に回って更新を行い、その結果を確認するという一連の作業を自動で行うスクリプトを作成することができます。

例えば、REST API経由で投稿のタイトルを変更するには、以下のようなリクエストを送信します。

POST https://example.com/wp-json/wp/v2/posts/123
{
  "title":"変更した投稿タイトル"
}

一度認証されると(通常はアプリケーションパスワードかOAuthを介して)、このリクエストはWordPress管理画面をバイパスして、即座に投稿を更新します。一括公開、タクソノミーの更新、メタデータの変更も可能です。

一括更新用のカスタムスクリプトの記述

REST APIを直接使うこともできますが、ワークフローの高速化を考慮し、PHPPython、またはBashのカスタムスクリプトでラップするのが一般的です。例えば、カスタムスクリプトは以下のようになります。

  1. 設定ファイルやデータベースからサイト一覧を取得
  2. 各サイトのAPIエンドポイントで認証
  3. 必要な更新を実行(例えば「ニュース」タグの付いた投稿にカテゴリを追加したり、全ページにわたって古くなったテキストのブロックを置き換えたりなど)
  4. 各更新の成否をログに記録

スクリプトはカスタマイズ可能なため、プラグインでは特殊すぎたり複雑すぎたりする変更を加えるのに適しています。

一括コンテンツ運用のベストプラクティス

複数のWordPressサイトで大規模な変更を加える際には、慎重に計画を立てなければリスクも伴います。スクリプトの小さなエラーが一度に数十のサイトに影響を与える可能性があるため、実行する前に安全策を講じておきましょう。

以下のベストプラクティスを取り入れてみてください。

  • 特に数百のサイトや大規模なデータセットを扱う場合、サーバーへの負荷やAPIレート制限を防ぐためバッチ処理を心がける
  • コンテンツを取得する際はページネーションを使ってメモリの過負荷を避け、より効率的にデータを処理する
  • すべての操作をログに記録し、どのサイトの更新が成功し、どのサイトにフォローアップが必要かを把握する
  • 本番サイトに変更を加える際は、まずステージングサイトでテストを行い、スクリプトが意図したとおりに動作することを確認する
  • エラー処理を実装し、バッチ全体を停止せずに失敗した更新をスキップできるようにする

このようなプラクティスをREST APIとよく作り込んだスクリプトと組み合わせることで、反復可能で信頼性の高いプロセスを利用して、数分ですべてのサイトに適切な変更を加えることができます。

WP-CLIとAPI統合にはMyKinstaが便利

KinstaのWordPress専用マネージドクラウドサーバーは、パフォーマンス、スケーラビリティ、および運用効率を考慮して設計されています。ボトルネックなしで複数のWordPressサイトを管理したいWeb制作会社、企業、マルチサイト所有者におすすめです。

MyKinstaは複数サイトのメディア管理を簡素化
MyKinstaは複数サイトのメディア管理を簡素化

Kinstaが独自に開発したコントロールパネル「MyKinsta」では、すべてのサイトを1箇所で管理することが可能です。コンテンツとメディアの一括管理より迅速かつ信頼性の高いものにする機能群も組み込まれています。

コントロールパネルから直接WP-CLIにアクセス

WP-CLIはすべてのWordPress専用マネージドクラウドサーバープランで利用可能です。ブラウザベースのターミナルではなく、ローカルのターミナルクライアント(WindowsのPuTTYやmacOS/Linuxの内蔵ターミナルなど)からSSHクライアントを介して接続します。

一度接続すると、ローカルで実行するのと同じようにWP-CLIコマンドを実行できるため、以下のような柔軟性を手にすることができます。

  • WordPress管理画面に触れることなく、大規模なメディアインポートを実行
  • サイト全体の画像の一括最適化を数秒でトリガー
  • ステージング環境と本番環境の両方で定期的なメンテナンスタスクを自動化

WP-CLIのサポートにより、Kinstaサーバーのパフォーマンスとセキュリティ機能の恩恵を受けつつ、複数のサイトを効率的に管理することができます。また、SSH認証情報はMyKinstaからアクセスできるため、個別の設定ファイルを調べることなく、どのサイトにも素早く接続できます。

APIフレンドリーなインフラストラクチャ

コンテンツ更新のワークフローがWordPress REST APIまたはカスタムスクリプトに依存している場合も、Kinstaのサーバー環境で処理可能です。

高性能のPHPスレッド、最適化されたデータベース、およびオートスケーリングにより、トラフィックが多い期間も大きなデータセットを迅速かつ確実に処理することができます。速度低下やタイムアウトを心配することなく、複数のサイトでバッチ更新を実行することが可能です。

Kinstaでは、WordPressの組み込みAPIをサポートするだけでなく、自動化とマルチサイト管理を考慮した独自のKinsta APIを提供しています。サイトの作成または削除、キャッシュのクリアドメイン管理、バックアップのトリガー、分析データの取得などを自動化可能です。

WordPress REST APIと組み合わせれば、単一のワークフローでインフラストラクチャレベルとコンテンツレベルの両方の更新をオーケストレーションすることができます。

一括管理に役立つその他の機能群

WP-CLIとAPIの統合以外にも、マルチサイト管理をより簡単かつ安全に行える以下のような機能が組み込まれています。

  • 集中バックアップ:一括更新を実行する際には数秒でバックアップを作成・復元できるため、必要に応じて柔軟にロールバックが可能
  • ステージング環境:本番サイトにデプロイする前にステージング環境でスクリプト、メディアインポート、自動化ルーチンをテスト
  • サイト分析:大規模な変更適用後にパフォーマンス、トラフィック、帯域幅を監視し、すべてがスムーズに実行されていることを確認

WP-CLIのスピード、REST APIの柔軟性、そしてMyKinstaの強みである集中管理機能を組み合わせることで、従来の管理画面を使った面倒な作業に頭を抱えることなく、ポートフォリオに合わせて拡張可能なワークフローを確立できます。

まとめ

複数のWordPressサイトにおけるコンテンツやメディア管理は、複数の管理画面でクリックを繰り返したり、何時間も手作業で行う必要はありません。WP-CLIを使えば、メディアの一括更新、画像の最適化、定期的なタスクを数分で設定し自動化することができます。

WordPress REST APIとカスタムスクリプトは、複数のサイトにわたる投稿、固定ページ、カテゴリの正確な更新を可能にします。バッチ処理やログなどのベストプラクティスを取り入れれば、効率性とエラーのない操作も保証できます。

これらのツールをさらにMyKinstaの集中管理機能、組み込みのWP-CLIアクセス、およびAPIフレンドリーなインフラストラクチャと組み合わせれば、高速で信頼性に優れ、メンテナンスが容易なシステムが確立されます。Web制作会社、マルチサイト運営者、および成長中の企業は、貴重な時間や正確さを犠牲にすることなく、WordPressサイト全体の一貫性を保つことができます。

コンテンツとメディアの一括管理を簡素化したい場合は、KinstaのWordPress専用マネージドクラウドサーバーぜひ一度お試しください。MyKinstaの詳しい機能はこちらでご紹介しています。

Jeremy Holcombe Kinsta

Kinstaのコンテンツ&マーケティングエディター、WordPress開発者、コンテンツライター。WordPress以外の趣味は、ビーチでのんびりすること、ゴルフ、映画。高身長が特徴。