素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

投稿日: 2018年5月16日
最終更新日:

【ゴミファイルを減らす】StaticPressで不要ファイルをS3バケットに転送しないようにしてみよう

YouTubeも見てね♪

ねこじゃすり

created by Rinker
PEPPY(ペピイ)
¥3,850 (2024/04/03 21:33:13時点 Amazon調べ-詳細)

猫を魅了する魔法の装備品!

Anker PowerCor

created by Rinker
Anker
¥4,990 (2024/04/03 21:42:08時点 Amazon調べ-詳細)

旅行には必須の大容量モバイルバッテリー!

[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット

created by Rinker
THE NORTH FACE(ザノースフェイス)
¥33,430 (2024/04/03 21:42:09時点 Amazon調べ-詳細)

防水暴風で耐久性抜群なので旅行で大活躍です!

ペヤング ソースやきそば 120g×18個

created by Rinker
ペヤング
¥2,600 (2024/04/03 21:42:16時点 Amazon調べ-詳細)

とりあえず保存食として買っておけば間違いなし!

モンスターエナジー 355ml×24本 [エナジードリンク]

created by Rinker
モンスター
¥4,748 (2024/04/03 21:33:15時点 Amazon調べ-詳細)

脳を活性化させるにはこれ!

ドラゴンクエスト メタリックモンスターズギャラリー メタルキング

created by Rinker
スクウェア・エニックス(SQUARE ENIX)
¥3,250 (2024/04/03 21:42:09時点 Amazon調べ-詳細)

みんな大好き経験値の塊をデスクに常備しておこう!

MOFT X 【新型 ミニマム版】 iPhone対応 スマホスタンド

created by Rinker
MOFT
¥2,880 (2024/04/03 21:42:18時点 Amazon調べ-詳細)

Amazon一番人気のスマホスタンド!カード類も収納出来てかさ張らないのでオススメです!

おさらい

CloudFrontの自動Invalidateまで

前回までの記事では、StaticPressでHTML化し、

StaticPressS3でS3バケットに転送し、

CloudFrontとRoute53を使って独自ドメインでアクセスし、

サイトをSSL化し、

AWSのLambda関数を利用したStaticPressS3での転送時に自動でCloudFrontをInvalidateするところまで設定しました。

不要なファイルの除去

WordPress関連の不要ファイルも転送されてしまっている

今の状態だと、Wordpressで利用するテーマファイルやプラグイン、その他不要なファイルまでS3バケットに転送されてしまっています。


転送不要なファイル

その中で以下のファイルは不要なのでStaticPressの出力対象に含めないようにしてみましょう。

ファイルパス 説明
/{year}/{month}/{day}/{post_id}/{アップロード画像名}/ 添付ファイルページを保存するディレクトリ。
このページを直接参照する事はほぼ無いので不要。
/author/* 投稿者アーカイブページを保存するディレクトリ。
今回のブログは自分一人で運営しているので、こちらのページは不要。
/wp-admin/* WordPressの管理画面で使用するファイルを保存するディレクトリ。
S3側で管理画面を開くことは無いので不要。
/wp-content/plugins/* WordPressのpluginを保存しているディレクトリ。
S3でpluginを動かすことは無いので不要。
/wp-includes/* WordPressの様々な機能を動かすための主要なファイルを保存しているディレクトリ。
S3で運用する上では参照する箇所は無いので不要。
/wp-json/* WordPressのAPIレスポンスを保存するディレクトリ。
S3側ではこの機能は使わないので不要。

上記を対象外にするには、複数のファイルを修正する必要があるので一つずつ紹介して行きます。

手順

作業をする前に

今回の作業では、pluginのファイルを修正するので万が一記述を間違えるとpluginが動かなくなってしまうので、バックアップ取る等してから作業をするようにお願いします。
また、pluginによっては除外するとページ側でエラーが発生する可能性があるので、お使いのpluginに合わせて除外するディレクトリを精査した上で、自己責任でお願いします。

添付ファイルページを除外

class-static_press.phpの721行目辺り

添付ファイルページを出力しないようにするには、class-static_press.phpの721行目辺りを以下のように修正する必要があります。

authorを除外

class-static_press.phpの643行目辺り

authorを出力しないようにするには、class-static_press.phpの643行目辺りを以下のように修正する必要があります。

plugins.phpの末尾

次に、pluginsの末尾に以下を追記してください。

wp-admin、wp-includesを除外

class-static_press.phpの863行目辺り

wp-admin及びwp-includesを出力しないようにするには、class-static_press.phpの863行目辺りを以下のように修正する必要があります。

wp-content/pluginsと/wp-json/を除外

plugins.phpの末尾

authorの除外で追加した関数を以下のように修正してください。

確認

では、一度S3バケットと出力ディレクトリを削除した上で再構築を実行してみましょう。


正常に転送から除外されるようになりましたね♪

終わりに

以上のように、AWSのLambda関数を利用する事でCloudFrontを使っていてもコンテンツの即時反映がされるようになりました。

これで記事を書いて転送することだけに集中出来るので、どんどんコンテンツを増やしてPV増加を狙ってみてください♪

CATEGORIES & TAGS

IT