まだWordPressを使ってるの?最近お気に入りのCMS【GRAV】のご紹介

サイト構築といえばWordPressですよね。

WordPressがまだなかった時代って大変でしたよね。自分のサイトを管理するために難しい構築の知識が必要でした。その知識を得るのは、簡単ではありません。 HTML、CSS、JavaScript…多くの言語を習わなければいけません。大規模サイトだと更にその管理が難しくなります。そこでCMSが開発されました。

CMSとは、英語で「Content Management System」と言います。サイトの中身を管理するシステムのことです。現在、CMSというと、WordPressが主流でしょうか。WordPressは2003年に開発されたブログ用CMSです。
WordPressの前にも、開発されたCMSはありますが、最初非常に人気になったのはWordPressです。

WordPressが人気になった理由を調べましょう。

普段プロにしかできないことをみんなに

ネットの規模が広がってるにつれ、個人用サイトを作りたくなる人も多くなりました。WordPressを使って、自分のブログなどを作ることが簡単にできるようになりました。 WordPressの管理画面があまりにも使いやすくて、プラグインを使えば、サイトに機能が簡単に実装できます。その簡単さでWordPressの人気が広まり、個人だけではなく、企業のサイトのためにも使われるようになりました。 大手企業にも使われるようになり、WordPressがメインのCMSとなりました。現在はサイト作成の唯一欠かせないコンポーネントになりました。サイトを作るなら、WordPress!みたいな。

WordPressにはインストールできるプラグインが数え切れないほどあります。WordPress自体に存在しない機能を追加したいとき、その機能を実装出来る"プラグイン"が存在します。

なーんだ。WordPressって完璧じゃん!!!!!

いいえ、完璧ではありません。

というか、欠点が多いのも事実です。

実に、WordPressは便利なCMSです。ブログを管理したい場合は最高です。うん。

でもWordPressはブログのために作られたCMSです。ブログのCMSとしては非常に役に立ちます。しかし、いざ他の種類のサイト(企業のサイトなど)を作る際は、ちょっと不便な部分があるんです。

その欠点を調べて、解決方法を考えましょう。

サイトのテーマをWordPressに統合するのが非常に面倒

WordPressのテーマは直接PHPで書きます。しかし、PHPはテーマを書く言語ではなく、プログラムを書くための言語です。その理由で、テーマをPHPで書くのは非常に難しいです。いくつか例を挙げましょう。

  • 普通のサイトは、ヘッダー、メイン、サイドバー、そしてフッターで作られていますよね?そのため、WordPressを作るときは、ページがヘッダーをincludeして、メインを書いて、サイドバーをincludeして、フッターをincludeしますよね?すべてのページにこうやらなきゃいけないですよね?
  • データを出力するのにもっと簡単な方法はないのかな?<?php echo ... ?>をいつも書くと面倒ですし、<?= ... ?>で略してもその文字列を打つのが難しくて、結構面倒です。もっと簡単な文字列に変えればどうでしょうか?
  • もし、変数をエスケープしたいなら、PHPでは<?php echo htmlspecialchars($hoge, ENT_QUOTES, 'UTF-8') ?>になります。非常に大事でよく使われる関数にそんなに長い名前と使い方を…我々開発者涙目。あと、デフォルトでエスケープするように設定できないのかなぁ。
  • forなどの使い方、もっと簡単にできないのかなぁ…。

サイトに肝心な機能が抜けていて、プラグインに頼りすぎ

前に述べたとおり、WordPressはブログ・サイトのために作られました。すなわちブログで普段使われる機能しか搭載していません。しかし、大手企業サイトにも使われているのはなぜでしょうか? そうです。プラグインのおかげなんです。しかし残念な点は、プラグインを使えば使うほど、サイトの処理が遅くなる上に、そのプラグインのWordPressとの互換性の問題のせいで、サイトの作動が不安定になったりします。次に必要な機能について確認しましょう。

  • サイト翻訳。これは地獄です。(控えめに言って)
    • 投稿(記事)の翻訳はちゃんと保存さなかったり、エラーが出たりします。地獄です。
    • テーマ自体の翻訳も地獄です。翻訳専用プラグインを使わないと、全然翻訳できません。地獄です。
    • テーマにあるテキストを全部<?php echo _e("...") ?>として書かなきゃいけません(上記に書いたとおり、また面倒なこと)。
    • 翻訳の対象言語に影響のない変更がもとのテキストにあったら、翻訳の対象言語も更新しなきゃいけません。地獄です。
  • メール送信。お問い合わせフォーム機能によく使われる機能です。
  • カスタム・フィールド。ブログサイトでは、記事のタイトルと本文さえあれば大丈夫です。しかし、企業のサイトでは、それだけに限りません。もし、アパレルのサイトだったら、洋服の投稿と一緒に、他の情報(値段、色、サイズなど)含めたい場合、本文に書いてはデザインのオプションが非常に限られます。その場合カスタムフィールドとして追記する必要がありますが、WordPressでは、カスタムフィールドを使うにプラグインが必要です。
  • タクソノミー。もし記事をカテゴリーとタグ以外に分けたいならプラグインを使うことになります。
  • ページ別のSEO情報。
  • その他にもあると思います。

もうひとつの問題は、プラグインを見つけても、そのプラグインが適切なものかどうかです。 プラグインが見つからなかったら困りますよね。

他にも面倒なこと。それはサイト移行です。サイトを他のサーバーに移したいときは、データベースをそのまま移すことができませんので、1から情報を書き直すか、プラグインを使ってデータを移動させます。 しかし、プラグインにサイト移行を任せると、正しく移行されない可能性もあって、大事な情報を失う可能性もありえます。

ねぇ。WordPressってなんでそうなっちゃったの?

何度も言いますが、WordPressはブログ用CMSです。ブログのCMSを無理やりカスタマイズしてしまったのが原因です。

プラグインは一時的なものだと思っています。WordPress自体の柔軟性を高めることが解決になるかと思っています。

現在では、WordPressではほとんどの必要な機能はプラグインで実装できますが、今後プラグインの互換性が悪くなったり、動かなくなったりすることもあるでしょう。そのときどうしましょう‥ってなりますよね。

ここであいつの登場!!!!!

そう。Gravがあります(^^)

Grav(グラヴ)は2014年に開発されたCMSです。WordPressと違って、ブログのためだけではなく、どのサイトにも使われるように開発されました。GravはGravity(重力)の略から名付けられました。

Gravが解決することは多いと思います。

なぜ一番有名なWordPressよりも、Gravをおすすめするの?

さっき述べた通り、現状WordPressにはいくつかの問題があります。

WordPressが一番人気で使用されているかと思いますが、一番使いやすいのでしょうか。

Gravを使えば、解決出来るほか、充実したメリットがありますよー。きっと。

PHPはもう触らない!んです。

そうです!テーマをデザインするときは、PHPには一切触りませんー。PHPの代わりに、テーマ作成専用の言語Twig(ツイグ)を使います。Twigはテーマ作成専用ですから、テーマを作ることが楽になります。

<?php echo $hoge ?>ではなく、{{ hoge }}で書きます。

<?php echo htmlspecialchars($hoge, ENT_QUOTES, 'UTF-8') ?>ではなく、{{ hoge|e }}で書きます。

その他にも簡単になった書き方がありますが、その他の機能は

  • includeは使えますが、もっと簡単なextend機能があります。サイトのデザインの実装がすごく簡単にできます。
  • PHPより簡単に学べます。
  • エラー出力が非常にわかりやすいです。
  • Pythonみたいに、すごく便利な機能が乗ってます。

<?php ?>よりも、{{ }}が書きやすいですよね!

詳しくは、Twigの公式HPにアクセスしてみてください!(英語です)

プラグインなんて必要ない

Gravでは、使いそうな機能はほとんどあります。

  • 翻訳は、最初から対応していて、プラグインで中途半端な解決方法はいりません。
    • 記事の翻訳はばっちりでエラーしたりしません。
    • テーマの翻訳は、Twigで簡単に対応しています。あとでもっと詳しく説明します。
    • テキストは、{{ 'welcome_message'|t }}みたいに書きますが、<?php _e('ようこそいらっしゃいませ'); ?>よりもっとタイプしやすいでしょう?
    • 翻訳を編集するときは、専用プラグインは必要ありません。というか、管理画面を使わずに、ただFTPで編集することも可能です。
  • メール送信機能は搭載です。
  • カスタム・フィルドも搭載です。しかも使いやすすぎて草。
  • タクソノミーも搭載です。
  • ページSEOも簡単に追加できます。プラグインがなくてもね。
  • 画像を圧縮したり、加工したりする、リサイズしたりすることが可能です。アップロードするファイルのサイズなどを気にしなくても無問題。テーマが対応している限り、画像に正しい加工を適用して、正しいサイズに調整してくれます。
  • その他の便利な機能もあります!

翻訳についてなんですが、もし

<h1>ようこそいらっしゃいませ!</h1>
<p>来てくれて嬉しいです!</p>

を翻訳するのなら、ただ文章にラベルをつけて、Twigのt(Translate、翻訳)フィルターに渡します。

<h1>{{ 'welcome'|t }}</h1>
<p>{{ 'glad_come'|t }}</p>

そして、language.yaml(はい、そのJSONより便利なファイルです!)というファイルに翻訳を追加します。

ja:
    welcome: ようこそいらっしゃいませ!
    glad_come: 来てくれて嬉しいです!

en:
    welcome: Welcome, please come in!
    glad_come: I'm very glad that you came to visit!

それだけで、サイトが翻訳されます!

言語を追加したいなら、余裕です!

ja:
    welcome: ようこそいらっしゃいませ!
    glad_come: 来てくれて嬉しいです!

en:
    welcome: Welcome, please come in!
    glad_come: I'm very glad that you came to visit!

eo:
    welcome: Bonvenon! Eniru!
    glad_come: Mi tre ĝojas, ke vi venis viziti!

de:
    welcome: Herzlich willkommen
    glad_come: Ich freue mich sehr, dass Sie zu Besuch gekommen sind!

tl:
    welcome: Maligayang pagdating!
    glad_come: Ikinagagalak ko ang iyong pagdating.

全部FTPで実行できます。

あと、FTPなんですが、実はGravには管理画面が必要ないです!管理画面はちゃんとありますが、FTPアクセスさえあれば、管理画面にできることが、管理画面を使わずにできます。 あと、Gravの管理画面はスマホに完全対応していますから、スマホからの投稿も可能ですよ。

ネット接続がなかったら、Markdownを使ってテキストファイルに保存すれば、あとで不安定なネット接続でもFTPで投稿できますから、異常なときにも使えます!

プラグインがなくても、できることは限られません。

Gravでサイトの移行と管理

Gravで書いた記事などは全部、普通のファイルに保存されています。MySQLなどのデータベースを使ってませんので、FTPでフォルダーをまるごとコピーすれば、サイトの移管は完了です。

ファイルを正しくコピーすれば、必ず成功します。簡単だっちゃ!

バックアップも同じようにできます。Gravが自動的にバックアップを作ることも可能です!すごい。

もういい感じのことばかりなんスよ!

また、WordPressに新しいバージョンがあったら、その「アップデート」ボタンはなんとなく押しづらいって私だけでしょうか?いいえ。あなたも(だと思ってる)。新しいバージョンがあると、今使っているプラグインとの互換性が悪くなって、 サイトが動かなくなるのが怖くて押せないでしょ?アップデートがセキュリティー問題などの修正があるのに、適用しないなんて危ないですよね。

Gravだと、その「アップデート」ボタンを押しても怖く無いんス。ほとんどの機能はプラグインではなく搭載していますので、Gravが更新しても互換性はいつもバッチリです。プラグインを使っていても、 そのプラグインの開発者はGravの開発者でもあることが多いですので、互換性は低くなったりしません。

さっき言った通り、投稿と記事はMarkdownという言語で書きます。Markdownを使うこともためになりますので、ぜひMarkdownを試してみてください!

Gravのインストールもすごく簡単です。データベースを使ってないため、データベースを構成しなくても大丈夫です。ただGravのファイルをFTPでアップして、サイトにアクセスすると、ユーザー登録画面が表示されて、 ユーザーを登録すると、それで終わりです!

おまけに、サイトアクセス統計情報も、管理画面で見えます!

Gravだとサイトの処理が早くなるって本当?

本当です!マジです。Twigのおかげで、ページが一度処理されたあと、キャッシュも作られて、あとで同じページを表示することになっても、再処理せずに、ただキャッシュされたページを表示します。 これでサイトの表示が速くなります!

それで、Gravは完璧というわけなの?

んー、、残念ですが、この世には完璧なものは存在しないと思っています。

Gravにもいくつか欠点があります。仕方ない。

  • データベースを使ってないため、投稿記事が億までになったら、作動が遅くなる可能性があります。
  • ブログ専用のCMSではないため、WordPressと違ってブログ投稿専用の一覧はありません。ブログの管理に悪い影響がありませんが、ブログ投稿一覧が見えるほうを好んでいる方がいるでしょう。将来実装されるように祈りましょう。。
  • 記事を書く方が、Markdownを少しでも勉強しなきゃ、記事がデザインできません。Markdownは数分でわかるほどすごく簡単な言語ですが、もちろん、新しいことを学ぶのが嫌な方もいます。
  • WordPressと比べると、管理画面はちょっと変わってますので、WordPressになれてる方がGravの管理画面になれるまでちょっと時間が必要かもしれません。

最後に言いたいこと。

完璧なCMSは存在しません。それでも、WordPressよりもっと使いやすいCMSがたくさんある気がします。最近注目になっているのはGravです。俺的に。

もしGravが気になったら、ぜひ使ってみてください!

Gravの公式HPはこちらです。(英語です)

GRAVでのサイト構築はお任せください!

快適で安心安全。自由度の高いサイト制作・リニューアルのご依頼はこちらまで!

GRAVのWebサイト制作依頼をしてみる

SEDNDAI CREATOR SCHOOL【センスク】は、在宅ワークできる専門的なスキルの一つ、Webデザイナーのスキルを身につけることができるサービスとなっております。ぜひ、ご興味のある方は、まずはお問い合わせください!