Twitterで流れてきたWordPress界隈の話題を見て、やっぱり一度はconcrete5を試してみてほしいなと思った話

菱川拓郎
菱川拓郎

ここ数日、自分にとっては懐かしい話題がTwitterで盛り上がっていました。

「WordPressで、固定ページの内容はエディタで編集させるようにすべきか?
それとも、エディタに入れずにPHPのテンプレートファイルに書くべきか?」

という命題です。Web関係のクリエイターを多くフォローしていると、こういうニッチな話題もTwitterで盛り上がっているのを観測できるものです。

この話題、WordPress 2.x の頃はそんな話もしてたなぁという印象ですが、まさか2019年にもなってまた見かけるとは思っていませんでした。とはいえ、当社を設立してからはWordPressを扱うこともめっきり少なくなりましたので、界隈の話題についていけていないだけかもしれませんが。

案の定、私の知り合いは口々に「エディタに書くべき!」と指摘していました。理由はいくつかあります。

  • エディタにコンテンツを入れないと、テーマ(テンプレート)を変更するとコンテンツが消えてしまう
  • エディタにコンテンツを入れないと、サイト内検索に引っかからない
  • そもそも、CMSを導入しておきながら、サイトの運営者が変更できないコンテンツがあるのは如何なものか

などなど。当然といえば当然ですね。

しかし、ではなぜテンプレートに記載したいという人が出てくるのか。それは、いわゆるWordPressで言うところの固定ページとは、お知らせなどのテキスト中心のシンプルなページと違い、複雑なレイアウトや動的な要素を含むもので、そのままWYSIWYGエディタに入れてしまうと弊害もあるからです。

例えば、コンテンツ内を3カラムに分割していたとしましょう。それぞれのカラムは divタグ を使った箱に格納されることになりますが、罫線や背景色がついていない限りこの箱は無色透明ですので、エディタでテキストを修正している際にうっかり消してしまったり、崩してしまうこともありえます。操作していた人がHTMLに詳しくなく、「divタグ?なにそれ?」の場合、消してしまった後で戻すことができません。

また、ページの途中で、サイト内の特定の箇所の新着情報を出したいと言う要件があるかもしれません。ショートコードという特殊な記法を使ってそれが実現できるようなプラグインを使えば可能ですが、標準機能ではできませんし、このショートコードもうっかり消してしまうと戻せないというのは同じです。

これらの理由で、「固定ページの内容はエディタに入れたくない」という要望が発生し、エディタに入れないならば選択肢としては「テンプレートに書いてしまえ」くらいしかない、というわけです。

もっとも、WordPressとしても手をこまねいているわけではなく、WordPress 5.x 以降は新しい Gurenberg エディタが登場し、特定の新着情報など動的な要素をブロックとして挿入できるようになり、ある程度レイアウトを拡張することもできるようになりました。冒頭、「2019年になってもまだこの話題が生き残っているとは」と思ったのはそういうわけです。とはいえ、この新エディタもカスタマイズの技術的ハードルが高く、一般のWeb制作者が使いこなせているとは言いにくい状況のようですが…。

もうひとつ同時期に、「WordPressではキャッシュを気軽に使うべきではない」という話もTwitterで目につきました。いわく、動的な要素を持つページが意図せずキャッシュされたり、様々な不具合を起こす可能性があるため、キャッシュに頼らず高速化する方策を考えた方が良い、と。

こういう話題を見ていると、ついつい思ってしまうのです。

デザイナーにこそ、concrete5がオススメなのに!と。

「サイト内検索の対象にならない」だとか「キャッシュの副作用を考えろ」だとか、デザイナーにとっちゃ知ったことか!っていう話なわけですよ。俺のデザインを更新可能なウェブサイトにしたいだけなんだ!

俺はプログラマちゃうねん!サイト内検索とか、CMS側でちゃんとしとけや!て話です。

すごく分かります。全く同意です。

私は10年以上前からWordPressが好きで、趣味としても仕事としても触ってはいるのですが、少しずつ距離を置くようになった理由。それが「配慮させられることが多い」件なんですね。concrete5なら、考えなくて良くなって、すごく気楽になれます。

例えば、

  • マウスで操作可能なレイアウト機能があるため、一般的なWebサイトで必要なレイアウトはたいてい画面上で編集可能なようにできる。HTMLタグの知識がない人が崩す心配がない。
  • よほど複雑なHTMLであれば、WYSIWYGエディタがついている記事ブロックの代わりに、HTMLブロックを使える。HTMLソースを直接編集できるブロックなので、キーボード操作でうっかりdivが消えるなどということはない。
  • そのほかにも、新着情報を条件を指定して出せるページリストブロック、お問い合わせフォームを置けるフォームブロックなどをドラッグ&ドロップ操作で配置できるため、テンプレートにするべきかエディタにするべきか?という悩み自体が存在しない。
  • 標準機能でページ単位、ブロック単位での編集権限の設定ができるので、知識のない人がうっかり触っちゃうと困るところは管理者以外が編集できなくするという配慮もできる。
  • このように編集機能でカバーできるため、テンプレートに書く必要がなく、サイト内検索にかからないという心配もない。
  • キャッシュ機能が標準でついていて、新着情報など動的に更新されるブロックがあればページをキャッシュしない、そうでなければキャッシュする、などのきめ細かい配慮を勝手にやってくれる

などなど。

そもそも、WordPressはブログがメイン、固定ページはオマケなんです。ディスりではなく、歴史的にそうなっているのだから仕方がない。

逆に、concrete5は固定ページがメイン、ブログはオマケです。固定ページ機能は強力ですが、ブログ機能はWordPressの足元にも及ばない。得意分野が違うということです。

ですので、固定ページメインのサイトで、色々困っているというデザイナーの方は、ぜひconcrete5も覚えてみてほしいなと思います。

やっぱりWordPressじゃないとダメなんや!という方は、Snow Monkeyを試してみるのもオススメです。