Shifter: WordPressの静的サイトon CDNジェネレーターで、超高速・安全・メンテフリーの永代供養はいかがですか?

Shifter を使うと、WordPressサイトが静的ファイルになってCDNからHTTPS通信で配信されてWordPressが次にログインするときまでシャットダウンするので、超高速、安全、メンテナンスフリーになる話。

最近、DigitalCubeという会社のプロダクトを海外のユーザーにアッピールする仕事もしています。メインでのプロダクトが、日本の皆さんにも超絶役に立つと思いますので、紹介します。

Shifter
https://getshifter.io/

名前はShifterと言って、WordPress のサイトをまるごとHTMLにしてグローバルCDNに置いてくれるサービスです。

伝統的なWordPressウェブサイトホスティングでは基本的に、アクセスの度にウェブサーバーやWordPressが動き出してコンテンツをブラウザにお繰り返していましたが、Shifterの場合にはすべてのページを予め作っておいた上で、CDN(ネットワーク上の仮想ファイルキャッシュのようなもので、世界中のどこからアクセスしてもすごく近くからファイルが共有される仕組みのこと)に設置します。

ちなみに静的ファイルを生成してCDNに配置したら、WordPressが設置されているサーバーは停止します。テーマやプラグインやコンテンツの変更をするときはShifterの管理画面からサーバーを再起動して管理画面にアクセスします。

Shifter の三大メリット

このサービスの何がいいんだ?にお答えします。

いろいろなメリットがあるのですが、レンタルサーバーと比較してどうなの?VPSとどう違うの?AWSで自分で作ってキャッシングをバリバリに頑張ったほうがいいんじゃないの?という疑問は、以下の3大メリットを見ていただくと解決すると思います。

  1. サイトがものすごく速くなる。CDN上の静的ファイル & 自動でSSL適応 & HTTP/2 通信なので、バックエンドでこれ以上速くする方法がない。
  2. サーバーもWordPressも停止しているから、セキュリティーリスクが極限まで低くなる。攻撃対象が消えてしまっているので。
  3. 上記の 1 と 2 によって、サーバーやWordPressの管理コストがほぼ無くなる(一度設定したらあとは放置でOK)

素晴らしい。

注意点

注意点としては、

  • HTMLの再生成に20分くらいはかかるので、頻繁に更新したい人にはオススメしない。
  • 検索フォーム、コメント欄、お問い合わせフォームでPHPを利用しているものは動かないので、サードパーティの別のものに変更が必要(プラグインで対応可能)

です。

Shifter 案件

では、Shifter にピッタリなウェブサイトとはどんなものでしょうか。

  • イベントサイト
  • ランディングページ
  • 更新されない会社サイト

他にも思いついたら教えてほしいですが、上記の3つはとてもいいと思います。ひとつめの例としてイベントサイトを取り上げてみます。海外で行われるイベントのブースなどでユーザーに説明する時に一番わかりやすいのがこのケースです。

イベントを作成する時に主にホスティングで問題になるのは以下のようなことです。

  • 告知時やイベント日当日などにアクセスが集中する
  • どのくらいのアクセスがあるのかがわからないので、サーバーのスペックを上げてしまってコスト高い
  • しかも、そのサーバーで落ちない保証はない
  • キャッシングするにしても作業コストが高い
  • イベント終了後にはもう更新しないけど、WordPressやサーバーのメンテナンスは必要

Shifterを利用すると上記は全部解決されます。

ランディングページやあまり(あるいは永久に?)更新されないウェブサイトのケースでは、メンテナンスしなくてもバックエンドのセキュリティーが担保されることがメリットになります。WordPressをブログではなく、ウェブサイトビルダーとして利用している人にはとても相性がいいサービスだと思います。

料金とか

料金体系はシンプルで、

  • 月額米$30
  • 10GBの容量と10GBの転送量が含まれる
  • サイト数は無制限

となっています。普通のウェブサイトだったら上記に収まります。容量や転送量が10GBを超える場合には、$10でそれぞれ追加の課金が発生します。


いかがでしょうか?素晴らしいソリューションで、フリーランスの人や制作会社、イベント会社の人たちには大喜びされる内容だと思います。

Shifterには日本語のサイトや管理画面がないので、こちらのブログに書くことにしましたが、ご意見、ご感想、ご要望もあればお待ちしております。


以下は全部英語ですが、参考になりそうな記事です。

↓ プラグインを作る方々への本、書きました。 ↓

WP_UnitTestCase で翻訳ファイルを読み込む

WordPress のユニットテストを書く際に、翻訳ファイルを読み込みたい時にどうするか。

下記で一応読み込むことはできます。が、グローバル変数の $wp_locale に触ってしまっているのが気になっております。(今回は、$wp_locale の中にある月や曜日の名前が使いたかったのです)

class BhuddaTest extends WP_UnitTestCase {

	public $loaded;

	public function setUp() {

		parent::setUp();

		require_once ABSPATH . 'wp-admin/includes/translation-install.php';
		$loaded_language = wp_download_language_pack( 'th' );
		$this->loaded = load_default_textdomain( 'th' );
		$GLOBALS['wp_locale'] = new WP_Locale();

	}

}

↓ プラグインを作る方々への本、書きました。 ↓

WordPressの管理画面の実行フローを視覚化してみる

WordPressの実行フローを視覚化してみる | Simple Colors の真似っ子です。

テーマが読み込まれる時との違いや共通点での面白ポイントは、

  • コアファイルが作るページの場合、そこにファイルがある
    (wp-admin/post-new.phpなど、そこにファイルが実際にあります。
    テーマの場合は、リライトの色々が発動して、URLによって指定されるパスに、
    そのファイルはありませんね。なので、index.phpが大事)
  • テーマ側の index.php のような位置づけにあるのが、wp-admin/admin.phpファイル
    • プラグインが作るページの場合でも、トップレベルならwp-admin/wp-admin.php?page=hogehogeのような形でadmin.phpは読み込まれ、
    • サブページとして登録される場合でも、wp-admin/options-general.php?page=hogehogeのような形でそこにあるファイルが読み込まれ、そこからwp-admin/admin.phpが読み込まれる

    という形になっている。

といったところかと思います。

クリックで拡大
クリックで拡大

以上です。

大曲さんの「WordPressの実行フローを視覚化してみる」のページ
大曲さんの「WordPressの実行フローを視覚化してみる」のページ

↓ プラグインを作る方々への本、書きました。 ↓