さくらのクラウドのウェブアクセラレータCDNを利用してWordPress高速化してみた

最終更新日

ブログのロードが若干遅い気がしたのでソースコードへの変更ではなく、ネットワークの配信を改善するという対応をしてみました。レンタルサーバはMySQLが共用なのでリードもライトも少し遅めです。レンタルサーバに設置されたWordPressのレスポンス結果をCDNでキャッシュする事で高速にレスポンスする事ができます。

さくらレンタルサーバを高速化したい

さくらレンタルサーバのコンテンツブースト
さくらレンタルサーバのコンテンツブーストのウェブサイト

さくらVPSやさくらのクラウドを利用していれば、KUSANAGIなどを利用して高速な環境を作る事ができると思いますが、今はレンタルサーバを利用しているので、そちらでの高速化方法について調べてみました。

管理画面から簡単に設定できるコンテンツブーストという機能があるようです。こちらを利用すればさくらのレンタルサーバのスタンダードプランを利用している場合でも簡単に高速化できるようですが、設定に条件があるようでした。

さくらのレンタルサーバのコンテンツブースト機能を利用する条件

  • DNSをさくらインターネットのものを利用する必要がある
  • wwwなどサブドメインのついたアドレスである必要がある

Google DomainsのDNSを利用しているんですがGoogle Workspaceとの連携をしているなら正直さくらのDNSにしないといけないのはちょっと微妙な気がしました。

さくらインターネットレンタルサーバ コンテンツブースト公式ページ

コンテンツブースト - レンタルサーバーはさくらインターネット
コンテンツブースト – レンタルサーバーはさくらインターネット
さくらのレンタルサーバへ簡単にCDNを導入できる「コンテンツブースト」でWebサイトを高速・安定化!アクセス集中時でも高 …
rs.sakura.ad.jp

PR

さくらのクラウドの「ウェブアクセラレータ」CDNを利用する

さくらのクラウドのウェブアクセラレータ
さくらのクラウドのウェブアクセラレータのウェブサイト

「さくらのレンタルサーバ」の「コンテンツブースト」とは異なりますが、同じような機能を提供しています。「さくらのレンタルサーバ」のスタンダードプランを利用している方は、設定にネットワーク知識が必要ですがこちらの方が安くなるようです。

累計の転送量が500GBまで無料で利用できるようです。画像や動画を配信する場合は結構あっという間という事もあるかもしれません。

さくらインターネット さくらのクラウド 高速安定CDN ウェブアクセラレター公式ページ

高速・安定CDN ウェブアクセラレータ | さくらインターネット
高速・安定CDN ウェブアクセラレータ | さくらインターネット
ウェブアクセラレータは、突発的なアクセス増加や日々の負荷軽減まで、幅広く気軽にご利用いただけるCDNサービスです。無料お …
www.sakura.ad.jp

さくらのクラウドコントロールパネル
さくらのクラウドコントロールパネル

さくらのクラウドのアカウントがまず必要となります。既にお持ちのsakuraアカウントか新しく新規登録してみてください。僕はクライアントワークで技術選定する時にテストで使ってみた関係で、アカウントを持っていましたのでそちらを利用しました。

コントロールパーネルの「ウェブアクセラレーター(CDN)」からを選択

さくらのクラウド「ウェブアクセラレータ」コントロールパネルCDN新規作成画面
さくらのクラウド「ウェブアクセラレータ」コントロールパネルCDN新規作成画面

こちらの画面からCDNの新規作成を行います。スクロールすると必要入力項目が現れます。

さくらのクラウド「ウェブアクセラレータ」コントロールパネルCDN新規作成画面
さくらのクラウド「ウェブアクセラレータ」コントロールパネルCDN新規作成画面

デフォルトキャッシュタイムはそんなにアクセスないサイトだと長めの方がよいかなと思い、604800秒に設定しています。

キャッシュをコントロールするコードをWordPressに追加

テーマファイルの 「wp-content/themes/今利用してるテーマフォルダ/functions.php」のところに以下のコードを追加して設定します。

とりあえず仮で考えたコードですが、管理画面からプレビューをした時にキャッシュが効いてしまっていたので、キャッシュしないように設定しました。TOPやアーカイブページ(月ごとの記事一覧ページ)などはキャッシュの時間を短くするように設定してます。

function cdn_control() {
    // previewはキャッシュしないようにする
    if(!empty($_GET['preview'])) {
        header( 'Cache-Control: no-store, no-cache, must-revalidate' );
        header( 'Cache-Control: post-check=0, pre-check=0', FALSE );
        return;
    }
    // TOPと記事ページではキャッシュの時間を変える
    if (is_home() || is_front_page() || is_archive()) {
        header('Expires: ' . gmdate( 'D, d M Y H:i:s', time() + 18000 ) . ' GMT');
        header('Cache-Control:public, max-age=18000');
    } else {
        header('Expires: ' . gmdate( 'D, d M Y H:i:s', time() + 604800 ) . ' GMT');
        header('Cache-Control:public, max-age=604800');
	}
}
add_action('template_redirect', 'cdn_control');

さくらのクラウド 高速・安定CDN ウェブアクセラレータの設定調整

sakura cloudキャッシュヒット率のグラフ
キャッシュヒット率(キャッシュを利用して返却された確率)のグラフと数値

ブログの更新頻度によってキャッシュをキープする時間を設定すると良いと思います。頻繁に更新する場合はなかなか反映されなくて煩わしくなってしまうかもしれませんが、そんなに毎日や何時間おきなどに更新しないという事であればできるだけ長いキャッシュ時間を設定した方がキャッシュを利用してレスポンスを返せるタイミングが増えてよりウェブアクセラレータCDNの効果を得やすくなります。

僕のブログは1週間に1回更新するかしないかと言った感じなので5日( 432000秒 )に設定してみていますが、キャッシュを利用してユーザにブログを表示できた実績は44%ほどのようです。ウェブアクセラレータのコントロールパネルから確認できます。

さくらの高速・安定CDN ウェブアクセラレータを利用する事でのメリット・デメリット

メリット

  • ユーザへの表示が早くなる(そのために設定してる)
  • WordPressの管理画面も負荷が減るので高速化される

WordPressが稼働してるレンタルサーバへのアクセスをCDNによって減らせればレンタルサーバやデータベースへの負荷も減り管理画面へのアクセスが快適になります。

デメリット

  • 記事を更新したらTOPページと記事詳細ページのCDNキャッシュを削除する必要がある
  • 予約投稿の反映が予約時間に反映できない

主にTOPページと更新した記事ページを反映する処理が必要です。本当は月々アーカイブなどやタグページも対応した方が良いかもしれませんが最低限の対応でTOPとアーカイブページだけキャッシュを少し短めにとっています。

PR

さくらのウェブアクセラレータを1ヶ月間使ってみて

正直アクセスがもっと増えてからやればいい施策だと思っていたのでタイミング的に微妙ではあったのですが早めにやって良かったです。

ユーザへの表示の高速化が簡単にできました。この方法だとPHPの高速化などをしなくても良いのでお金をかけた力技感がありますが、管理画面が快適になったのは記事を書くモチベーションも高まってやってみてよかったです。そちらも早くなると思っていなかったのでやってよかったなと思いました。

画像はWordPressのJetpackプラグインのCDNを利用しているのでだいぶトラフィックが抑えられていますが、スマートフォン向けに画像を縮小したりした方がもう少しアクセスが早くなるかなという感じがありました。

Jetpack – WP セキュリティ、バックアップ、高速化、成長
バックアップやマルウェアスキャンなどの強力なワンクリックツールで、WP のセキュリティを向上させます。 統計情報、CDN …
ja.wordpress.org

気になる方はぜひぜひ試しに導入してみてください。

さくらインターネット さくらのクラウド 高速安定CDN ウェブアクセラレター公式ページ

高速・安定CDN ウェブアクセラレータ | さくらインターネット
高速・安定CDN ウェブアクセラレータ | さくらインターネット
ウェブアクセラレータは、突発的なアクセス増加や日々の負荷軽減まで、幅広く気軽にご利用いただけるCDNサービスです。無料お …
www.sakura.ad.jp

東京でシェアハウスをしています。ウェブサービス系のエンジニアとして活動しています。生活に取り入れると便利なモノやウェブサービスなどの紹介をこのブログで配信していこうと思っています。 過去に家を持たないホテル生活を2年し、オープンなシェアハウスなども3年ほど経験。衣食住を楽にする方法を模索しています。 twitter: hatch2

PR

シェアする