タイトルの通り、最近何度か聞かれたので、僕が思うことを書いておきます。「あれ、これオレのことじゃね?」と思ったあなた、その通りです。一度話した内容を他の人に伝えるとき、「これ読んでください!」と再利用できるようにブログ記事にしました。安心してください、ところどころぼかしていますよ!
今回のテーマは以下の2つ。
- これから新しいWebビジネスをはじめるにあたってWordPressは最適か?
- すでにWordPressでビジネスをはじめたのだが開発が辛くなってきた、WordPressをやめるべきか?
この2つをスタートアップ企業もしくは起業を考えている人にメチャクチャよく聞かれるのですが、僕なりのお答えを伝えようと思います。
問1 これから新しいWebビジネスをはじめるにあたってWordPressは最適か?
答え: ケースバイケース
僕の好きな漫画『マスター・キートン』に「赤い風」というキャラクターが出てきます。主人公キートンでさえ敵わない凄腕暗殺者なのですが、暗殺の手口が巧妙で、そこら辺の樹の枝を首にぶっさしてターゲットを仕留めたりします。
[429] [429] Client error: `POST https://webservices.amazon.co.jp/paapi5/getitems` resulted in a `429 Too Many Requests` response: {"__type":"com.amazon.paapi5#TooManyRequestsException","Errors":[{"Code":"TooManyRequests","Message":"The request was de (truncated...)
このように、できる人はなんでだってできるのでしょうし、僕もそうありたいと思ってはいますが、普通は適材適所です。
WordPressが向いているのは「メディアサイト」です。限られた人々がコンテンツを作り、それを流通させるようなビジネス形態です。広告収入やBtoBコンテンツ販売、タイアップによるネイティブアドなどが主な収益源となります。
ビジネス的に明らかに成功しているWordPressサイトはほぼこれです。WordPressの制作会社で有名所が手がけているのもほぼこれ。負荷分散の知見も沢山あります。もうみんな作るの飽きてると思います。FTPで某フーにコンテンツを納品するのとか、広告記事だけ掲載期限が来たら非公開になるとか、「あーあれね」みたいなの、作ったことある開発者の方も多いでしょう。
今後増えていくパターンとしては、WordPressでのEC(要はWooCommerce)です。ただし、MagentoとかEC-Cubeみたいに先行しているツールとくらべて高機能になるかというとそんなことはなく、むしろ機能は負けてるんじゃないでしょうか。
機能がすごいからではなく、簡単にECを始められるので沢山の人がECを持つようになり、その中で化物のような売上を上げるサイトが出てくる、というのがありえる未来予想図です。カラーミーショップとかBASEみたいなもっと簡単なツールもありますが、フルマネージドの中では一番簡単というポジションでシェアを伸ばしていくでしょう。
以前WordPressの共同創業者であるMattが日本に来た時に同様の質問をしたら、そんなことを答えていたので間違いないでしょう。
データベースを見るとまともなエンジニアなら泡吹いて倒れるような構造になっているWooCommerceが、はたして素晴らしいプロダクトなのかどうかは別にして、時価総額1,000億円以上の企業が膨大なユーザーベースを元に一生懸命売るのでそれなりに流行るだろう、と僕は予測します。
そんなわけで、WordPressで実績がある(その業界でトップにいるほど成功している)サイトはメディアサイトがほとんどで、今後はECがちょっと増えるんじゃないの、という感じです。WordPressが得意なことはそれだけだと考えておいた方がいいでしょう。
WordPressでビジネスをはじめるかどうか考える前に、まずこの成功しているモデルを考慮に入れる必要があります。すでに成功しているモデルと異なるモデルでWordPressを利用する場合、それ相応に苦労します。以下、具体例を挙げてみましょう。
ケース1UGCがメインのサービス
UGCとはユーザー・ジェネレイティッド・コンテンツなので、要するにユーザーが作るコンテンツのことです。Instagramにおける写真や、Twitterにおけるつぶやきなどですね。WordPressに標準的に備わっている機能(投稿の作成機能)などを応用すればできないことはないですが、それほど簡単なことではありません。標準のユーザー機能もカスタマイズするとそれなりに大変ですし。
ただし、これは重要な観点なのですが、「WordPressでやらなかったから簡単」というわけでもありません。他のでやってもそれなりに難しいです。ユーザーの権限が異なっている場合、たとえば一般会員とプレミアム会員があるようなケースだけでも表示のチェックが単純に倍になりますし、そのフレームワークなりCMSなりが標準で備えていない機能を作成する場合はそれなりに時間がかかります。
また、UGCの場合、たとえばメディアサイトと異なるのは、コンテンツの発信者が自分(=サイト運営者)ではないということです。当たり前なんですけど。そうなると普通のメディアサイトと異なってきます。
- メディアサイトではヒットしたコンテンツの分析は容易だが、UGCでは容易ではない、なぜなら作ったのが自分ではないので。
- メディアサイトではKPI(アクセス数・広告売上)をすぐ確認できるが、UGCではそれをユーザーにフィードバックする必要がある(しかもプラス材料として)
- コンテンツを作ってくれるユーザーは気まぐれであり、彼らをモチベートするアイデアやUIを考え続けなければいけない。
UGCは今後もWebサービスの花型であり続けると僕は思っていますが、それを作るのはそもそも簡単ではないということですね。完全外注にする予算規模的に言うと、1,000万ぐらいではじめてもすぐ溶けると思われます。
ケース2 Webである意味があまりない
上述したInstagramでいえば、そもそも「ユーザーが持っているiPhoneにカメラ付いている」という事実に支えられたサービスであり、だからこそリリース当初はWebサイトを持っていなかったりしたわけです。そうしたユーザー側の事情も技術選定の決め手になるでしょう。2016年にInstagramをWebサービスだけで始めようとする人はセンスがなさすぎるので色々見つめなおした方がいいと思います。
これは僕の個人的な感想ですが、以下の条件をすべて満たすものはiOSアプリからスタートした方がいいと思います。
- 検索での需要がない(Googleから人が来ることがない)
- サービスに対して金を払う人が最終消費者である(=BtoCである)
- シチュエーション・ドリブン(移動中である、カメラが必須などなど、シチュエーションが重要なサービス)
世の中の大半の人にとって、オープンで自由な空間であるWebは存在しません。LINEやYahoo! ニュース、Facebookなどの各サービス中でコンテンツの一部として表示される「インターネットの一部」です。こうした現実に対する憤りやWebへの宗教的な信仰を持たない人は、スマホアプリの世界でがんばった方が得るものが多いと思います。そもそも人が多いですし。
とはいえ、スマホアプリ開発もまた簡単ではないです。Objective-C, Swift, Java, Cordova+HTMLのうちどれでやるのかという問題もさることながら、まともなサービスならクライアント-サーバモデルになると思いますので、サーバサイドの技術をどうするかという問題があります。Baas使えばどうにかなるレベルならそれでもいいですが、既存のサービスでは解決できない機能が必要ならば、それ相応のコストがかかります。適当にやっても2,000万ぐらいすぐ溶けるんじゃないでしょうか。失敗事例として「24歳でスマホゲーム起業。開発に2,000万円かけたが「資金難と大バグ」のコンボで会社終了。アプリ「きのこれ」元社長が語る会社倒産後の世界。」という良記事があるので一読をおすすめします。
というわけで、WordPressでビジネスを始める場合、それがWordPressでなんとかなるものであればぜひ採用したほうがいいですし、そうでないなら別のものを採用すべきです。要件やコスト感など鑑みて決めてください。僕もスタートアップ起業支援コンサルティングとかをやっているわけではないので、これ以上はマジで知らないのでお答えできません。
いずれにせよ、テック系のスタートアップでは「創業メンバーに技術力があること」はわりとマスト要件だと思います。外注費用があんまりないんだったら、しょうがないんでWordPress使っておくといいかもしれません。WordPressならプラグインとか組み合わせて魔改造すれば100万ぐらいでもECやらSNSはじめられますからね。
問2 すでにWordPressでビジネスをはじめたのだが開発が辛くなってきた、WordPressをやめるべきか?
答え: いつでもどうぞ!
『ものぐさ精神分析』で有名な岸田秀という心理学者は母子間のトラウマなどについてよく書いていましたが、彼は母親の墓前で母親を罵倒することで救われたそうです。そういうこともあるでしょう。子供は親を選べないですからね。
[429] [429] Client error: `POST https://webservices.amazon.co.jp/paapi5/getitems` resulted in a `429 Too Many Requests` response: {"__type":"com.amazon.paapi5#TooManyRequestsException","Errors":[{"Code":"TooManyRequests","Message":"The request was de (truncated...)
しかし、もしあなたがWordPressを使ってすでにビジネスをある程度の規模まで成長させたのならば、まずは感謝すべきです。というのは、あなたは自分で勝手にWordPressを利用することを選んだわけで、しかもそれはフリーのオープンソースなわけです。プラグインがクソでも、グローバル変数ばっかりでうんざりしても、感謝の気持ちを忘れてはいけません。あなたがそれを選んだのです。感謝の気持ちを忘れて悪口を言うのは、人間として徳が低いです。
で、ですよ。
ある程度サイトが成長してくると、独自の機能やらなんやらが必要になってきます。「既存のプラグインとテーマをそのまま使っているだけで上場できました」なんてケースは稀でしょう。もしできたとしたら、ビジネスモデルがよほど優れていたという以外ないですね。普通は独自のカスタマイズを施します。そうすると、「WordPressで開発すると効率が悪い」という意見が技術者側から上がってきたりします。あと、スケーラビリティがどうたらこうたらとかですね。
僕個人の経験で言うと……
- 月間ウン千万PV超でもメディアサイトなら普通に動く
- ECっぽいサイトでも年商2,30億なら動く
という印象です。「いや、月間2,000億PVなんだ!」とか、「月商1,000億なんだ!」とか、そういう人もいるかもしれませんが、ぶっちゃけそんだけ規模が大きいと僕も経験ないですし、よくわからないんで札束で殴って解決してもらっていいですか。
あくまで私見ですが「WordPressで◯◯ができない!」と怒っている人は次のパターンが多いです。
- そもそもスキルが低く、既存のフレームワークにできること(マニュアルに書いてある)を理解して要件を実現する能力がない。
- 別のMVCフレームワークにある機能を想定して、それがないと怒っている。たとえば、カスタムデータベースの作成機能がないとか。
前者のパターンは危険です。その人は自分の無能を隠すためにWordPressを悪者にしている可能性があります。ドキュメントルートにいっぱいPHPファイルが置いてある場合はその可能性が高いです。たとえば、document_root/merumaga/
フォルダにindex.php
とsuccess.php
とerror.php
が置いてあったら要注意。その人はWordPressに備わっているリライトルールや各種APIをまったく理解しないまま作っている可能性があります。
そして、そんな人しか頼る人がいないという状況は、あなたがやっているビジネスの状況(もしくはあなた自身の人徳)を示している可能性がありますので色々見なおしてみてください。WordPressはあまり関係ありません。その人は別の技術を使っても同じようにポンコツである可能性が高いです。
後者の場合は、はっきりいって「その人次第」です。WordPressにはいろんな機能がもりもり入っていて、たとえばリビジョン機能とか自動保存とか、自分で作るとけっこう時間かかるので、そういうのが最初っから入っているのは便利です。その一方、コメントを使わないサイトはけっこうあったりもします。
じゃあ全部フルスクラッチで作り直すとしましょう。それが果たして成功裏に終わるのか? それはわかりません。たとえば、WebSocketがものすごく重要なサービスを作っているのであれば、Nodeあたりで書き直した方がいいのかもしれませんし、その部分だけ分離して自社用APIを立てるだけで済むのかもしれません。ベース技術の恩恵がもたらしてくれるものと、それを捨てることで得られる恩恵を天秤にかけて比べたらよいでしょう。
ただし、「なんかイライラするから、いまWordPressでできていることを再実装する」というのはあまりおすすめしません。PHPの創始者であるラスマス・ラードフ氏は「PHPがひどい言語だというならWordPressを他の言語で書き直しますか? がんばってください,5年後に会いましょう(笑)」と言っています。スタートアップ企業において、時間は重要な資産なので「部屋を綺麗にしたい」みたいなレベルの悩みを解決するために時間をかけるのはやめましょう。
そうそう、ある程度レベルの高い技術者の場合、ナルシシズムのために「できる」という場合があります。以前相談を受けたもので、LaravelだからFuelPHPだかの当時わりと新し目だったフレームワークでWordPressみたいなサイトを半年かけて作ったというケースがあったのですが、あれは可哀想でしたね。それ多分、そのエンジニアがやってみたかっただけですよ。まあ、どれぐらいのフィーを払っていたのか知りませんし、大して金にもならないなら自分がやってみたいことをやろうと思うエンジニアの気持ちはわからなくもないのですが、「5年後に会いましょう(笑)」というラスマス氏の名言が胸に去来します。
色々まとめますと、WordPressで動いているサイトを別の技術で書き直すこと自体は可能ですし、ビジネスの規模がある程度大きければ、それがよく働く場合も明らかにあります。しかし、WordPress自体がかれこれ10年以上メンテされて続けてきたソフトであること、その改良のアイデア自体がそれほど多くないことなどを鑑みると、以下の条件を満たさない場合はやめた方がいいです。
- WordPressでは絶対にできないことがビジネス上とても重要になってきた
- 特定の技術を採用した場合の開発効率とWordPressの開発効率が明らかに数値化できており、見込みも立っている
- あなたのビジネスはとても魅力的で、多くのエンジニアがぜひやりたいと思うような規模まで成長している
これらにマッチしない場合はそのままがんばってください。大丈夫、WordPressでも大抵のことはできますよ。ただのPHPですから。
あとは求人ですよ。Go言語とかサーバサイドSwiftとか、Haskellとか、そういうエッジーな言語で「自社サービス開発してます!」とかいうと、勉強熱心でエッジーな人が集まるんですね。優秀な開発者を集めるのはとても大変なので、それはそれでアリだと思います。ただし、うまくいくかどうかはやったことないので知りません。
おまけアドバイス1: 技術者のセカンド・オピニオンを聞けるようにしよう
これらの相談を受ける場合、たいていは「自分は技術的なことがよくわからない」というケースが多かったです。問題はわりと技術者のスキルレベルに還元されるんですね。要するに、できるヤツならなんだってできるだろうし、できないヤツはなにやったってダメということです。
いろいろ話をすると、「僕もプログラミング勉強した方がいいですかね」とかそんな話題になりがちなのですが、プログラミングなんてやればできるし、やってもできなかったら一生できない類の技術なので、やりたくもないのに勉強することはありません。
結果的にできるようにならないのなら、知識なんてあってもなくても同じです。技術力がない人に優秀な技術者は見抜けません。それよりも「こいつ仲良くなった人と話すときだけテンション高いな」とか、「なんにでも自信をもって話すな」とか、そんな些事ばかり目に行ってしまいます。
率直に言いましょう。僕は知っていますよ。死ぬほどポンコツなのに月収60万を貰っているエンジニアがいることや、そういうポンコツを高額で売り抜けようとする人材派遣会社が存在することを!
というわけで、僕が試して欲しいと思うのは、以下の方法です。
- 勉強会でもなんでもいいので、技術者のコミュニティに顔をだす。WordPressならWordCamp, RubyならRuby会議など。
- そういうところに顔を出していると、技術者の知り合いができる。しかし、ここで優秀な技術者と出会おうとしてはいけない。なぜなら、あなたには技術がないので優秀さが判断できない。
- 交流ができると、「ハブになる存在」がわかってくる。いろんなエンジニアと知り合いで、各人を評価できる人。その人は技術的に優秀な場合もあるし、ポンコツな場合もある。ただし、技術者コミュニティの人的リソースについては把握している。
- その人に色々聞けば、誰がハズレで誰がアタリかなんとなくわかるようになる。間違っても「この人はポンコツですか?」と聞いてはいけない。ハブになる人はコウモリ野郎である場合が多いので、人を悪くいうことはない。ただし、その人がものすごく褒めていたり、けなしていたりする場合は、真実であることが多い。
- 結果的に最良のセカンド・オピニオンが手に入ることになる。
とまあ、こんな感じですかね。これを繰り返していると、徐々に勘所みたいなのがわかってくるんじゃないでしょうか。
おまけアドバイス2: 情報は小出しにしない!
僕も仕事柄「優秀な人を紹介してくれませんか」と相談されることがあるのですが、その期待に応えたことは一度もないです。なぜなら……
- どれぐらいのレベルが求められているのかよくわからない。「ビジネスを一緒に考えて成功に導ける雇われエンジニア」ってエロ漫画の「処女だけど淫乱」みたいな空想の産物では。
- どれぐらいの給料が支払われるのかよくわからない。今500万もらってる人に500万の仕事勧めても嬉しくないだろうし、大企業で800万もらってる人はどこぞのベンチャーに1,000万ではいかないだろうし。
- そもそも僕にも夢ややりたいことがあるので、その時間を削ってまで協力したいと思うほど夢のある話ではない。「きっと儲かると思うんです!」と言われても「そうですか、がんばってお金持ちになってください」としか思わない。
といったところでしょうか。
相談するときは資金とか給料とか売上見込とか市場規模とかそういう情報も出してくれないと、概念的な話になりがちですし人狼ゲームっぽい会話になるので、出し渋らないでお願いします。「実はエンジニアの月給25万でした」とか「知り合いのエンジニアにボランティアでお願いしていました」とか、あとから言われても、「その人がビジネスを成功に導けないのはしょうがないじゃん」としか思わないですよ。
*
それでは、こんなところで終わりにします。僕も自分で小説を発表するプラットフォームを作っているので、ビジネスの相談を受けることはまったくやぶさかではないのですが、自社ビジネスで成功したわけではないので、話半分ぐらいで聞いてください。
あ、あと再来週のWordBench東京でWordPressのREST APIについてちょっと話をします。今後のWordPressの技術動向を知りたい方はぜひお越しください。まだイベントページないんで、こちらのページをリロードしまくってください。