AWSのEC2にwordpressを入れて作ったブログサイトでapacheの設定をした話

SSブログがなくなってしまったため、AWS EC2で構築したブログサイトの続報である。

t4g.microではメモリが足りず、MariaDBがoomkillerにより殺されてしまい「立ち上げ直後から問題あり」のサイトではあるものの、httpdのプロセス数を減らし、MariaDBのメモリ使用量を減らしたかいあってか、順調に稼働している。

続 AWSのEC2にwordpressを入れてブログサイトを作った話

ブログサイトを鋭意再構築中である。下書き記事と撮影した元画像から過去のブログ記事を復旧していく地味な作業である。jpgよりもwebpの方が効率が良いみたいなことが言わ…

Site Kit

順調に稼働している本ブログサイトでは、Google Site Kitでその様子を日々確認している。Site Kitのコンソール画面ではユーザーの数やページビュー数などをわかりやすくグラフ表示してくれる。

この中にページの表示速度というものがある。もちろん、表示速度が速いと「良いサイト」という判定になる。かくいう本サイトではモバイルで10秒、デスクトップで2秒という結果になった。

えーそんなに遅いか?

という感じだが、改善方法を提示してくれているので見てみよう。

なんかプラグインが更新されたタイミングで英語になってしまったが、how to improveのところは日本語で表示される。

improve(改善)方法のところに、「テキスト圧縮の有効化」というのを発見。おや、これなら簡単にできんじゃない?ということで早速やってみるのである。

apacheでdeflate圧縮

apacheではgzip圧縮できる。圧縮すれば通信量が減るのでページ表示速度は向上する。jpg画像なんかは圧縮済みなので、gzipで圧縮しても逆効果。htmlやjs、cssといったテキストデータを圧縮すると効果がある。

apacheの設定でデフォルトで圧縮してくれていそうなものだけど、そうはなっていない。ちゃんと設定してやらないといけないのである。サイト運営は大変なわけである。

で設定はhttpd.confに書けば良いだけらしい。mod_deflateはよほど特殊な環境出なければちゃんとインストールされているでしょう。

ここのサイトを参考に、テキストファイルだけを圧縮してみた。

コンテンツの転送速度をアップする(レスポンス圧縮化) #Linux - Qiita

#WEBサーバでコンテンツの転送速度をアップする方法WEBサーバにおいて、ドキュメントを返すとき、圧縮して返してあげると回線の負荷軽減やスピードアップにつながる。今回…

<IfModule deflate_module>
DeflateCompressionLevel 1

BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE\s(7|8) !no-gzip !gzip-only-text/html

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/x-javascript
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary

Header append Vary Accept-Encoding env=!dont-vary
</IfModule>

httpdを再起動して、Site Kitコンソールを開いてみる...

おー、ちょっと速くなった。

表示速度が上がるとGoogle検索でより上位に表示されるらしい。さて、どうなることか...

Amazonアソシエイトが表示されない

ページの表示速度が速くなったのは良いことなのだが、Amazonアソシエイトでの広告が表示されなくなってしまった。
WPアソシエイトポストR2の商品検索では「APIリクエストの上限を超えた」とエラーになる。

これは困った。

AmazonアソシエイトのPA-APIの説明を見ると

PA-APIの利用に制限はありますか?
リクエスト可能数の上限がございます。 API利用開始より60日間 : 1日あたり 8,640リクエスト PA-APIより取得した商品リンクより発生した、過去30日間の発送済み商品売上$0.05ごとにリクエスト可能数が1リクエスト分追加されます。 1日の最大リクエスト可能数は、1日あたり864,000リクエストです。

日に8,640リクエストくらいまではいけるっぽいが...そんなにあるか?

PA-APIを使い始めるための条件はありますか?
Amazonアソシエイト・プログラムに参加が承認された状態で、過去30日以内に1円以上の発送済み商品売上を発生させている必要があります。また、運営規約を順守する必要があります。

これか?

SSブログが存在していた頃は、月に1回は発注があったっていうことなのか?
そもそも、PA-APIは使ってなかったんだっけ。

そういえば、SSブログから持ってきた古い記事内のAmazonリンクは消えてないなぁ。Amazonアソシエイトツールバーで作成したんだっけか?SSブログの機能で追加したんだっけか?とりあえずは、本の宣伝部分は旧記事からAmazonの広告をコピペして復旧させた。

なんだかんだあるもんだね。サイト運営は大変だ。

投稿者プロフィール

asai
asai
システムエンジニア
喋れる言語:日本語、C言語、SQL、JavaScript