You are here:
URL Generation and Conflict Resolution for B2C Commerce
B2C Commerce maintains a directory of pipeline, category, folder, and search refinement URLs in B2C Commerce database. Product and content URLs aren’t contained in this directory, because they’re built dynamically. The URL directory contains a URL endpoint for any pipeline alias, category in the storefront catalog, and folder in the site library for each site locale.
The URL generation process makes sure unique URLs within pipelines, categories, and folders for a locale:
- If B2C Commerce finds duplicate category URLs during the URL generation process, it appends an index number to the URL. For example, if the category URL rule is configured to use the category display name, and two categories have the same display name shoes, the first category has the URL shoes-1, and the second category has the URL shoes-2. If a category URL conflicts with a pipeline URL, a global conflict shows.
- A pipeline alias can only be stored if it doesn't conflict with any other pipeline URL or any category or folder URL currently stored in the URL directory. For example, if there’s a /shipping URL for a folder called shipping, then you can't create a pipeline alias with the URL /shipping.
- Search-Show pipeline: URLs created for the Search-Show pipeline without a category ID
and search refinements are supported for search refinement URLs, for example
search/abrand/blue. This functionality is also available for theSearch-ShowContentpipeline, for examplesearchcontent/history.
The following example shows Pipeline URLs.
| URL Endpoint | Locale | Type | Object ID |
|---|---|---|---|
| account | default | Pipeline | Account-Show |
| search | default | Pipeline | Search-Show |
The following example shows category URLs.
| URL Endpoint | Locale | Type | Object ID |
|---|---|---|---|
| mens | en_US | Category | cat123 |
| herren | de_DE | Category | cat123 |
| mens-clothing-shorts | en_US | Category | cat456 |
| herren-kleidung-kurzehosen | de_DE | Category | cat456 |
The following example shows folder URLs.
| URL Endpoint | Locale | Type | Object ID |
|---|---|---|---|
| about | en_US | Folder | folder_about |
| about | de_DE | Folder | folder_about |
Pipeline, category, and folder URLs generate using a system job on B2C Commerce. The job regenerates the URLs when any of the following changes are made:
- Removing a category/folder
- Adding a category/folder
- Changing site assignment
- Changing the category/folder name or ID
- Changing the category/folder Page URL, Page Description, or Page Keywords
- Changing the category hierarchy (that is, any name shown for the category-path or category-parent variable)
- Changing any attribute value
- Changing locale
- Changing any URL setting, controlling URL mappings
Any of these changes cause a complete regeneration of all pipeline, category, and folder URLs. The URL generation job runs on Staging and Sandboxes only. The job doesn't run on Production. Instead, URLs are replicated to Production along with catalogs and libraries. The job takes about 3 minutes for 50,000 categories/folders.
Product URLs aren’t generated using this job. Only the product/content ID appended to each URL is used to identify the product, and only if the URL has the ending '.html'.
Search Refinement URLs
When you add search refinement information to the URL path, conflicts can occur with refinement values after URL cleansing (for example, character replacement). B2C Commerce makes these conflicts unique (similar to Category and Folder mappings: adding an index delimited with the configured delimiter). After the platform detects 1000 conflicts, it stops detecting and resolving URL conflicts.
The conflicts area for search refinement URLs shows global conflicts within the current search refinement URL values for the following cases:
- Multiple occurring values in different search refinements, for
example
redas both color and brand. - Search refinement values containing the delimiters dash "-" and underscore "_".

