詳細情報:
B2C Commerce の動的マッピング
パターンを使用する動的マッピングルールを設定して、レガシーサイトの URL を識別し、自動的に B2C Commerce URL にリダイレクトします。マッピングルールを使用して、既存の B2C Commerce URL または古い形式の B2C Commerce URL を、別の B2C Commerce URL にリダイレクトすることや、画像などの静的リソースのリダイレクトを作成することはできません。
マッピングルールは、リダイレクトを必要とする類似した URL が多数ある場合に使用します。たとえば、特定カテゴリ内のすべての URL をリダイレクトする必要がある場合などです。特定の URL を 1 つリダイレクトする場合は、静的マッピングを使用するのが一般的です。エイリアス、マッピングルール、および静的マッピングを使用するタイミングの詳細については、URL リダイレクトを参照してください。Business Manager の構成のファイルサイズは 2MB に制限されています。この制限を超えた場合は、サイトのインポートとエクスポートの機能を使用して動的マッピングを更新します。
はじめに
マッピングルールを作成する前に、ホストエイリアスを定義します。SEO > エイリアスモジュールで、サイトのドメイン名の適切なリストを追加します。ユーザーが完全な B2C Commerce URL を入力しなくてもストアフロントにアクセスできるようにするには、シンプルなサイト URL (例: "www.store.com") をエイリアスリストに追加します。
ホスト名のエイリアスを参照してください。
ホスト名エイリアスの割り当てを参照してください。
Staging (ステージング)、Development (開発)、または Sandbox () インスタンスでマッピングルールを編集し、Production (本番) インスタンスにレプリケートします。
売れ筋の商品やカテゴリのマッピングルールを作成する
マッピングルールは、古いプラットフォーム上の古いサイトと B2C Commerce 上の新しいサイトで累積された SEO ランキングを維持するために作成します。Salesforce では、自社の売れ筋カテゴリと商品を Google で検索し、各検索の最初のページに表示されるリンクを、リダイレクトするリンクのリストとして使用することをお勧めします。リンクのリストができたら、ルールを適用するパターンを特定します。たとえば、同じカテゴリまたはサブカテゴリに多くのリンクがある場合、マッピングルールを使って、そのカテゴリ内の商品を古いサイトから新しいサイトにリダイレクトできます。
ホスト名のみの URL の代わりにマッピングルールを使用しないでください。シンプルなホスト名のみの URL で代用可能な場合は、B2C Commerce パイプラインを介してホームページに戻るイントラサイトのリンクの生成を避けます。
次の標準ルールがどのケースでも追加されます:
/?** p,,,Default-Start,,{_querystring}これにより、ホストのみとパラメーターのリクエストが Default-Start パイプラインに転送され、元の URL パラメーターが保持されます。このルールをカスタムルールで上書きまたは拡張します。
ホームページリンクの作成を参照してください。
マッピングルール構文
マッピングルールは、空白で区切った URL パターンと B2C Commerce URL テンプレートで構成されています。URL パターンは 受信 URL を特定し、URL テンプレートはリダイレクトに使用する B2C Commerce URL を生成します。また、パターンとテンプレートの間に特定のオプションを追加することもできます。
テンプレート内の番号パラメーター ({0}) を使用することで、ワイルドカード (*、**) に一致した受信 URL のどの部分でも、その URL 内での位置によって参照できます。ワイルドカードでは、URL に含まれるフォワードスラッシュの間の文字 (クエリ文字列ではないもの) が照合されます。
たとえば、古いサイトの Jewelry (ジュエリー) カテゴリに含まれる商品を、以前と同じ商品 ID とカテゴリ名を使用して新しいサイトにリダイレクトします。
受信 URL の例:
http://www.oldsite.com/catalog/product/index.asp?ID=576416&Cat=Jewelry.htmlB2C Commerce URL の例:
http:///www.mystore.com/pendant/576416,default,pd.html?cgid=Jewelry受信 URL のパターン
受信 URL のパターンには、URL の一部を置き換えるために使用するワイルドカードと、URL の一部または全部が含まれます。このパターンには、プロトコルとホスト名を含む絶対パターンか、または '/' で始まる、ホスト名を含まない相対パターンのどちらかを指定できます。
ワイルドカード
多くの URL を動的に表現するには、ワイルドカードを使用して元のレガシー URL の変数を解析します。ワイルドカードは以下の通りです:
| ワイルドカード | 意味 |
|---|---|
*
|
スラッシュ"/"までの任意の文字にマッチします。クエリ文字列とパラメーターが一致しません。 |
**
|
スラッシュ"/"を含む任意の文字に一致します。クエリ文字列とパラメーターが一致しません。** をキャッチオールとして使用すると、特定のマッピングよりも優先されます。 |
ホスト名エイリアスファイルが正しく設定されている場合は、パターンによって http および https プロトコルの両方を照合できます。
パターンの例:
/**/images/**
http://www.mystore.com/**/*.jpg
/news/articles/**.html
/catalog/special/*.*.*.htmlURL エンコード
マッピングルールで URL がパラメーターとして渡される場合、その URL は元の URL エンコードを保持できるように処理されます。たとえば、元の URL に空白の置換としてプラス (+) またはダッシュ (-) が含まれている場合、その文字は保持され、テキストとしてエンコード (%2B または %2D) されません。
オプション
パターンの照合方法またはパターンパラメーターのエンコード方法を制御するいくつかのオプションを指定します。
| オプション | 説明 |
|---|---|
| i (小文字の i) | 大文字、小文字、および大文字と小文字が混在する一致を許可 |
| I (大文字の I) | URL テンプレートに置換する前に受信パラメーターを小文字に変換 |
| ie | UTF-8 以外で使用するエンコードを指定 |
B2C Commerce URL テンプレート
B2C Commerce URL テンプレートは、B2C Commerce URL を表します。
URL の生成は、静的 URL または動的パイプライン URL のいずれかの定義で構成されます。
静的 URL は次の形式です:
s,[<プロトコル>],[<ホスト>],[<ユニット>],[<地域情報>],<パス> パイプライン URL は次の形式です:
p,[<プロトコル>],[<ホスト>],<パイプライン>[,<地域情報>][,<パラメーター名>,<パラメーター値>]* <パラメーター名>または<パラメーター値>に空白が含まれている場合は、二重引用符 (" ") で囲みます。一重引用符 (' ') は使用しないでください。
動的パイプラインコールに設定するパラメーターは以下の通りです:
<レガシー URL> [i] p,[<プロトコル>],[<ホスト>],<パイプライン>[,<地域情報>][,<パラメーター名>,<パラメーター値>]*次の変数はパスで使用するか、パラメーター値として使用します:
例 1: B2C Commerce URL へのリダイレクトで受信 URL の一部を使用する
マッピングルールパターンでワイルドカードを使用して受信 URL の一部を一致させてから、テンプレートで位置値を使用し、リダイレクト先の B2C Commerce URL にその値を転送します。位置値とは、有効な URL マッピングで一致したワイルドカード文字列を、見つかった順番に並べたものです。空白文字列を管理するには、一重引用符で囲みます。
たとえば、以下のマッピングルールを使用します:
/**/images/** s,,,,,/{0}/{1}この表は、位置値とマッピングルールの組み合わせが特定の受信 URL に対して機能する仕組みを表しています。
| パターン | //**/images/** |
| 受信 URL | http://www.oldshop.com/path/to/images/even/more/paths |
| テンプレート | s,,,,,/{0}/{1} |
| B2C Commerce URL | http://www.newshop.com/path/to/even/more/paths |
このパターンで見つかる URL:
http://www.shop.com/path/to/images/even/more/paths
{0} : path/to
{1} : even/more/paths
http://www.yourshop.com//images/
{0} :
{1} :
(どちらの位置値も空白!)| 見つからなかった URL: | 理由 |
|---|---|
|
URL の images の前にスラッシュが足りない |
|
URL の images の後にスラッシュが足りない |
例 2: 受信 URL からの位置値を使用した商品リダイレクト
/**/products/*.gif p,,,Product-Show,,pid,{1}見つかった URL:
http://www.yourshop.com/path/to/products/123456.gif
{0} : path/to
{1} :123456| 見つからなかった URL: | 理由 |
|---|---|
|
URL の products の後に余分なフォワードスラッシュが含まれている |
例 3: 受信 URL クエリ文字列からのパラメーターを使用した商品リダイレクト
見つかった URL:
http://www.yourshop.com/path/to/product.asp?ProductID=123456
{0} : path/to
{1} :ProductID=123456
{ProductID} :123456
http://www.yourshop.com///product.asp?SKU=123456
{0} : /
{1} :SKU=123456
{ProductID} :(ProductID は空白: ProductID という名前のパラメーターなし!)| 見つからなかった URL: | 理由 |
|---|---|
|
URL の products.asp の前にフォワードスラッシュが足りない |
例 4: アフィリエイトサイトからのソースコードリダイレクト
このルールは、ホスト名の直後に affiliate を含む受信 URL を特定します。最初のワイルドカードと一致する文字列をソースコードとして使用する B2C Commerce URL にリダイレクトします。
URL パターン: /affiliate/*
受信 URL の例: https://documentation.commercecloud.com/affiliate/DOC2114/Mapping+rules
B2C Commerce URL テンプレート: p,,,SourceCodeRedirect-Start,,src,{0}
例 5: 電子メールからのソースコードリダイレクト
このルールは、ホスト名の直後にソースコードを含む受信 URL を特定します。最初の位置の一致をソースコードとして使用する B2C Commerce URL にリダイレクトします。
URL パターン: /VIP/email/*
B2C Commerce URL テンプレート: p,,,SourceCodeRedirect-Start,,src,{0}
例 6: ソース URL からの地域情報の抽出
この動的マッピングルールでは、リクエスト URL から地域情報などの要素を抽出する方法を示します:
URL パターン: /*/product/*
受信 URL の例: www.hostname.com/en/product/productID
リダイレクト先: http://www.hostname.com/on/commercecloud.store/Sites-SiteID-Site/en/Product-Show?pid=productID
例 7: 空白をもつ URL のためのルールの作成
この動的マッピングルールでは、ワイルドカードを使用せずに、空白を使用してブランド名または商品名のマッピングを作成する方法を示します。ワイルドカードではなく、引用符を使用して空白を管理すると、全体的なパフォーマンスの向上につながります。
例 7a: 商品名に空白がある商品をリダイレクトするためのルールを作成する
URL パターン: "/*/Product Name/*" p,,,Product-Show,{0},pid,{1}
受信 URL の例: www.mysite.com/en/Product Name/MyProductID
リダイレクト先: http://www.mysite.com/Sites-MySiteID-Site/en/Product-Show?pid=MyProductID
例 7b: ブランド名に空白がある商品をリダイレクトするためのルールを作成する
URL パターン: "/*/mapping with whitespaces" p,,,Search-Show,{0},prefn1,brand,prefv1,"Brand Name"
受信 URL の例: www.mysite.com/en/mapping with whitespaces
リダイレクト先: http://www.mysite.com/Sites-MySiteID-Site/en/Search-Show?prefn1=brand&prefv1=Brand%20Name
