2013/12/6

WordPressがなぜ良いのか、という話

今日たまたま、WordPressのことを少しお話ししなければいけなかったんですけど、これ思いの外、難しいですね。色々整理しないといけないなあと思っていて。たまあに、パートナーに企画書に「WordPressを利用するメリット」を入れてくださいって言われることもあるんだけど、僕の中でもそこまで系統立てて整理できているわけではないです。なので改めて、とは言え今回は「作る」人を対象に、WordPressについて、整理してみようと思いました。

まず、一般論としてのWordPressの良さを整理してみましょう。

  1. オープンソースで利用は無料である
  2. ブログシステムベースのCMSである
  3. 比較的とっつきやすいPHPで記述されている
  4. テーマが豊富にある
  5. プラグインが豊富にある
  6. ドキュメントが充実している

まずはこの辺りについて行きましょうか。

オープンソースで利用は無料である

利用が無料であるってのは実は大きな要因ではないと思うんですよね。勿論、趣味でしか使わないとなれば無料に越したことはないですが、外注するのであればカスタマイズの費用はかかりますし、うちの収益源でもあります。バグもありますし、たまに慌てたりします。それでもオープンソースのパッケージとしてはかなりバグが少なく、アップデートが頻繁であり、しかもその機能拡充が基本無料であるというのはすごく良いメリットだと思います。

ブログシステムベースのCMSである

WordPressが使いやすいってことの多くはブログシステムベースだから、ってことじゃないですかね。ブログのUXでコンテンツの編集ができる、って言うのは担当者の方への導入障壁を比較的低くしていると思います。うちのクライアントでもコンテンツの更新を自分でやっているところ多いです(CMS入れるんだから本来的にはできるだけそうしたいですよね)。やっぱり組織内で細かく刻むコンテンツ更新を自前でできるってクリティカルに大事だし、それって要はWEBに対するクライアントの体質改善にもなり得るので、Facebookページとかよりは煩雑かも知れないですけど、普段使いに耐え得るシステムだと思います。

比較的とっつきやすいPHPで記述されている

これ何が良いと言うと、WordPressだと、僕が作ったものを他の業者さんがいじれる可能性が極めて高いです。こういうのはクライアントに取ってのある意味でのリスクヘッジになると思っていて、業者を変えるから全部作り直し、だとやっぱりコストも嵩みます。WordPressのカスタマイズができる業者さんは差異はあるでしょうが、たくさんいるので、そういう意味でもPHPで記述されているCMSであるというのは良いと思います。Ruby書くエンジニアさんが、商店街の和菓子屋さんのWebやるか?って言うと、それは棲み分け的に、あまり考えづらいです。

テーマが豊富にある

海外のそれに比べると日本オリジンのものは少ない気がしますが、やはりテーマが充実しているのもWordPressの魅力。無料のものから有料のものまで色々あります。設定をカスタマイズする部分も含めてデザインされたテーマも多いです(ちなみに僕はオーダーメイドで作っているので、「テーマをクライアントがカスタマイズするためのカスタマイズ」はほとんどやってません)。

プラグインが豊富にある

なんせデベロッパー・コミュニティがでかい。特に海外のプラグインは充実しています。全部、日本語化されてないと駄目みたいなデリケートな案件には不向きですが(プラグインの言語のローカライズはそれなりに便利な方法が用意されていますが、はっきり言って遮二無二やるほどモチベーションを持てる作業ではないです)、大概のWebサイトに必要な機能は「誰かがどこかで」作っていて、後はそれがちゃんと動くかというのと思い通りに動くかということかと思います。プラグインは基本的に汎用的な用法のために作るものなので、それを思い通りに実装するためにはスキルがいる場合も。

ドキュメントが充実している

WordPressの本とか買わなくて良いです。日本語も含めて、WordPress.orgのドキュメントは充実していますし、様々なノウハウが色々な人のブログで紹介されていますし、プラグインの比較記事や、実装のTipsなどもあります。その上で、僕が一番お世話になっているのはStack Overflowなどの海外のQ&Aサイトです。別に質問投げなくても、開発でどん詰まったら、広い世界、大抵誰かがつまづいています。あと、Q&Aの形を取ると、問題解決のプロセスをなぞれるのが良くて、答えをいきなり突きつけられるよりも理解が深まり、結果応用が効きます。

以上が僕が一般的だと思う、WordPressの良さです。「WordPressが検索に強い」とかは、正直そんなこと言っちゃって良いのかなあ、と思います。WordPressはサイトを運用していくのに優れたシステムで、機能も豊富に用意されており、SEOを考慮したデザインのテーマも配布されており、たくさんのユーザが使っているので、そういう風に言われている、くらいの感じじゃないかなあと。まあ、WordPressの評判が良いことは良いのですが、それを論理的に説明しろと言われると、別に既存のテーマファイル使ってサイトを作るわけでもなく、運用疎かにしたら意味ないので、あんまり、という感じ。

ここから僕がもっと個人的に良いと思うWordPressを使う意義を書こうかなと思いますが、その前にCase Studyを挟んでみようと思います。

ユレッジ
http://www.yullege.jp

ユレッジ

ユレッジのプロジェクトとしての基本方針として、「作ることにコストを割かずに、走らせることにコストをかけよう」というのがありました。僕がこのサイトのリリースにかけた時間はワイヤーフレーム1日、画面デザイン1日、そこでコーディングを外注して、戻って来たHTMLの実装に3日、で公開というような、スピード感のあるフローでした。このサイトのデザインで大事だったのは、WordPressで実装することを前提に、画面デザインをしている、ということですね。これはこうすれば実装できるということを考えながら画面デザインしている。それで、テンプレートの使い回しではない、しかし素早いリリースが可能になりました。

もう一点、こちらの「防災トピックス」は、もしゆれFacebookページの更新を参照して表示させていただいています。これは勝手に取って来ているわけではなく、うちは直接的に関わってないですが兄弟プロジェクトのようなお付き合いをさせていただいて、FacebookのAPIで直近の投稿を取得するスクリプトをCronで定期的に実行して、ユレッジに防災トピックスとして表示する仕様になっています。公開後、リソースが残らないのは勿体ないので、取得した投稿をWordPressの記事データベースに最新のものだけ自動的に投稿されるようにし、アーカイブ化を可能にしました。Facebookページの投稿は、言わば「自然検索の及ばぬ範囲」ですから、そこでコンテンツを眠らせておくのも勿体なく、とは言え、ユレッジ自体も最小人数のチームで回っているプロジェクトですから、非常に有効に働いています。言わば、WordPressへのCMSとしてFacebookページが機能しているイメージ。

こういった仕組みは例えば、一時画伯のフォトギャラリーなどでも用いていて、Facebookページに投稿されたアルバムをWebサイトで表示し、詳細はFacebookページへ、そこから、いいねやシェアを含めて写真を楽しんでいただく、という導線を引いています。

芝浦ハウス
http://www.shibaurahouse.jp/

芝浦ハウス

こちらではETではシステムカスタマイズのみ担当しています。このプロジェクトで特徴的だったのはプラグインをカスタマイズするということでした。1つはカレンダープラグイン、もう1つはお問い合わせプラグインです。

カレンダープラグインはプラグイン自体がテーマでその挙動を管理する仕様になっており、サイトデザインに合わせて独自テーマをセットアップしました。プラグインの機能を受け取ったマークアップに従って、再構築したイメージです。またある程度複雑なパターンのマークアップを、どうやってサイト内で汎用性を持たせて使い回すか、というところにも工夫が必要でした。

お問い合わせプラグインは、お問い合わせの内容を、部分的にWordPressの記事データベース(正確にはカレンダープラグインが生成する記事データベース)に下書き保存するという、機能が実装されています。お問い合わせプラグインが実行されるのをトリガに、その入力値を参照しつつ、それをカレンダー記事として下書き保存するスクリプトが走るイメージです。なので2つのプラグインが持っている機能を活用しつつ、その両方を組み合わせて機能するテーマを作ったという感じでしょうか。これ大変だった。

というわけで、僕がWordPressを使う理由

Case Studyを踏まえて、先ほどの一般的なWordPressの良さに加えて、僕がWordPressを使う理由を書いてみます。

  1. 開発にIDEが使える
  2. 豊富なテンプレートタグが用意されている
  3. いざとなったらデータベース直接参照できる
  4. 開発者向けのプラグインの充実
  5. 高い負荷のサイトも対応できる

開発にIDEが使える

特にCase Studyで見て来たようなテーマのカスタマイズとプラグインのカスタマイズが並行するような開発では、WordPressの管理画面で作業を行うのは現実的ではないです。そもそもWordPressのテーマやプラグインの編集画面て、割と不親切です。最近のTumblrとかの方がよっぽど良い。ただ、IDEで開発できるので、ガッツりカスタマイズするにはとても便利です。僕はNetbeansというIDEでWebサイトごとにプロジェクトを作って、WordPressのwp-contentの中身だけをNetbeansで同期するようにして、開発しています。そうそう、致命的なバグでない限り、WordPress本体はいじらない方が良いです。システムのアップデートができないサイト、になってしまうので。これはWordPressを使うことの機動力を落とします。

豊富なテンプレートタグが用意されている

WordPressのテンプレートタグはかなり良いです。テンプレートタグの機能を活かしつつ、functions.phpにサイトで使う機能を盛りこんでいきます。これ、テンプレートタグはWordPressで共通の仕様なので、他のサイトで作った関数が、違うサイトでも流用可能なケースが多いです。この辺の汎用性の高さは魅力。

いざとなったらデータベース直接参照できる

WordPressのデータベースの構造は比較的シンプルで、いざとなったらテンプレートタグで用意されてなくても、データベース参照して情報引っ張ってこれます。あと、プラグインが独自のテーブル作ったりしますが、その値も取って来れます。全てがテンプレートタグとして用意されていなくても、いざという時はこれで何とかします。

開発者向けのプラグインの充実

これ本当に良くて、例えばカスタムフィールドというWordPressの拡張機能を管理しやすくするプラグインや、正規表現でサイト内のコンテンツを検索・置換できるプラグインなどがあり、かなり重宝します。

高い負荷のサイトも対応できる

例えばこのブログは現在、6,286記事あります。普通にWordPressで運用するとちょっと鈍重になります。ただ、さくらのVPSでnginx使って運用しているので、そんなにストレスはないと思います。また最近だと、 @taromatsumura が使っている、SOVA WPというサービスなども最初からWordPressを高速化して運用するためにセットアップされているそうで、パフォーマンスも良いと聞いています。昔は、WordPressはページ生成が鈍重でSEOに弱くなるから、静的にページ生成するMovableTypeが良い(これちょっとざっくりした説明ですけど)、今はあんまりそういう理由でWordPressを選ばない、ということはないんじゃないかなと思います。

まとめ

他にも書きたいことは結構あるんですが、一通り、一般編・Case Study・応用編みたいな感じで、Webサイト制作で僕がWordPressを選ぶ理由を書いてみました。やっぱり、スピード感持って作れる、って言うのが一番大きい気がします。実際は詰まることも多いですが、本当に良い「ツール」です。

バンザイ!

ひとり仕事: フリーランスという働き方
(2012-10-5)
売り上げランキング: 14,705
100円
WordPressデザインレシピ集
狩野 祐東
技術評論社
売り上げランキング: 197,569
WordPress 高速化&スマート運用必携ガイド
こもりまさあき 岡本渉
エムディエヌコーポレーション
売り上げランキング: 435,263