3
0

More than 1 year has passed since last update.

【2022年最新】WordPressのEWWWとamazon-s3-and-cloudfrontプラグインでデータをマイグレーションする方法

Last updated at Posted at 2022-03-30

この記事ではWordPressのEWWWプラグインで既存の画像データのパスを変更するデータのマイグレーション方法について記載しています。
今回はプラグインを利用してS3のみを利用しています。
CloudFrontに関しては範囲外になります。

AWS側の作業手順

  1. S3のバケットを作成
    1. S3は公開設定しておく。CloudFrontを利用している場合はCloudFront経由からのみアクセスOKとかの設定をしておくこと。
  2. IAMユーザーの作成
    1. S3に対して全権限を付与しておく(AmazonS3FullAccess)

WordPress側の作業手順

  1. プラグインを追加
    1. amazon-s3-and-cloudfront
    2. ewww-image-optimizer
  2. wp-config.phpに作成したIAMユーザーのcredential情報を追加。
  3. EWWWの設定画面で作成したバケットを指定。
    1. 「Remove Files From Server」をOFFにしておく。(サーバーに画像を残したい場合はONのままでいいが、オススメしない。)

画像をS3にアップロードする

  1. サーバーにssh接続
  2. 以下のコマンドでアップロードする。
aws s3 sync /{WordPressのインストールディレクトリ}/wp-content/uploads/ s3://{S3のバケット名}/wp-content/uploads/ --acl public-read

データベースをマイグレーションする

  1. WordPressのデータベースにログイン
  2. 以下のコマンドでデータのマイグレーションを行う。(リージョンなどは確認してください)
insert into wp_as3cf_items (provider, region, bucket, path, original_path, is_private, source_type, source_id, source_path, original_source_path, extra_info, originator, is_verified)
select 'aws', 'ap-northeast-1', '{S3のバケット名}', substring_index(guid, '{domain}/', -1),substring_index(guid, '{domain}/', -1),0, 'media-library',ID,substring_index(guid, '/wp-content/uploads/', -1),substring_index(guid, '/wp-content/uploads/', -1),'a:2:{s:13:"private_sizes";a:0:{}s:14:"private_prefix";s:0:"";}', 0, 1 from wp_posts where post_mime_type in ('image/jpeg', 'image/png');

残作業

  1. ロゴは上記のマイグレーションでは対応しきれないので、管理画面から指定し直す。
  2. webp対応するのであれば、メニューのメディアからBulk Optimizeで画像を一括置換を行う。

投稿者について

山梨でやまなみテクノロジーズ株式会社の代表をしている小畑です。
WordPress周りの改修やweb制作、SEO対策やデータ分析にお困りでしたらお問い合わせください。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0