現在CMSと言うと、多くの方がWordPressを使っています。Q-Successから発表されているCMSシェアの中でWordPressのシェアは61.6%(2019年10月)と、ダントツで普及しているCMSです。当面この状況は続くと思いますが、シェアが高いという事が、みんなに支持されているというわけではありません。

私も長い間WordPressを使ってきましたが、サイトを構築する際に生じるWordPress自体の複雑さ、カスタマイズのしにくさには大変苦労しました。WordPressはブログや情報サイトには最適なツールですが、固定ページを主とした企業サイトに使おうとすると不便な点が多くあります。便利なテーマやプラグインもたくさんあり、その機能の範囲内で使っているといいんですが、少し違うことをしようとすると、結構プログラムを書かないとカスタマイズできません。

ブログや個人のサイトとして使う場合はいいですが、仕事として使う場合は限界だと感じ、もっとシンプルで手軽に使えるCMS がないかと探していたところ、2016年にGravというフラットファイルのCMS にたどり着きました。

Grav

Gravは、WordPressと全く異なるCMSで、様々な点において WordPress のデメリットが解消されています。サイトの構築はもちろんですが、サイトの運営にもストレスを感じることは少ないです。Gravは日本ではあまり有名ではありませんが、CMS Criticが主催する『Best Open Source CMS』(2016年)、『Best Flat File CMS』(2017年)に選出されています。また2019年も『Best Flat File CMS』に再度選出されているので、CMSの中では評価の高いCMSと言えます。また、GitHubで人気の高いCMSランキング (2019年10月)でも、wordpressの次に人気があるので、エンジニアにも支持されているCMSです。日本では、はてなブックマークのエントリー数が増えて徐々に増えて49になっているので、関心のある方が結構増えてきているのではないでしょうか。では実際にGravがどのようなCMSであるのか、Gravの特徴や機能について紹介します。

index


Gravの6つの特徴

Gravの特徴は数多くありますが、主な6つの特徴について紹介します。

シンプル

Gravのシンプルさの代表的なものとして、フラットファイルのCMSであること、Markdown 入力であることです。

フラットファイルCMS

Gravはデータベースを利用しないフラットファイルの CMSです。
サイトのコンテンツは全てファイルで管理するので構造がとてもシンプルです。 データベースを使うと、データがどこに何あるか分からないので、いざと言う時に困ったりしますが、Gravはhtmlファイルと同じでどこに何があるのか分かりやすいので安心です。

実際Gravで利用するuser以下のファイルを見てみると、下記のようになっています。
ページ、プラグイン、テーマ、アカウント、設定などに分かれていて、この中だけでサイトの制御が完結します。

grav

markdown入力

markdownって何?なんだか難しそうと思う方もいるかもしれませんが、記事を作成するにはmarkdownがとても便利です。markdownの使い方さえ覚えれば、入力が楽になり、記述がシンプルになって、後での変更もしやすいです。もちろんhtmlでの入力も可能ですが、なるべくmarkdownでの入力をおすすめします。

なお、GravにはGrav特有のMarkdown記法があり、それを覚えるとより表現の幅が広がり使い勝手も向上します。

高速

GravはベースにSymfonyなどモダンな技術を使っているので、表示は高速です。しかもキャッシュや複数のCSS、JSを1つにまとめて圧縮したりといったことが標準の機能でできるので、特別な設定やプラグインは必要ありません。

柔軟な構造

Gravのページの種類は、通常ページ、カテゴリーページ、投稿ページなどがありますが、簡単にファイルの種類を変えることができます。
またカスタムフィールドも自由に使えたり、yamlファイルからページを生成できたりといろんな使い方ができます。

Gravは、このように柔軟な構造なので、サイトを作ってからの仕様変更にも強いです。
たとえば最近の事例で、WordPressで構築したサイトのコンテンツの一部分を会員だけに見られるようにし、その中の何ページかは定形のフォーマットで投稿したいという要望がありました。ただ、WordPressで変更しようとするとそう簡単ではありません。実際にいろいろ試行錯誤して結構手間がかかりました。Gravならこのようなことも標準機能で簡単に出来てしまいます。

インストール、バックアップが簡単

データベースがないので、インストールとバックアップがとても簡単です。インストールは、ZIPファイルを解凍しアップロードするだけなので、3分ぐらいで設定が完了します。バックアップはサーバー上のデータをダウンロードするだけで、一括ダウンロード機能もあります。 データの移行、サーバーの移動も簡単で、バックアップしたデータをサーバーへアップロードするだけで移行が完了します。

マニュアルが親切

マニュアルがとても親切で、具体的なサンプルも充実していて、エンジニア以外の人にもわかりやすくなっています。どうやら専門のライターさんがいるみたいです。マニュアルは英語のページのみですが、google翻訳を使えば十分理解できる内容です。

Grav Documentation

学習コストが低い

WordPressはカスタマイズしようとすると急に難しくなるので、インターネットで検索し、その情報を元にコードをコピペしてるのが現状ではないでしょうか。これではwordpressの理解が進みません。

Gravの場合は基本的な構造がシンプルなこともありがありますが、マニュアル読み、基本的なことを理解するだけで、いろんな応用が可能です。

参考にするのはマニュアルだけで充分で、困った時はGrav Community Forumで質問してみるか、Grav Community Forumのアーカイブを調べることで解決できることが多いです。

Gravの主な機能

GravはシンプルなCMSですが、CMSとして必要な機能をひととおり備えています。
また便利なプラグインもたくさんあるので、ある程度のことは簡単に実装できてしまいます。

  • 日時指定投稿
  • 記事の並べかえ
  • サイト内検索
  • ブログ機能
  • 問い合わせフォーム
  • 新着情報の表示
  • カスタムフィールド

Gravはどんなサイトに向いているのか

小規模な企業サイト、趣味のサイト、店舗のサイト、ブログなどに最適です。
1000ページ以上の大規模サイトや複雑なデータベース構造、高度な検索機能を必要とするサイトには向いていません。

Gravに関する情報

Gravに関する主な情報は、Gravの公式サイトが充実しています。日本語のサイトは少なく、Gravについて言及している個人サイトがいくつかあります。

最後に

このようにGravには、WordPressにないメリットが数多くあるので是非使ってみてください。最初にマニュアルを読むなどして基本的なことが理解できるようにならなければなりませんが、WordPressほど複雑ではないのでご安心ください。ただ、日本語でGravに関するサイトが少なく、導入部分でつまずくかもしれないので、次回から何回かに分けてGravの使い方について紹介していきたいと思います 。

前の記事