WordPressのメディアライブラリをGoogle Cloud Storageに移動する

こんにちは、masakiです

WordPressを長年運用していると、投稿したメディアファイル(画像など)が大きくなり、容量的にサーバーのストレージを圧迫してきます。

また、ネットワーク的にも多くの画像を表示するので、サイトの表示が重くなったりします。

この問題を解決する為、今まで通りにメディアライブラリに保存すると、自動的にGoogle Cloud Storageに保存され、そこから配信されるようにする方法を解説したいと思います。

少し長い記事になりますが、一度Google Cloud Storageを覚えれば、あらゆるWebサービスで利用できるので、是非使っていきましょう。

スポンサーリンク

Google Cloud Storageを設定する

難しそうに見えますが、管理画面でポチるだけなので、がんばっていきましょう。
まず、Google Cloud Platformにログインし、左メニューのStorageをクリックしてください。

次は、上の「バケットの作成」を押し、表示された画面にどんどん入力していきます。
まずは、バケットに名前を付けます。
バケット名は、一意の文字列である必要があります。

次は、ストレージクラスを選択します。
「Multi-Regional」を選択し、場所は「asiaの複数のリージョン」を選択しましょう。
おそらくblogの訪問者は日本人が多く、asiaのリージョンがネットワーク的に近いからです。

次はアクセス方法ですが、下の方を選びましょう。

右の欄で、必要なバケットの容量を入力します。あたなのメディアライブラリの容量に依存しますので、必要な容量を入力しましょう。
5G byteまでは無料です。

「作成」ボタンを押して、バケットを作成してください。

作成が終わると、以下のような画面になります。
次に、権限の設定を行いますので、権限のタブを押してください。

以下のような画面になりますので、「メンバーの追加」を押します。

「メンバーの追加」を押すと、以下のような画面が現れます。

作成したバケットへアクセスできるユーザーや権限を設定します。
このバケットは、WordPressのメディアライブラリを、丸ごと移転する為に作成したのですから、全てのユーザーがアクセスできなければなりません。
バケットに入れたファイルは、ファイル毎に公開/非公開の設定ができます。

「新しいメンバー」のフォームで「allUser」とタイプしてください。
「役割」のフォームで「ストレージのレガシーパケットの読み取り」を選択してください。

「保存」ボタンを押すと、このバケットに権限が追加されます。
これでGoogle Cloud Storage側の設定は完了です。

WP-StatelessプラグインをWordPressにインストールする

次に、WordPressにメディアライブラリを、Google Cloud Storageと連携させるプラグインをインストールします。
以下のプラグインを、WordPressの管理画面からインストールして、有効にしてください。

インストールが完了すると、以下のような画面になります。「Get Started Now」を押して次に進みます。

まずは、「Google Login」を押してGoogleのアカウントと紐付けします。

Googleの認証が完了すると、以下の画面になります。
上の赤枠の部分は自分が作成したプロジェクト名を、下の赤枠は自分が作成したバケットの名を選択してください。

Continueで次に進み、以下の画面が表示されたら完了です。

試しに、画像をメディアライブラリから、何かアップロードしてみましょう。
以下のように、自動的にGoogle Cloud Storageにアップロードされ、リンクが変わっているのがわかります。

過去のメディアライブラリを全て移動する

次に、メディアライブラリにある、今までアップロードした全てのファイルを、Google Cloud Storageに移動します。

WordPressの管理画面の左メニューから、「Stateless Setting」をクリックし、プラグインの設定画面を開きます。

何やら色々な設定項目がありますが、取り急ぎ、2箇所設定します。

まず、下の赤枠で「CDN」を選択してください。

次に下にスクロールしていくと、「File URL」というのがあります。

通常、Google Cloud Storageに保存されたファイルは、以下のようなURLの形式になります。

https://storage.googleapis.com/[作成したバケット名]/[ファイル名].jpeg

しかしこの場合、storage.googleapis.com配下のディレクトリとして公開されており、URL的にあまりよろしくない為、googleは以下のようなサブドメイン形式でのアクセスも可能にしています。

https://[作成したバケット名].storage.googleapis.com/[ファイル名].jpeg

このように、サブドメイン形式でアクセスできるようにする為、「Domain」に以下の様に入力してください。

設定を保存した後、画面上部にある「Sync」タブをクリックして画面を移動してください。

Sync画面で、赤枠をチェックし、「Run (may take a while」を押すと、WordPressからGoogle Cloud Storageで作成したバケットにファイルの転送が行われます。

転送が完了すると、自動的にすべてのメディアライブラリ内のファイルのURLが変更され、Google Cloud Storageから配信されているのが確認できます。

これで全ての設定が完了し、WordPressのメディアライブラリ内の全てのファイルが、Google Cloud Storageに移動し配信されるようになりました。また、今後メディアライブラリにアップロードしたファイルも全てGoogle Cloud Storageに保存されます。

スポンサーリンク