目次
はじめに
Magentoストアで商品の表示を効果的に管理する必要がある場合はありませんか?カテゴリーおよび検索結果ページから特定の商品を除外したいが、直接のSKU検索ではアクセス可能なままにしたい場合があります。Magentoで商品表示を洗練させる方法を理解することは、整理されたユーザーフレンドリーなオンラインストアを維持するために重要です。
この包括的なガイドでは、Magento属性を使用してカテゴリーおよび検索結果ページの商品の表示を制御する方法について詳しく説明します。この記事の最後まで読むと、この機能をシームレスに実装できる知識を身に着け、サイトの性能とユーザーエクスペリエンスの両方を向上させることができます。
Magentoにおける商品表示の理解
商品表示の重要性
商品表示は、ユーザーがストアと対話し、求めているものを見つける方法に影響を与える、どんなEコマースプラットフォームにおいても基本的な要素です。表示設定を適切に管理することにより、顧客が関連性のないオプションに圧倒されることなく、検索の精度と総合的なショッピング体験を向上させることができます。
カスタム属性の設定
Magentoでは、カスタム属性を作成して商品表示を管理することができます。これらの属性によって、在庫状況やカテゴリーの関連性、プロモーションフェーズなどの基準に基づいて、商品の表示設定のさまざまな側面を制御することができます。
商品を非表示にする手順ガイド
「廃盤」という属性の作成
まず、「廃盤」というカスタム属性を作成する必要があります。この属性はYes/Noタイプで、カテゴリーおよび検索結果ページから非表示にする商品にマークするために使用されます。
- Magento管理パネルにアクセスする:Magentoの管理パネルにログインします。
- 属性の作成:
ストア > 属性 > 商品に移動し、新しい属性の追加をクリックします。 - 属性の設定を構成する:必要な詳細を入力します:
- 属性コード:
廃盤。 - 入力タイプ:
Yes/No。 - その他の設定を必要に応じて行います(例:管理グリッドでの管理可能性)。
- 属性コード:
属性を商品に割り当てる
属性が作成されたら、商品に割り当てる必要があります。
- 製品に移動する:
カタログ > 製品に移動します。 - 製品の詳細を編集する:非表示にしたい商品を編集し、「廃盤」属性を
Yesに設定します。
カテゴリーおよび検索結果の表示ロジックの変更
さて、テンプレートとロジックを修正して、「廃盤」とマークされた商品を除外しましょう:
- テーマファイルにアクセスする:サーバー上で、通常は
app/design/frontendの下にあるMagentoのテーマファイルを見つけます。 - カテゴリーテンプレートを編集する:通常は
Magento_Catalog/templates/product/list.phtmlにあるカテゴリー製品リスティングテンプレートファイルを開きます。 - クエリを変更する:「廃盤」とマークされた属性が
Yesに設定されている商品を除外するようにクエリを適応します。
<?php
$_productCollection = $block->getLoadedProductCollection();
$_productCollection->addAttributeToFilter('廃盤', ['neq' => 1]);
?>
検索結果ページの更新
同様に、廃盤となった商品を非表示にするために、検索結果ページを調整します。
- 検索テンプレートにアクセスする:
Magento_Search/templatesに移動します。 - 検索結果テンプレートの編集:通常、カテゴリーテンプレートと同様のパスにある検索結果テンプレートを開き、廃盤商品をフィルタリングするようにクエリを変更します。
<?php
$searchCollection = $searchBlock->getLoadedProductCollection();
$searchCollection->addAttributeToFilter('廃盤', ['neq' => 1]);
?>
直接SKU検索を介した商品アクセスの確保
廃盤商品が一般のリストや検索結果から削除される一方で、SKUを直接検索することでこれらの商品にアクセスできるようにすることが重要です。
直接SKU検索ロジック
- 検索設定の調整:Magento Adminに移動し、検索設定が構成されていることを確認します。ただし、結果が1つしか見つからない場合は、製品ページに直接リダイレクトするようになっている必要があります。
- 特定のSKUの処理:特定のSKUベースの検索を処理するロジックを強化します。これには、検索設定を構成して、検索語句が正確にSKUと一致する場合に常に製品ページを表示するようにします。
$searchTerm = $this->getRequest()->getParam('q');
if (is_sku($searchTerm)) {
$product = $productRepository->get($searchTerm);
if ($product && $product->getId()) {
$this->_redirect($product->getProductUrl());
return;
}
}
ここで、is_sku()は、検索語句が正確にSKUと一致するかどうかを確認する仮想的な関数です。
結論
Magentoで商品の表示を効果的に管理することは、ストアの機能性とユーザーエクスペリエンスの最適化に欠かせません。「廃盤」という属性を設定し、テーマのロジックを調整することで、カテゴリーおよび検索結果リストから廃盤商品を非表示にする一方で、直接のSKU検索によるアクセスを確保することができます。
よくある質問
変更が即座にライブストアに影響しないようにするにはどうすればよいですか?
ライブストアに変更をデプロイする前に、ステージング環境で変更をテストすることを常にお勧めします。これにより、アクティブな顧客に影響を与えることなく、潜在的な問題を特定することができます。
廃盤商品を非表示にするプロセスを自動化できますか?
はい、クーロンジョブやカスタムスクリプトを使用して、「廃盤」という属性を一定の条件(在庫レベル、時間帯など)に基づいて更新するプロセスを自動化することができます。
商品を非表示にするとSEOに影響しますか?
商品が非表示になると、カテゴーリページや検索結果には表示されなくなりますが、直接リンクされた場合にはインデックスが作成されます。廃盤商品ページにnoindexメタタグを使用すると、検索エンジンでの表示設定を管理するのに役立ちます。
商品を再表示する必要がある場合はどうすればよいですか?
製品の"廃盤"属性を再度Noに変更するだけで、元のようにカテゴリーと検索結果に表示されるようになります。
これらの戦略を実装することで、Magentoストアはユーザーフレンドリーで反応性があり、整理されたショッピング体験を提供し、シームレスなショッピング体験を提供します。