URLs for Platform CMS Entries
The URL is hardcoded for pages that are generated via a template and are tied to a platform CMS group, such as Products, ProductCollections, Categories, and Brands.
Shopify
Products: /products/product-name
ProductCollections: /collections/collection-name
BigCommerce
Products: /products/product-name
Categories /categories/category-name
Brands: /brands/brand-name
Content Item Name rules
CmsEntry.Name
gets theProduct.Slug
for the Products model.Cms.Entry.Name
for Shopify Products and Collections is not the producttitle
field from Shopify, but rather theproduct.slug
orcollections.slug
from the CMS that contains Shopify's Product or Collectionhandle
. This is because the URL and handle need to be unique per Product/Collection while thetitle
in Shopify does not.BigCommerce uses the same default rule except the
CmsEntry.Name
is a slug version of the fieldName
CmsEntry.Slug
is the slugged version ofCmsEntry.Name
Page.Path
is also the slugged version ofCmsEntry.Name
Page.Path
goes through a sanitizer that removes special characters.
URLs for Manually-Created CMS Entries tied to a Template
The URL path will by default be /{contentGroupName}/{contentItemName}
for pages that are generated by a Template and are tied to a CMS group that was manually created, such as blogs.
If you have specific needs for that Template, you can customize the URL structure that generates the page paths. See Custom URL Structure.
URLs for Custom Pages not tied to a Template
One-off custom pages that are created manually have a Page Path
field input. There is validation to ensure that no duplicate paths exist prior to saving.
Alternate Paths
Shopify automatically creates URLs for products nested within collections.
For example, if you have a Product named Potato
and it is part of two Collections Baked
and Salad
then the following URLs will be created:
/products/potato
/collections/baked/products/potato
/collections/salad/products/potato
π The latter two alternate paths do not have associated pages in Frontend, rather, we create the HTML on the backend and add them to the sitemap.xml file.