最強にWordPressを高速化するために必須なこと


WordPressでのメディア運営を幾つかしていくにあたって、Wordpressの高速化の基本的な部分が把握できたので共有します。Wordpress高速化というと当たり前のことかもしれないけど、勘所が幾つかあるので、チェックリスト形式でまとめたいと思います。

ターゲットとしては10万PVを超えたあたりから200万PVまでくらいのレンジの中間地点。それ以上となると媒体として明確に分散をする必要も出てきますが、基本は同じだと思います。

高速化を確かめるために全てのファイルを読み終わる時間をブラウザの開発者ツールで計測すること、Googleが提供しているPageSpeed Insightsを利用することは忘れずに使いたいところです。

1) APC/OPCACHEなどのPHP高速化

レンタルサーバなどサーバによっては導入できないかもしれないけれども、APC/OPCACHEなどのPHP最適化は何にせよ重要。HTMLファイル自体のレスポンスタイムが半分以下になることも多いです。

必ず導入しているかどうかをチェックすべき内容であり、もし導入していないとするとレスポンスタイムにして0.5秒程度ロスしておりサーバのパフォーマンスを大きく下げていると考えたほうがいいでしょう。レンタルサーバなどの場合は導入できない場合もありますが、その場合は移転を含めて検討してもいい内容です。

2) W3 TOTAL CACHE などのキャッシュプラグイン導入

ここが高速化にとっては肝になります。何度も高速化を試してきた結果、僕としてはキャッシュプラグインはW3 TOTAL CACHE1択です。WP SUPER CACHEが有名ですが、プラグインを入れた後の相性の悪さ、キャッシュレベルのコントロールができないところなどで、大きくW3 TOTAL CACHEに水をあけられている状況です。

W3 TOTAL CACHEはページのキャッシュだけでなく、クエリキャッシュ/HTML・CSS・JSコード最小化/ブラウザキャッシュ設定/CDN設定(後述)もできる有能なキャッシュプラグインです。ページのキャッシュをすることが問題でもブラウザキャッシュとクエリキャッシュ、CDN設定だけならどんな構成でも導入しやすく手っ取り早く高速化ができます。

3) HTML・CSS・コード最小化(minify)

上記 W3 TOTAL CACHEの1機能として実現できますが、HTMLコードを最小化するというのも一つの高速化の選択肢になります。Googleが提供しているPageSpeed Insights を確認するとHTML/CSS/JSの最小化も一つの提案に出てきます。

この手の話に対して、W3 TOTAL CACHEで提供されている最小化などの機能を利用することは非常に悩ましいことです。なぜなら最小化を動的にすることはサーバのレスポンススピードを劇的に下げる可能性があるからです。最小化をかけるために毎回キャッシュがなければ最小化をするプログラムに渡すことは非常に非効率です。

ということでやるのであればCSS/JSファイルをアップロード前に圧縮をかけ、一つのファイルにまとめるgulp/gruntなどのツールを利用して手間がかかっても毎回最適化を行うことをオススメします。私見としてはここによる効率化をするよりは他の事を優先したほうが良いと思います。

4) キャッシュプラグインの保管先をMemcachedに

特に数十万PVを越すサーバ運営においてはmemcachedの活用が肝になります。どのキャッシュプラグインも基本的にはファイルとしてサーバにキャッシュデータを保管します。しかし、ファイルアクセスは1リクエスト毎の負荷を高めサーバ自体の機能低下を引き起こしてしまいます。「CPUやメモリは余っているのに何故か重い」というのはファイルアクセスが起因する場合が多いのです。

その点Memcachedなどは非常に優秀な選択肢です。100万PVを越してきたくらいから、Memcachedを利用することで高速化や負荷を下げることのメリットが出てきます。今の時代ですから、AWSのElastic CacheなどのMemcachedを自動で立ち上げてくれるサービスなどを活用するとよいでしょう。

5) 外部CDNの利用

ページが重い、という印象を生んでいる場合原因の多くは画像やCSS・JSなどのページ以外で読み込まれるコンテンツが引き起こしていることが多いです。HTMLファイルが基本1個しか読み込まれないのに対し、CSS・JS・画像などは50〜100個程度読み込まれることがありスピードの影響が露骨に出る部分です。

ここではCDN(コンテンツ配信ネットワーク)を活用すべきです。CDNとは画像・CSS・JSなどの変わらないコンテンツを高速に配信する仕組みで昨今では世界各地に配信元を配置し世界規模で最適化をするようなCDNが普及し始めてます。

CDNの中でもWordpressを活用するならば「PULL型のCDN活用」をすることが最もオススメです。PULL型とはサーバ自体に実際のコンテンツは保管されており、CDN側から同じURLのファイル名のコンテンツを取得しに行きそれを表示するタイプのCDNです。PULL型のCDNを使うことでサーバの記事を書く側としては単純にWordpressに画像などをアップロードして表示をするだけでCDNによって高速化が出来ます。

特に問題がなければCloudfrontなどの仕組みを使うとよいでしょう。CDNの勘所は改めてまとめます。

6) 画像の最適化

続いてやるべきことは画像のサイズの最適化です。Wordpressにかぎらずブログでは記事一覧、新着記事一覧、記事詳細ページ、TOPページ、スマートフォン向けページなどで様々なサイズの画像を利用します。Wordpressで重要なのがこの多くの画像を最適化する作業です。

具体的な作業内容としてはLIGさんのこちらの記事を参照いただければと思います。

画像サイズを最適化することで適切な圧縮がかかり、それによってスピードも向上することになります。特にスマートフォンなどの機能や通信が制約された環境下では大きなパフォーマンスを発揮します。

まとめ

WordPressを最適化するのは迷う部分ですが、勘所さえ抑えれば高速なサイトが簡単に作ることが出来ます。これ以上のアクセス急増に対してはサーバの分散などの構成を作る必要がありますが、ある程度のサイトを高速化していこうと考えるとこれで十分かと思います。

続きを読む

一大マーケットとなったYoutuber/ニコニコ動画実況者が向かう先とは?


2014年はYoutuberの年だったといっても過言ではないかもしれない。HIKAKINを始めとするYoutuberがテレビにも出始め、数十万人単位でファンが付いていることを背景に芸能関係の企画や広告関係の企画も大きく動き出した年だった。テレビが網羅できていないネットしか使わない人の認知を手っ取り早く得るための施策の一つとして特にYouTubeが本格的な媒体として動き出した年だったと行っても過言ではなかっただろう。

(さらに…)

続きを読む

手軽で強固になったチャットアプリ「暗号化」は規制の方向に動くか


イギリスのキャメロン首相が先日パリで起こったテロ事件を受け、2015年の総選挙で再度当選した場合、暗号化通信を制限するという意向を表明した。ネット系を中心とした数社が報道しているが大手系新聞社は取り上げてはいない。果たしてこの意向はどういう意味を持ち、今後どうなっていくのだろうか。

(さらに…)

続きを読む

Unknown

「空前絶後の」スピードで成長を見せるSwiftとは?


Swiftというプログラム言語をご存知だろうか?技術者であれば最近の話題で聞いたことがある人も多いだろうし、実際に書いてみた、書いてみる記事を見てみたという人も多いだろう。端的に言うとiPhone/iPadアプリを書くための新しく便利なプログラム言語の名前である。アメリカのサイトによると、今年「空前絶後の(Unprecedented)」成長を遂げたという。これは何故で、そして今後アプリの開発はどうなっていくとかんがえるのが良いのだろうか。

(さらに…)

続きを読む

ビジネス向けFacebookはビジネス系チャットサービスを巻き込むか


Facebookからビジネス向けFacebookが発表され、限定公開とは言え専用アプリがApp Store/Google Playにて公開された。報道によると、有償(予定)で広告を出さずに既存のFacebookとは閉じた空間で展開するとのことだ。Jive/Yammerのような企業向け情報共有ツールやSlack/ChatWorkのような企業向けチャットを提供する会社が成功している中、その分野にFacebookも参入した形だ。

l_yu_face1

 

(さらに…)

続きを読む

Titanium StudioをYosemiteで動かす方法


Yosemiteのアップロードされましたね。Titanium Studioや昔のEclipseを元にした製品はJDK1.6前提のものも多く、JDKの最低バージョンが1.7になったことで動作しなくなったという人も多いと思います。

解決策としては単純でAppleのホームページに行ってJDK 1.6をダウンロードしインストールするだけです。

1時間くらいこれで延々探しながらも見つけられなかったので同じように悩む方の救いになれば。

続きを読む

フルスタックエンジニアの話を一番笑ってはいけないのはそうじゃないエンジニアじゃなかろうか


「フルスタックエンジニア」という言葉が先日から話題になっている。バックエンド・フロントエンドの技術から、サーバサイドの技術まで一式を把握してサービスを運用するためのひと通りの技術を把握しているエンジニアのことを「フルスタックエンジニア」と呼ぶらしい。

議論の中心は「フルスタックエンジニア募集中」と何気なく言っているベンチャーの社長だったり、起業家候補だったり、採用担当だったりに集中している。彼らが求めているのは一人で全てをしきれる人であり、そういう人が居ることで何をするにしても技術的な不安を無くしたいという思いの表れかもしれない。はたまた、技術に対する投資の最小化ということを考えての発言かもしれない。

しかし、いざエンジニア本人のことを考えてみた時「フルスタックエンジニア」という言葉にはどういうインパクト、そしてその言葉が出てくる背景には何があるのかをもう一度考えなおす必要があるのではないだろうか。考察してみよう。 (さらに…)

続きを読む

PVやUU、会員数、売上をKPI設定することから脱却しよう


ウェブサービスを立ち上げる際に良く「KPI」という言葉が出てくることがある。KPIとは、事業やサービスの運営をするにあたって事業の達成度を測るための指標のことだ。例えば、アクセス数1万行けば本事業は成功に近い、などの判定をするための指標である。

成功するための達成指標であるがゆえに、目立って自社の事業のパフォーマンスを明らかにするための数字、例えばページビュー、ユニークユーザ数、会員数、売上などをKPIとして設定する会社は非常に多い。これらの数字は直接的な成果に対しての数字であるから至極当然のことである。

しかし、これらの数字をKPIとして設定する、ということは何の視点を生むだろう?という観点からこの話を見てみると、この設定があくまで一喜一憂するためのものに終わっているのではないかということがわかると思う。では、KPIはどう設定すべきなのか、アクションを生むためのKPIとはどういうものなのだろうか。

(さらに…)

続きを読む

Yahooグループの終了はメールの終了


Yahooグループが5月27日でサービスを終了させる。

2014年5月28日(水)午後3時(予定)を持ちましてYahoo!グループはサービスを終了させていただきます。

10年もの長きに渡り、ご利用いただきありがとうございました。

Yahoo!グループ サービス終了のお知らせ

この長い間愛されておりまだアクティブユーザが居るはずのサービスを停止させることになることは媒体としては利用者を少なからず減らすことになりマイナスなはずだ。なんでYahoo!はグループサービスを停止させるのか。

(さらに…)

続きを読む

コンテンツマーケティングの近況とSEOについて


「コンテンツマーケティング」という言葉が聞かれるようになって久しい。IT発祥の地アメリカから渡って来た言葉の一つで評価されるコンテンツを多く出すことにより見込み客を獲得しようというマーケティング施策の一つだ。

一方、以前より語られてきており多くの会社を上場までのし上げたのが「SEO(検索エンジン最適化)」だった。言及するまでも無いかもしれないが、内部構造最適化・内部HTML最適化・外部からのリンク最適化などにより検索エンジンの順位を上げようという施策がSEOである。

(さらに…)

続きを読む