新しく載せたい情報が出てきたとき、固定ページで作るのか、投稿で作るのか、それともカスタム投稿タイプを新設するのか。ここで迷って手が止まる、あるいは制作を頼んだ相手から「カスタム投稿タイプで作ります」と言われて、それが何を意味するのか分からないまま進んでしまう。どちらもよくある状況です。3つの違いは機能の多さではなく、あとから運用でどう効いてくるかにあります。判断は、一覧が要るか、絞り込みが要るか、編集する人を分けるか、この3点でほぼ決まります。実際にどう決めたかも含めて書きます。
3つの入れ物が、それぞれ最初から持っているもの
固定ページは、単独のURLを持つ1枚です。会社概要やアクセス、料金表のように、時系列に並べる意味がないものが向いています。テーマにもよりますが投稿日・投稿者・カテゴリといった情報が表示されないため、見た目を整えるのが楽です。親ページを指定すればURLに階層も作れます。代わりに、一覧ページは自動では用意されません。10枚作ったら、その10枚を並べるページは手で作ることになります。
投稿は、時系列で並ぶことを前提にした入れ物です。カテゴリとタグが最初から使え、アーカイブ(一覧)とページ送りが自動で用意され、新着表示やRSSにも乗ります。定期的に増えていくものはここに入れるのが素直です。ただし、既存のブログ記事と同じ場所に入るという性質があり、業務データを投稿に入れるとブログのカテゴリ一覧に混ざります。
カスタム投稿タイプは、投稿と同じ仕組みをもう一組、別の入れ物として作るものです。管理画面のメニューが分かれ、専用の分類(カスタムタクソノミー)を持たせられます。「投稿」とは完全に別管理になるので、ブログと業務データを混ぜたくないときの答えになります。作る手間は register_post_type を書くだけですが、URL構造・分類・一覧テンプレートまで含めると設計の量は増えます。
決め手は3つ。一覧・絞り込み・編集する人
ひとつ目は、一覧ページが必要かどうか。一覧が要るなら投稿かカスタム投稿タイプです。1枚で完結し、他と並べて見せる予定がないなら固定ページで足ります。もっと単純な聞き方もあって、「これから定期的に増えますか」と一問すれば大半は決まります。増えるなら投稿系、増えないなら固定ページです。
ふたつ目は、絞り込みが要るかどうか。種別で絞る、地域で絞る、五十音で引く。絞り込みが要るなら分類の仕組みが必要で、それを既存のブログカテゴリと共有してよいかを次に考えます。共有して困らないなら投稿とカテゴリ、混ざると困るならカスタム投稿タイプと専用タクソノミーです。ここを妥協して投稿に入れると、ブログのカテゴリ一覧に業務データの分類名が並ぶという、あとから直しにくい形になります。分類そのものに階層を持たせる場合の設計はカスタムタクソノミーで階層を作るときの設計とテンプレートで扱っています。
みっつ目は、編集する人を分けるかどうか。入力作業だけを外部に任せる、店舗ごとに担当を分ける、といった運用があるなら、入れ物を分けておくと権限を絞れます。投稿に混ぜてしまうと、その人がブログ記事も編集できることになります。逆に、編集するのが常に同じ1人なら、この軸は無視して構いません。
並べて比べる
| 項目 | 固定ページ | 投稿 | カスタム投稿タイプ |
|---|---|---|---|
| 一覧ページ | 自動では作られない | 最初から用意される | 設定すれば用意される |
| 分類・絞り込み | 親子関係のみ | カテゴリ・タグ(ブログと共有) | 専用のタクソノミーを持てる |
| 投稿日・投稿者の表示 | 出ないテーマが多い | 出るのが標準 | 出す・出さないを選べる |
| 編集権限の分離 | 固定ページ単位で分けにくい | ブログと同じ扱いになる | 投稿タイプ単位で絞れる |
| 向いているもの | 会社概要、料金表、機能ページ | お知らせ、ブログ | 物件、商品、施設、用語集 |
Q&Aは固定ページへ、企業紹介は投稿のラベル変更で通した
妊活・不妊の相談を専門にしている個人サイトで、Q&A機能のプラグイン(AnsPress)を導入したときは、固定ページに置く形にしました。このプラグインは投稿ページにも設置できますが、そうするとQ&Aがブログのカテゴリ一覧に混ざり、投稿日や投稿者といった、その画面では意味を持たない情報まで表示されます。固定ページならそれらが出ないので、見せ方を整える手間がかかりません。判断そのものは「相談の記事を定期的に書きますか」と聞いた時点で決まっていました。
この変更で注意が要るのは、依頼された側から見ると「カテゴリ一覧から消えた=壊れた」に見えることです。移した理由と、代わりにどこから辿れるのかを同時に伝えないと、直したはずが不具合報告として返ってきます。このサイトではあわせて、メニューが「コンテンツ → お悩み相談箱 → お悩み相談箱」という二重階層になっていたのを、1クリックで目的のページに着く形に直しました。
市民向けスポーツイベントの協賛企業を紹介するサイト(25万円)では、逆の判断をしています。このサイトではブログを一切使わない前提だったため、カスタム投稿タイプを新設せず、標準の「投稿」のラベルを「企業」に変えました。change_post_menu_label で管理メニューの表示名を、change_post_object で投稿タイプオブジェクトのラベルを差し替える処理を functions.php に書くだけで、管理画面上は企業管理システムとして見えます。パーマリンク・検索・アーカイブが標準の仕組みにそのまま乗るので、企業名や業種での検索機能も search.php と searchform.php の改修だけで足りました。
この方式の代償ははっきりしていて、あとから普通のブログを始めたくなったときに競合します。投稿はもう「企業」になっているので、記事を書けば企業一覧に並びます。納品時に「このサイトでは通常の投稿機能は使えません」と明記しておかないと、数年後に別の担当が困ります。ブログを始める可能性が少しでもあるなら、素直にカスタム投稿タイプを作るべきです。
複数店舗を運営する会社のサイトに用語集を作った案件(18,000円)は、3つ目の型です。用語をカスタム投稿タイプで持ち、五十音・英数字・その他の3分類をカスタムタクソノミーで持たせ、入力項目をACFで足しました。分類はタイトルの先頭文字を判定して自動で付与する仕組みにしています。日本語なら五十音、英数字なら英字、それ以外はその他という3分岐で足りるので、入力する人に分類を選ばせずに済み、外部委託でも分類ミスが起きません。索引の並び順はタイトルではなく「よみがな」フィールドで決めました。漢字から始まる用語があるためで、よみがなは必須入力にしています。
この案件では入力作業を外部に任せる前提があったので、権限管理のプラグインで、用語の投稿タイプだけを編集できるアカウントを発行しました。ここで一点、実際に起きた副作用があります。権限管理プラグインは、対象にしていない既存ユーザーの管理画面表示にも影響します。他店舗のユーザーのサイドメニューに変化が出ないかを、導入前に洗い出しておく必要がありました。
決めたあとに効いてくること
入れ物を決めたら、次に決めるのはスラッグとURL構造です。ここは公開後に変えるとURLが変わるため、検索からの流入がある状態では手を出しにくくなります。実例として、用語集のカスタム投稿タイプのスラッグが grossary(glossary の綴り誤り)のまま運用されているサイトがあります。動作には影響しませんが、直すならリダイレクトの設計込みの作業になります。分類のURLも同じで、/wk/ のような短いパスにするかどうかは着手前に合意しておく話です。
一覧を作ると決めた場合は、一覧に何を出すかも設計の一部になります。本文を全文出すと縦に伸びてスキャンできなくなるので、企業紹介サイトでは当初200文字を全表示していたものを、60文字+展開に変更しました。検索結果ページには「どの条件で絞り込んだか」を必ず表示します。これがないと利用者が結果の妥当性を判断できず、問い合わせが増えます。
入力項目の設計はまた別の話で、ACFで項目を足す場合の考え方はACFで入力項目を追加するときのフィールド設計と運用の注意にまとめています。項目数が可変になるならACFの繰り返しフィールドで可変レイアウトを作る実装と注意点のほうが近いはずです。
よくある質問
あとから固定ページをカスタム投稿タイプに移せますか
移せます。ただしURLが変わるので、旧URLから新URLへのリダイレクトが必要になります。カスタムフィールドの値も移す必要があり、対象の枚数が多いほど手間が増えます。増えることが分かっているなら、10枚を超える前に決め直すほうが安く済みます。
固定ページを何十枚も作るのは駄目ですか
動作としては問題ありませんが、管理画面の一覧が扱いにくくなります。固定ページの一覧には分類での絞り込みがないため、数十枚を超えると目的のページを探すだけで時間がかかります。同じ形式のページが増え続けるなら、投稿かカスタム投稿タイプに寄せる合図です。
プラグインが用意する投稿タイプはどう扱えばいいですか
Q&Aや問い合わせ管理のプラグインは、自前の投稿タイプを持っていることがあります。その場合、入れ物を選ぶ余地はありません。決められるのは表示する場所で、Q&Aの一覧を固定ページに置くか、テンプレートを用意して独立した一覧にするかを選びます。
迷ったらどちらに寄せるべきですか
判断がつかないときはカスタム投稿タイプで分けるほうが、あとで戻しやすい傾向があります。投稿に混ぜたものを分離するのは手間ですが、分けておいたものを統合するのは表示側の変更だけで済むことが多いためです。ただし作る手間は増えるので、増えないと分かっているものまで分ける必要はありません。これまでの対応実績でも、この判断は案件ごとに変わっています。
いま作ろうとしている情報が、どの入れ物に向いているかを決めるだけなら短時間で終わります。すでに作ってしまったものを移し替える場合も、URLの引き継ぎまで含めて設計します。
