WordPressで作ったWEBサイトをconcrete5で作り直すという妄想。
もはや最近コンクリの回し者になりつつある90zbearです。こんにちわ。
WordPressで、様々なウェブサイトを構築するために、あんなことやこんなことをして作ったよ!という事例は世の中にはすごくたくさんあると思います。
コンクリに出会って、大半はそこまで頑張らなくてもできるということ。
WordPressだけで作った場合の無茶な方法論がバッドノウハウにしか見えなくなったこと。
頑張って作った機能よりも、使いやすくなるということに気がついてしまったのです。
concrete5というCMSの魅力に引き込まれていくと同時に、これまで諸事情でWordPressで作ったウェブサイトを、コンクリで構築しなおしたいなあ。という欲求が湧いてくるのです。
そこで、予算出ないだろうしなあ、でも再構築するならどうするかなあという妄想を書き連ねてみようかと思います!
ページごとのレイアウト関連
ページごとにレイアウトが何もかも違う場合の対応
そもそも、このためだけに入れ替えたいとすら思うレベルだったりします。
エディタをビジュアルモードからテキストに切り替えてインラインでゴリゴリ書いているcssとさよならしたい。
もしくは、ページごとにここはこのカスタムフィールドで!みたいな作り方をしているおかげで新規ページを作るごとにページテンプレートを新しく作る作業とはさよならしたい。
CMSの機能のうち、ユーザーが使えている部分が文字の打ち替えと、画像の差し替えだけって切なすぎます。
やっぱりこのページはこれを上にしたほうがいいよね、という話でも、テンプレートファイルをめいっぱいいじってやらなくてはいけないので、PDCAサイクルを加速することが難しい気がします。
コンクリなら、せいぜいレイアウトパターン分を用意するだけで、このページは右サイドバー、このページは積み上げるだけ、みたいなことが簡単だし、ユーザーが自分でできるよなあと思うのです。
時限設定による表示の切り替え
WPって、いつ公開の設定はできても、標準機能でいつ公開停止っていうのがないですよね。
記事であれば、Post Expiratorなどのプラグインを使って設定したりしていたのですが、なかなかこれも難しい。
パーツそのものの機能を、そもそも変更したい。例えばサイドバーのtwitterウィジェットをある日時以降はハッシュタグを読むようにしたい。といった場合は一番手っ取り早い方法としてテーマに直接PHPのdate関数あたりを使ってゴリゴリ書いてしまったりとか。
そうなってくると、ユーザー自身が変更できる、設定できるということからかけ離れていってしまうんですよね。
concrete5なら、上級権限ユーザーであれば、時限設定が細かくできるので、このブロックの公開を何日までにして、新しいブロックの公開を同時にしよう!という対応をすることができるのは良いなあと思います。
マルチデバイス対応
マルチデバイス対応、このブログでは2014年12月現在、WordPressテーマとして、レスポンシブデザインで対応しているのですが、(とはいえ、ざっくりしかしていないので、細かい最適化をしないとなあ・・・) スマホとPCでテーマを分ける場合、WPtap Mobile Detector(年単位で更新止まってる・・・)や、Multi Device Switcherなどのプラグインを使うことになると思います。
とはいえ、コンクリはこのへんの機能が標準装備なので、プラグインがうまく動かないなあ・・・と謎にハマることもなくなるのではないでしょうか。
運用関連
ユーザー権限の設定
WPでは何かとプラグイン(User Admin Simplifier)に頼ることもあるのですが、ユーザーごとに管理画面のナビゲーションを削ったり、なんやかんやするために書き続けたfunctions.phpの一節。
細かい設定をしようと思うと、そこに触れなくてはいけないので、サイト管理者がユーザーを増やすだけでは対応できず、結局わかる人間の出番が来る。
コンクリなら、管理者が管理画面で、ユーザーを作って権限を設定するから、人事異動や着任、退職に強い。
このアカウントは何々用、こっちは何々用で、管理者アカウントだけフルアクセス!みたいな設定ではなく、1ユーザー1アカウントの原則を守りやすいっていうのは、安心感に直結するんじゃないかなあと思っています。
WPプラグインで実装している内容の再現
そもそも考え方が違うので、カスタムフィールドテンプレートは必要ないし、レイアウトを補助したり強化するための機能(例えばテーブルをGUIで書ける機能とか・・・)が欲しいなあというときは、ブロックを作ってしまえば良いのですよね。
DBを使いたければ、ブロックごとのDB設定用XMLでテーブルやらカラムの設定はできてしまいます。(フレームワークでいうmigrationファイルみたいな感じ。)
メールフォーム
僕はWPではMW WP Formを使う事が多いのですが、コンクリでは標準ので事足りてしまう気がします。
DBに保存しておきたい!という要望も、標準機能でカバー。
サイトマップ
Google用ではなく、人間用のサイトマップ。
PS Auto Sitemapをよく使っていますが、これはコンクリだと標準でついているオートナビブロックでささっと。
バックアップ
BackWPupが神すぎるので、カバーしきれないのかなあとも思いつつ。
標準のDBバックアップ機能を使いつつ、cronか何かでアップロードファイルなどはS3にでも定期的に逃がすような仕組みを作っておいたほうがいいのかなあ。
バックアップのためのアドオンってあるんですかね。今度聞いてみよう。
SEO関連
ALL IN SEO Packみたいな自動化を使っているなら話は別なのですけど、ページごとにmetaタグを管理するくらいなら標準機能だけでできてしまうのと、SEO一括アップデーターを使えば、全ページまとめて管理できるのが良いのです。
google用のsitemap.xmlも標準機能で書き出せるばかりか、除外したいページを設定したり、逆に特定URIのみ書き出したい!なんてことも可能なのです。
やっぱりニュースサイトはWordPressがいい
ニュースサイトはWP一択なのです。
洗練されたブログ機能はWPに勝てるアプリケーションって思い浮かばない。
WPで記事を書くのってストレスがないんですよね。
ニュース発信をメインにおいたウェブサイトのニュース関連機能は絶対WordPressを使いたい・・・。
とはいえ、ニュース配信部分の切り分けとかを考えると、パブリッシュはWordPressに任せて、フィードの切り分けだったり、特殊なニュース入稿なんかは別システムのほうがトラブル対応しやすいよねという話はいくらでもあるのです。
投稿関連のフックで起動するなにかしらを書いてどうのこうのってするよりも、別の方法をとりたいと思うことは多々あります。
WPのJSON APIを使えば、別システムから操作することも可能なので、このあたりも一歩踏み込みたいなあ。
concrete5のエンタープライズ版で使える、CDAM(デジタルアセット集中管理)を使うという手もあったりするようなので、そのへんも触りたいなあ。
コンクリは万能すぎて問題もあるよね
大概のことはなんでもできるんです。
その機能作ればいいじゃない。っていうことも比較的綺麗にできるんです。
ただ、その機能をどれだけのユーザーが使えるかっていうことだと思うんですよね。
もちろん、大前提として、管理者ユーザーアカウントは渡すけれど、普段使いの迷わないためのアカウントを渡しておいて、定期的にユーザーに使える機能を増やしてもらうための勉強を一緒にしていくとか、何かしらの教育プログラムを制作サイドが用意してあげる必要があるんじゃないかなあと思います。
そして、それに乗れるクライアント側担当者には、相応のやる気が必要だと思います。
途中で諦めちゃっても普通の運用をする分には何ら問題はないのですが。
「覚える覚悟があれば管理画面でなんでもできますよ。覚悟がなくてもイケてるCMSですけど。」っていうセールストークはある意味間違っていないような気がしています。
お客さんの社長さんみたいなレイヤーの方は「ほおほお、それを使えば全部社内でできるのか!」となったところで、実際の担当者レベルでは1回の講座じゃ覚えられないと思うんです。
他の業務もあれば、使用頻度の少ない機能はガンガン忘れていくわけで。
オンラインマニュアルを見るだけではどうしてもカバーできない部分のサポートは必須なので、ユーザーとして、コンクリをもっと使っていかないとなーと、最近常に思う毎日なのでした。