EC-CUBE 4では、URLパラメーターを利用するカスタマイズによって、商品一覧の表示対象を切り替えられます。通常の一覧には出さず、特集や案内用のURLからアクセスしたときには表示する、といった運用が可能です。ただし、URLによる表示切り替えは閲覧者の本人確認にはならないため、会員限定・取引先限定の商品には別途アクセス制御が必要です。
「サンプル商品を通常商品と一緒に並べたくない」「特定のカテゴリーページからだけ案内したい」。こうしたご要望に対して、サンクユーでは商品情報に表示用の設定を追加し、URLの条件と組み合わせる方法を検討します。この記事では、元のカスタマイズの考え方をもとに、EC-CUBE 4系で実装する際の仕組みと運用上の注意点を解説します。
通常の商品一覧と、案内用の商品一覧を使い分ける
以前いただいたご相談は、「通常の商品一覧には表示させたくないが、特定のカテゴリーページには商品を表示したい」というものでした。会員・非会員の区別だけでは対応できず、どの入口から商品を案内するかを整理する必要がありました。
例えば、通常販売の商品と試供品を同じ一覧に並べると、容量や価格の違いが分かりにくくなる場合があります。普段の一覧では通常商品を中心に見せ、試供品を紹介するページでは両方を比較できるようにする、といった使い分けが考えられます。
最初に決めたいのは「どの一覧に出すか」と「誰に見せてよいか」です。
公開して差し支えない商品の案内方法を変えるなら、URLによる切り替えが候補になります。特定の会員や取引先以外に知られてはいけない商品は、ログイン情報に基づく権限管理を組み合わせます。
URLを変えて見せ方を切り替えることで、同じ商品を案内先ごとに複製する必要がなくなります。一方、通常一覧に出さない設定を追加しただけでは、商品詳細ページや他の掲載箇所まで非公開にはなりません。対応範囲を決めてから設計します。
EC-CUBE 4のURLパラメーターで表示を切り替える仕組み
商品一覧URLに、表示条件を渡す
EC-CUBE 4の商品一覧URLは、通常、/products/listという形式です。カテゴリーを指定し、独自の表示条件を追加する場合は、次のようなURLを設計できます。設置先のディレクトリやURLのカスタマイズによって、実際のパスは異なります。
/products/list?category_id=8&listdisplay=1?以降がクエリ文字列で、複数のパラメーターは&で区切ります。この例のcategory_id=8はカテゴリーの指定、listdisplay=1は今回のカスタマイズで追加する表示条件です。
listdisplayはEC-CUBEの標準機能ではありません。URLに文字列を付けるだけで動作するわけではなく、受け取った値に応じて商品の取得条件を変更する処理が必要です。旧バージョンのlist.phpを前提にした実装も、EC-CUBE 4へそのまま移すことはできません。
商品側の設定と、URLの条件を組み合わせる
商品情報に「通常一覧から除外する」という設定を追加します。設定がOFFの商品は通常どおり表示し、ONの商品は案内用URLで表示対象に加える、という仕様です。
| URLの指定 | 表示対象 |
|---|---|
| listdisplayの指定なし | 「通常一覧から除外する」がOFFの商品 |
| listdisplay=0 | 指定なしと同じ。設定がOFFの商品 |
| listdisplay=1 | 設定がOFFの商品に加え、ONの商品も対象にする |
いずれの場合も、カテゴリー、検索キーワード、商品の公開状態、既存の閲覧権限などの条件は維持します。listdisplay=1は、非公開商品や権限のない商品まで表示する指定ではありません。
例えば、カテゴリー8に通常商品Aと案内用商品Bがある場合、通常のカテゴリー一覧にはAを表示し、上記のURLではAとBを表示します。Bだけを並べたい場合は、専用カテゴリーや別の抽出条件が必要です。また、特定カテゴリー以外ではBを出せない仕様にするなら、切り替えを許可するカテゴリーもサーバー側で限定します。
特集ページやBtoB-ECでの活用例
この方法は、公開商品の案内経路を整理したい場面で活用できます。以下は運用例であり、それぞれのサイトで表示条件や販売条件を確認して実装します。
| 利用場面 | 表示の使い分け | 合わせて決めること |
|---|---|---|
| サンプル・お試し品の案内 | 通常一覧では除外し、サンプル紹介のリンク先に表示 | 購入数量の上限、送料、通常品との違い |
| 展示会やメールからの商品案内 | 案内用URLから関連商品をまとめて紹介 | URLが転送されても公開してよい商品か |
| 期間限定の特集 | 特集の入口から対象商品を含む一覧へ誘導 | 掲載期間と販売期間、終了後のリンク先 |
| BtoB-ECでの提案商品の紹介 | 用途別のURLを営業担当者から案内 | 取引先別の商品・価格制限が必要か |
期間や購入数量の制限は、一覧の表示設定とは別の機能です。特集ページからリンクを外しても、保存された商品詳細URLから購入できる可能性があります。販売も終了させたい場合は、購入処理側で期間や販売可否を判定します。
BtoB-ECでは、営業担当者が用途に合う商品一覧を案内できると、顧客が商品を探す手間を減らせます。ただし、取引先別価格や専用品を扱う場合は、案内用URLとログイン後の権限を組み合わせた設計が必要です。
通常一覧と、特集・営業案内用の一覧を分けたい方へ
表示したい商品、案内する相手、現在の検索・カテゴリー構成を伺い、URLでの切り替えと会員別の制御が必要な範囲を整理します。
EC-CUBE 4系で実装するときのポイント
商品情報と管理画面に設定を追加する
EC-CUBE 4には、商品などのデータを拡張するEntityのカスタマイズと、入力フォームを拡張するFormTypeの仕組みがあります。これらを利用して、商品に表示用の項目を持たせ、管理画面から設定できるようにします。
既存商品に影響を与えないよう、初期値は通常表示とするなど、導入時の扱いも決めます。CSVで商品を登録・更新している場合は、追加項目をCSVでも管理するか、更新時に設定が消えないかを確認します。
参照:EC-CUBE 4「Entityのカスタマイズ」/「FormTypeのカスタマイズ」
商品を取得する段階で、表示条件を反映する
URLの独自パラメーターを受け付け、値を検証したうえで商品検索の条件へ渡します。例えば、許可する値を0と1に限定し、指定なしや想定外の値は通常表示に戻す、という仕様にします。文字列、配列形式、重複した指定なども考慮し、受け取った値をそのままSQLに連結しません。
EC-CUBE 4の公式資料では、商品検索のクエリを拡張する仕組みとして、QueryCustomizerやWhereCustomizerが案内されています。商品検索を表すQueryKey::PRODUCT_SEARCHに対応する拡張を使い、既存条件を保ちながら除外条件を追加する方法が候補になります。独自パラメーターを検索処理へ渡す部分も含めた実装が必要です。
画面のHTMLやCSSだけで商品を隠すと、商品情報がページ内に残ったり、一覧の件数と実際の表示が合わなくなったりします。商品データの取得段階で条件を反映し、その結果に対して件数計算とページ分割を行う設計にします。
参照:EC-CUBE 4「Repositoryのカスタマイズ」
ページ送りや並び替えでも条件を引き継ぐ
最初のページで正しく表示できても、2ページ目へ進んだときにパラメーターが消えると、対象商品が変わってしまいます。並び替え、表示件数の変更、絞り込み、戻る操作などでも、意図した表示条件が続くかを確認します。
商品一覧のHTMLをCDNなどでキャッシュしている場合は、表示に関わるパラメーターを区別する設定が必要です。会員別表示も併用する場合は、別の会員向けの内容が共有キャッシュから返らない設計にします。バージョン、導入プラグイン、既存の検索カスタマイズによって、調整箇所は変わります。
会員限定・取引先限定の商品には、閲覧権限の確認が必要
URLパラメーターは、利用者が書き換えたり、他の人へ転送したりできます。表示切り替えだけを実装した場合、同じ条件のURLを開けば、他の人にも同じ公開商品が表示されます。「URLを知っている人」と「閲覧を許可した人」は一致するとは限りません。
取引先ごとの専用品や非公開価格を扱う場合は、ログインした会員と所属する取引先をサーバー側で確認し、閲覧・購入できる商品を判定します。URLに取引先IDを付けるだけでは、権限確認の代わりにはなりません。
- 商品一覧とサイト内検索で、権限のない商品が表示されないか
- 商品詳細URLへ直接アクセスしても、閲覧制限が適用されるか
- カートへの追加時と注文確定時に、購入できる商品か確認しているか
- 関連商品、お気に入り、サイトマップ、外部連携データなどに非公開情報が出ていないか
表示用のフラグは、運用担当者が商品を並べ分けるための設定です。会員限定販売まで必要なら、一覧以外も含むアクセス制御として設計します。BtoB-EC全体の構成は、BtoB-EC構築サービスでもご案内しています。
パラメーター付きURLのSEOは、ページの役割に合わせて設計する
URLにパラメーターがあること自体で、検索対象から外れるわけではありません。特集として検索からも見つけてもらうページなのか、メールなどから案内するための補助的なページなのかを決め、タイトル、説明、内部リンク、検索対象の扱いをそろえます。
検索流入を狙う特集なら、商品を並べるだけでなく、用途や選び方、通常品との違いを説明します。継続して使う特集は、専用ページとして管理する方法もあります。表示条件の組み合わせごとに、説明の乏しいページを大量に作る必要はありません。
通常一覧と内容が重複・類似するURLは、canonicalによる正規化を検討します。ただし、表示商品や目的が異なる特集を、機械的にすべて通常一覧へ正規化するのは適切とは限りません。canonicalはGoogleへの指定であり、必ず採用される保証もありません。
検索結果に載せないページにはnoindexを検討できますが、Googleがページを取得して指示を読み取れる必要があります。robots.txtで取得を遮断した状態では、ページ内のnoindexを確認できません。また、noindexは利用者のアクセスを制限する機能ではないため、非公開情報の保護には使えません。
参照:Googleの正規URLの指定/noindexの説明
商品ページやカテゴリーを含む全体の見直しについては、EC-CUBEのSEO対策もご覧ください。
公開前に確認したい表示と運用のルール
導入時は、通常商品と一覧から除外する商品の両方を用意し、案内用URLだけでなく、普段の導線からの動作も確認します。
- パラメーターなし・0・1・想定外の値で、決めたとおりに動作するか
- カテゴリーやキーワードを指定しても、対象外の商品が混ざらないか
- 非公開商品や閲覧権限のない商品が表示されないか
- ページ送り、並び替え、表示件数の変更で条件が消えないか
- 商品が0件のときに、案内文や通常一覧への導線があるか
- 企画終了後に、保存・転送されたURLへアクセスした場合も適切に案内できるか
担当者が迷わず運用できるよう、管理画面には設定の意味と影響する範囲を記載します。「商品を非公開にする」という名称ではなく、「通常の商品一覧から除外する」といった、実際の動作に合う名称にすることも大切です。
また、通常の検索から見つけてほしい商品まで除外すると、購入機会を減らす可能性があります。対象商品の選定、表示設定を変更する担当者、企画終了時の対応を決めたうえで運用します。
EC-CUBEの商品一覧の出し分けでよくある質問
この方法はEC-CUBE 4系でも使えますか?
はい。URLの条件に応じて商品検索の条件を変える考え方は使えます。ただし、旧バージョン用のコードをそのまま利用するものではなく、EC-CUBE 4の拡張方法に合わせた実装が必要です。
URLにlistdisplay=1を付けるだけで動きますか?
動きません。listdisplayは独自に追加するパラメーターの例です。商品側の表示設定、パラメーターの検証、商品取得条件の変更などを実装して初めて機能します。
listdisplay=1では、通常一覧から除外した商品だけが表示されますか?
この記事の仕様では、通常の商品に加えて除外設定の商品も表示対象にします。カテゴリーや公開状態などの条件は維持します。除外設定の商品だけを並べる場合は、別の抽出条件を設けます。
特定の取引先だけに商品を見せられますか?
対応は可能ですが、URLの切り替えだけでは不十分です。ログインした会員・取引先の権限を確認し、商品詳細や購入処理にも制限を適用する設計が必要です。
一覧から外せば、商品詳細も見られなくなりますか?
一覧の表示条件だけを変更した場合、商品詳細への直接アクセスは制限されません。サイト内検索、関連商品、外部連携なども含め、どこまで表示を制御するかを決めて実装します。
パラメーター付きURLは、すべてnoindexにすべきですか?
一律に設定する必要はありません。検索から見つけてもらいたい特集か、通常一覧と重複する補助的なページかによって判断します。noindexを設定しても、閲覧者のアクセス制限にはなりません。
EC-CUBEの商品表示・販売導線のカスタマイズをご相談ください
特集向けの商品一覧、サンプル商品の案内、会員・取引先別の商品表示など、ご要望に応じた実装範囲を整理します。現在のバージョンと、表示を分けたい商品の例をお知らせください。
投稿者プロフィール

- CEO
- 株式会社サンクユー 代表取締役CEO。
基幹システムとECをつなぎ、受発注業務の最適化を支援する専門家。
関西大学卒業後、東証プライム上場のゼネコンにて人事総務を経験。
その後システムベンダーへ転職し、IBM AS/400環境における金融・物流・販売管理・経理・人事など、企業の基幹業務を支えるシステム開発に従事する。
プログラマからプロジェクトマネージャーまでを経験し、台湾・台北駐在として銀行システム構築プロジェクトにも参画。
この経験を通じて、「システムの質は要件定義の質に比例する」という思想を確立。
業務理解を起点としたシステム設計を強みとする。
その後、クレジット決済代行会社にて、決済システムの再構築や銀行連携、ECサイト構築を担当。
あわせて組織改革にも携わり、20名から60名規模への組織拡大を実現(退任時:常務取締役)。
2008年に株式会社サンクユーを創業、2010年に法人化。
現在は、基幹システムとECの両領域に精通した知見を活かし、BtoB企業における受発注業務のデジタル化・効率化を支援。
特に、FAX・電話・メールなどアナログ業務のEC化や、基幹システムとの連携を前提とした業務設計を得意とする。
単なるECサイト構築にとどまらず、業務フローの整理・要件定義・システム設計まで一貫して関与し、「現場で使われる仕組み」を実現することを重視している。
NTTレゾナント「goo Search Solution」にてEC関連コラムを執筆。
ECマーケティングレポート | goo Search Solution
■趣味・関心領域
BMW / WRC / ロードバイク / RIZIN / UFC / 大相撲
David Bowie / blur / MUSE / The Rolling Stones / XTC
機動戦士ガンダム(富野由悠季)
ベルセルク / 頭文字D / 進撃の巨人 / ジョジョの奇妙な冒険 / あしたのジョー
Mission: Impossible / Memento / ワイルド・スピード / ソナチネ
LOST / Game of Thrones / FRINGE / The Mentalist
上岡龍太郎 / ダウンタウン









