SANGOの公認 子テーマができました!

カスタム投稿タイプを利用して複数あるWordPressを統合して運用する方法(案)

企業サイトをWordpressで管理しています。

あるサイトは、総合トップページとしてルート(厳密にいうとルート配下のwpフォルダ)にWordpressをインストールし、サブディレクトリ内に、店舗毎にインストールしております。

example.com/wp/
example.com/tenpo1/wp
example.com/tenpo2/wp
example.com/tenpo3/wp
example.com/tenpo4/wp

と、このような感じです。
特段、マルチサイト化もしておらず、会社紹介などのコンテンツは店舗毎に重複していました。
※入社する前からあるサイト。

wordpressをサブディレクトリで複数管理すると

メリットはなんだろう、と考えたことがあります。
ジャンルや目的が全く違うサイトなら、こちらの方が作成もし易いですし、管理は楽ですね。
しかし、今回の場合はエリアターゲットが違うだけで扱う商品は同じ。
どう考えても、デメリットが大きい。
例えば、更新作業。
各店でのキャンペーン情報の更新には、それぞれの管理画面にアクセスしたり。
サイドバーに追加コンテンツがあれば、全てのサイトで同じ作業をしなければなりません。

これはCMSとして、管理できていないのでは。
そう思えてきました。
今回行ったことは、コンテンツ管理システムをよりコンテンツ管理システムらしくしただけの話です。

WordPressを一本化する前に

大きくサイト構成を変えるため、設計をしっかりして置かなければ対応できなくなります。
今回のサイトは、今まではコンテンツ管理を行えていなかったため、ストック情報を蓄積できる手段と方法を作らなければSEO的に宜しくありません。

ページ階層を設計し直す

今までは、コンテンツページは全て固定ページで作成されていました。
さらには、元々のトップページのbody部分はひとつのhtmlで構成されていました。
よくある、「固定ページをトップに配置する」のあの設定です。
(^^)…

時間のあるときに一部改良を行いまして、index.phpから固定ページIDの呼び出しを行う形で更新する箇所を制限だけしました。
記述例

<?php
$page_id = xxx; //xxxに呼び出したいページIDを入力
$content = get_page($page_id);
echo $content->post_content;
?>

「イベント情報」用の固定ページを新規で作成し、その箇所だけ書き換えて更新するようにしていました。
「ああ、もったいない。」とは思いながらも、実害も無かったので大掛かりな改装は後回しになってしまいました。

投稿ページとカテゴリを利用して、カテゴリ別ツリー状にパーマリンクが作成されるため、イベント情報などはストック情報として蓄積させ易いコンテンツです。最低限、ここは改善が必要です。
コンテンツの階層にボリュームを持たせてSEO効果アップ!を期待します。

その為、ページ最適化の構成案と、管理上で最も運用しやすい構成案の二案を用意しました。
更に、今まで別途無料ブログで更新されていたスタッフブログもコチラに統合してしまいます。

カスタムポストタイプを活用、管理最適化案

任意のジャンル別に投稿口を増やす「カスタムポストタイプ」というWordpressの機能を利用して、5店舗分の投稿内容を管理していきます。

  • 短期開催のイベント配信に利用するカスタムポストタイプ「event」
    • カテゴリ「店舗名1」
    • カテゴリ「店舗名2」
    • カテゴリ「店舗名3」
    • カテゴリ「店舗名4」
    • カテゴリ「店舗名5」
  • 長期間キャンペーン配信に利用するカスタムポストタイプ「campain」
    • カテゴリ「店舗名1」
    • カテゴリ「店舗名2」
    • カテゴリ「店舗名3」
    • カテゴリ「店舗名4」
    • カテゴリ「店舗名5」
  • ブログ投稿管理用カスタムポストタイプ「blog」
    • カテゴリ「店舗名1」
    • カテゴリ「店舗名2」
    • カテゴリ「店舗名3」
    • カテゴリ「店舗名4」
    • カテゴリ「店舗名5」

このメリットは、全てのカテゴリをTOPページに表示しつつ、各拠点毎に作成した固定ページに
それぞれのポストタイプからカテゴリを指定して拾うことで、今までのそれぞれのWordpressの形で見せることができます。

この形にすることで、サイドバーの更新は一回で済みます!
イベント更新は一箇所で行えます!
カテゴリを複数選択することで、店舗複合のイベントにも対応できます!
なんたって一回の更新で全てが行なえる!
固定ページ毎にmetaやディスクリプションを設定することで、SEO対策もOK!
みんな幸せ!
ただし、こちらはパーマリンクのことを考えていないパターン。
各拠点ページを固定ページに作成し、ポストをカスタム階層化してしまうことで、各店用に更新した投稿ページが固定ページ配下に現れないという問題が出てきます。
ブログを更新しても、それぞれの店舗ページの配下にならないのです。
再考の必要がありました。

さらに沢山のカスタムポストタイプを活用「パーマリンク最適化案」

ということで、ページ階層を綺麗に、エリア別に構成させる為に考えだした案がこちら。

  • 店舗別カスタムポストタイプ「tenpo1」
    • 短期開催のイベント配信カテゴリ「event」
    • 長期間キャンペーン配信カテゴリ「campain」
    • ブログ投稿管理「blog」
  • 店舗別カスタムポストタイプ「tenpo2」
    • 短期開催のイベント配信カテゴリ「event」
    • 長期間キャンペーン配信カテゴリ「campain」
    • ブログ投稿管理「blog」
  • 店舗別カスタムポストタイプ「tenpo3」
    • 短期開催のイベント配信カテゴリ「event」
    • 長期間キャンペーン配信カテゴリ「campain」
    • ブログ投稿管理「blog」
  • 店舗別カスタムポストタイプ「tenpo4」
    • 短期開催のイベント配信カテゴリ「event」
    • 長期間キャンペーン配信カテゴリ「campain」
    • ブログ投稿管理「blog」
  • 店舗別カスタムポストタイプ「tenpo5」
    • 短期開催のイベント配信カテゴリ「event」
    • 長期間キャンペーン配信カテゴリ「campain」
    • ブログ投稿管理「blog」
  • 全店一斉投稿用カスタムポストタイプ「all」
    • 全店版短期開催のイベント配信カテゴリ「event」
    • 全店版長期間キャンペーン配信カテゴリ「campain」

この形をとることで、各店の為に更新した投稿は全て、カスタムポストタイプ”tenpoX”に集まります。
カテゴリイベント情報、キャンペーン情報、ブログ記事が全て一つの”tenpoX”から始まるパーマリンクとして生成されるのです!

example.com/tenpoX/event/**********
example.com/tenpoX/campain/***********
example.com/tenpoX/blog/********

そしてこのカテゴリを統括するarchives.phpを複製しarchives-tenpoX.phpと名前を変更して見せ方を変更することで
archiveページを各店舗用のTOPページとして利用します。
この形であれば、問題なく全ての投稿を一つの束として纏められます。
ただし、この場合index.phpで各店用に呼び出されるイベント情報の内、複合店舗で行われるイベントやキャンペーンが被って表示されてしまいます。
その為に例外措置として、カスタムポストタイプ「all」を準備しました。
複合店舗のイベントの場合は、こちらの「all」に投稿することでイベントの重複を回避できます。
※こちらにかんしては、まだ検討中。

WordPressは何でもできる

こういった形で、少し複雑にはなりますが、複数Wordpressを入れることなく、マルチサイト化することもなくアイデアでなんとか一本化できるものです。

更新箇所を少しでも少なくすることで業務効率化にもつながります。
現在はまだ草案の段階ですが、いずれは、必ずこの統合化を行いたいと思っております。

まだ迷っている部分ですが、「スタッフ紹介」の部分

  • カスタムポストタイプ「staff」で管理してカテゴリで店舗を分ける
  • author情報を利用してスタッフ情報を分ける

このへんで迷っています。
何かいい案が有りましたら、正岡に教えてあげてください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です