URL Resolution (URL 解決)
getUrlMapping エンドポイントを使用すると、ヘッドレスストアフロントは、Business Manager で設定された URL ルールとURL リダイレクトに基づいて、ローカライズされたユーザーフレンドリーな URL をサポートできます。このエンドポイントは、サイトのトラフィックを増やし、サイトナビゲーションを向上させるために役立ちます。
たとえば、"new arrivals" (新着商品) を価値の高い検索用語であると認識し、ストアフロントへのルート (URL: www.example.com/new-arrivals
) を追加するとします。Business Manager のルールを使って、その URL を新着商品のカテゴリリストページにマッピングできます。その後、getUrlMapping エンドポイントを使用して、買い物客が次の場合にルールを適用できます。
- 新着商品の検索
- URL:
www.example.com/new-arrivals
をクリックまたは入力
getUrlMapping エンドポイントを使用する前に、以下のことを行ってください。
- getUrlMapping を使用してルールとリダイレクトを適用する場合は、Business Manager で URL ルールやURL リダイレクトを設定します。
- SLAS API クライアントに
sfcc.shopper-seo
スコープを追加します。
この例では、cURL コマンドを使用して getUrlMapping エンドポイントを呼び出し、買い物客がクリックまたは入力したこの URL を解決します。www.example.com/blue/new-arrivals/tops
URL のパスの先頭にスラッシュが付いていないものが、パラメーターとしてurlSegment
渡されます。
レスポンスに示されているように、URL は new-arrivals-tops というカテゴリにマッピングされます。
また、getUrlMapping エンドポイントを使用して、Business Manager で設定した URL リダイレクトを適用することもできます。これにより、一時的な商品の発売や季節限定のキャンペーンを実施し、買い物客の体験を向上させることができます。
詳細については次のトピックを参照してください:
この例では、cURL コマンドを使用して getUrlMapping エンドポイントを呼び出し、買い物客がクリックまたは入力したwww.example.com/cyber-monday
この URL をリダイレクトします。たとえば、過去のサイバーマンデーのキャンペーンがあったとします。そのページは、あなたが維持したいかなりの SEO ランクを蓄積しました。新しいサイバーマンデーページが利用可能になるまで、古いサイバーマンデーの URL から、開始する新しいキャンペーンページに買い物客を一時的に転送するリダイレクトを設定します。
このサンプル応答では、sales urlSegment
というカテゴリにリダイレクトされます。statusCode 302 は一時的なリダイレクトであることを示し、destinationUrl フィールドは買い物客のリダイレクト先を示します。が (Business Manager では Yes) に設定されtrue
ているためcopySourceParams
、additionalUrlParams
に設定しutm_source=newsletter
た値は の末尾destinationUrl
に追加されます。この例では、UTM(Urchin Tracking Module)パラメータを使用してマーケティング活動を追跡し、トラフィックがニュースレターから発生したことを示します。
- getUrlMapping エンドポイント:
- 商品、カテゴリ (カテゴリの絞り込みを含む)、およびコンテンツアセット (Page Designer アセットまたはコンテンツスロットアセット) の各タイプのリソースの URL を解決できます。
- SEOのための URL ルールおよびB2C Commerce URLからのリダイレクトの作成で説明されているルールとリダイレクトのタイプにのみ適用されます。
- 地域情報を getUrlMapping エンドポイントに渡すことができます。ただし、この操作を行わないと、エンドポイントは Business Manager で設定されたサイトのデフォルト地域情報にフォールバックします。
- ** URL リダイレクト: **
- URL リダイレクトと SEO の URL ルールが競合する場合は、URL リダイレクトが優先されます。このシナリオでは、
resourceId
とresourceType
は Business Manager で構成した Commerce Cloud オブジェクト (商品、カテゴリ、またはコンテンツアセット) と宛先タイプを指します。 - ルーティング ロジックを実行する前に、コードでリダイレクト関連の出力
additionalUrlParams
、、copySourceParams``destinationUrl
、、およびstatusCode
.これらのフィールドが存在するということは、リクエストされたパスにリダイレクトが設定されていることを意味します。詳細については、getUrlMapping API リファレンスを参照してください。 - URI リダイレクトがあり、
resourceId``resourceType
null の場合。 - これは
destinationUrl
Business Manager での構成に基づいており、Commerce Cloud オブジェクト (商品、カテゴリ、またはコンテンツアセット) の URL を示す計算値、または指定した URI のいずれかです。オブジェクトのパスは必ずしもヘッドレスストアフロント URL と一致するとは限りませんが、目的のリダイレクトパスを計算するための参照として使用できます。
- URL リダイレクトと SEO の URL ルールが競合する場合は、URL リダイレクトが優先されます。このシナリオでは、
これらのベストプラクティスは、getUrlMapping をヘッドレスサイトに統合する場合に適用されます。
- シーケンスの最後のステップとして、ワイルドカードマッピングをルートフローに追加します。
- このエンドポイントをルートフローに挿入することで、Web サイトでリクエストを解決するためのデータベース呼び出しをもう 1 つ追加することになります。パフォーマンスを最適化するために、以下の操作を行うことが推奨されます。
- getUrlMapping エンドポイントの長い有効期限 (TTL) 値を設定します。(デフォルトの TTL は 12 時間)。
- ルーティングエンジンで URL 解決を試みた後のフォールバックとして、このエンドポイントを使用します。最初に、セマンティックであり、かつルーティングエンジンが解釈できるルートの使用を試みます。たとえば、/categories/[categoryFriendlyName]/[categoryId] などです。
getUrlMapping エンドポイントの動作は、以下のフックを使用してカスタマイズできます。
dw.shop.seo.url_mapping.beforeGET
dw.shop.seo.url_mapping.modifyGETResponse
「フックによるカスタマイズ」および「フックリスト」の getUrlMapping のフックを参照してください。