Troubleshooting SXA Storefront

The following tables list common issues related to SXA Storefront along with proposed solutions. You can find answers to other questions you have in the Frequently Asked Questions.

Issue

Solution

Override templates for existing tenants are not present after an upgrade to the latest version of Sitecore XC.

You must add the override templates to existing sites manually. See Configure the override catalog templates. For information about creating a catalog template or enabling direct navigation for custom catalogs or upgraded solutions, see Configure direct navigation on existing sites.

Issue

Solution

Error when creating subsites (with virtual folders) that use the same hostname as the main site.

Open the SXA Site Manager and ensure the subsites (and virtual folders) are listed above the main site in the list.

How do I exclude APIs from being tracked in xDB in order to reduce the number of records being written to the database?

Modify the configuration settings to include an excludeUrlTracking section.

How do I configure product list caching?

See Configure the Product List cache.

How do I turn off HTML caching?

You can turn off HTML caching for the entire storefront site from the Content Editor by navigating to sitecore/Content/<tenant>/<site>/Settings/Site Grouping/<site>. On the Content tab, in the Flags section, clear the Cache Html check box.

I cannot find scripts that I have used in the past. Have they been renamed or moved?

Some scripts have been renamed or moved. See Extend the Storefront Branded theme.

Layout and components cannot be edited in the Experience Editor when opening the catalog item directly or when navigating to the catalog item. You can, however, edit some of the text.

Open the Category and Product pages in the Experience Editor by navigating to /sitecore/content/Sitecore/Storefront/Presentation/Partial Designs/Default Main Category Page or Content/sitecore/content/Sitecore/Storefront/Presentation/Partial Designs/Default Main Product Page Content

Alternatively, you can open the product detail page by clicking Details from the Promoted Products component.

The Promoted Products rendering does not render any content.

Because Commerce renderings are dependent on the Antiforgery meta rendering, you must include the Antiforgery meta rendering on all storefront pages to ensure that the Commerce renderings behave as expected.

Toolbox is empty and displays the message "No renderings can be added to the page at this time".

Open the Category and Product pages in the Experience Editor by navigating to /sitecore/content/<tenant>/<site>/Presentation/Partial Designs/Default Main Category Page or Content/sitecore/content/<tenant>/<site>/Presentation/Partial Designs/Default Main Product Page Content

Why is the ChildProducts property of the ProductListRenderingModel rendering (\Views\Commerce\Catalog\ProductList.cshtml) always NULL even when the category contains products?

The ProductList rendering was a Razor rendering previously and used the ProductListRenderingModel.ChildProducts property as the data source for the products list. In Sitecore 9.2, the rendering changed to use an Ajax call to load the products (from the CatalogController.GetProductList endpoint) and it now uses the ProductListJsonResult type instead of the ProductListRenderingModel type as the Ajax response that contains the ChildProducts property. Currently, the ProductListRenderingModel type is used only as a rendering model for the ProductList rendering to pass the configuration parameters, but no product data is carried through. The ProductListRenderingModel holds only the values of the UseLazyLoadingMaxPageSize, and CurrentCatalogItemId configuration parameters. The other properties are legacy and to be deprecated. The logic in the view file is also a legacy and is never executed because the Model.ShowNoResultMessage property is always set to false. For customization, debugging, or manipulation of the ProductList rendering data flow, use the ProductListJsonResult and the associated Knockout js model.

Issue

Solution

All countries/regions appear on the Storefront regardless of the configuration settings.

See Knowledge Base article.

Can I influence how search results are ranked? That is, can I boost specific search results to the top of the list?

Yes, beginning in Sitecore 9.3, you can. See Boosting search results.

Can I implement a different identifier for the Storefront sign-in?

Out-of-the-box the Storefront only supports email address as the identifier. Furthermore, if a customer enters the wrong email address when registering, there is no out-of-the-box account purging process that allows the customer to correct the email address.

"Catalog is not configured" error even though catalog has been configured.

Ensure you have defined navigation settings on the Commerce Navigation rendering variant.

Creative Exchange does not export the Authorize and ValidateAntiForgeryToken attributes on storefront renderings.

Creative Exchange is a developer tool used on the CM instance. It is not intended for a production environment. Creative Exchange does not handle authentication and, as such, the Authorize and ValidateAntiForgeryToken attributes on storefront renderings are not part of the Creative Exchange export.

Two canonical meta and title tags in the head section result in the Category menu appearing twice.

See Commerce meta renderings.

Duplicate partial designs have the same name.

To change the display name, on the ribbon, on the Home tab, click Display name and change the name of the partial design. Alternately, in the Content Editor, select the partial design and, on the Content tab, in the Appearance section, type a new name in the Display name field.

Duplicate products display in search results.

See Configure catalogs in SXA Storefront and Configure site searches in SXA Storefront.

Emails being sent even though the cart has been purged from Commerce Engine.

Re-configure the PurgePolicy according to the timeout values in the campaign.

Forgot Password functionality does not work on SXA Storefront sites.

See Knowledge Base article.

I can access products from another site.

If you use the Catalog Item Container rendering, you can associate it with any item in content regardless of whether it is under the same tenant or not. Restricting access to a particular site requires changes to the LinkProvider.

When the path to the targeted item falls outside the current site, Sitecore uses the full path from /sitecore/Content.

Note

Aim to share content between sites only when they are under the same tenant.

Logo used in the Default Commerce Header partial design does not display in mobile/responsive mode when using the Storefront Branded theme.

Open the partial design in the Experience Editor, resize the browser window until the Storefront logo displays.

Navigation on the live storefront disappears when switching languages.

Verify that all languages have been published to the live site.

New item added to catalog does not appear on the storefront site.

See Manually update cache and indexing.

The time it takes to load a storefront page is slower than in previous releases.

New renderings were added in Sitecore 9.3. These renderings provide more flexibility when it comes to customizing them; however, using them may impact page load times. To revert Storefront site templates pages back to using the older renderings, see Modifying default Storefront site template pages.

Performance on the storefront has degraded.

To alleviate this issue, enable CMS-only mode.

Performance when retrieving the contents of the mini-cart is poor.

Disable mini-cart recalculation.

Product appears in multiple categories resulting in duplicates in search results.

See Configuring catalogs and Configure site searches in SXA Storefront.

Subcategory Navigation rendering does not sort results correctly.

Use the Page List rendering.

Is pricing or promotion information indexed and available when creating a Price or On Sale sort order?

No. It is not possible to sort search results by price or promotion.

"Document not found" error when using a virtual folder.

Sitecore determines the site context based on the incoming URL along with the hostName and the virtualFolder and does so in the order in which sites are listed in the Site Manager. You can access the Site Manager from the Desktop by clicking Powershell Toolbox. To resolve the issue, in the Site Manager site list, move the site using the virtual folder before the main storefront site. See Manage multiple sites with the SXA Site Manager.

SXA Storefront site is missing or displays without the navigation bar.

Verify the following:

  • Catalog and Start Navigation Category fields ( sitecore/Content/<tenant>/<site>/Settings/Commerce/Catalog Configuration) have the correct values if you are using the Commerce Category Navigation. See Select the categories to display on the storefront.

  • Host Name field (sitecore/Content/<tenant>/<site>/Settings/Site Grouping/<site>) is correct and set to sxa.storefront.com. If the host name value specified does not match the default storefront hostname, the default storefront site cannot load.

  • Override templates have been assigned. Step through the following topic: Walkthrough: Configure direct navigation on an existing site.

For further information, see Configure a catalog.

After which, publish your updates and rebuild the Solr index. You can find solutions to issues you are troubleshooting in the Installation Guide for On Premise.

Weak password policy lets users choose insecure passwords.

The storefront comes with the default password policy defined with Sitecore security. The password policy, however, is not strong and could be improved. A strong password policy enforces a password with the following characteristics:

  • Uses both upper and lower case letters.

  • Includes numbers and special characters.

  • Prohibits common formats (calendar dates, telephone numbers, etc.)

  • Prohibits common dictionary entries.

See Configure the password policy.

I cannot configure the environment for an individual storefront site. Environment field is missing.

You can manually create the missing field, which will be used by Sitecore.Commerce.Engine.Connect.EngineConnectUtility.GetShopEnvironment.

In the Content Editor, go to /sitecore/Templates/CommerceConnect/Sitecore Commerce/Commerce Control Panel/Storefront Settings/Storefront/<site>. Right-click Commerce Control Panel and click Insert, Template field. In the Message dialog box, enter Environment and click OK.

In the Content Editor, go to /sitecore/Commerce/Commerce Control Panel/Storefront Settings/Storefronts/<site>, click the storefront site and, on the Content tab, in the Commerce Control Panel section, assign a value to the Environment field, for example, HabitatShops. Save and publish your changes.

Start the storefront site and verify that the HTTP OData calls the Commerce Engine and that the Environment HTTP header value is using the environment value you defined. If not, it should fallback to the one set in the C:\inetpub\wwwroot\xp0.sc\App_Config\Include\Y.Commerce.Engine\Sitecore.Commerce.Engine.Connect.config file, for example, <defaultEnvironment>HabitatShops</defaultEnvironment>.

Issue

Solution

Report data does not include all customer activities.

This could be because the MaxPageIndexThreshold is too low. Once the maximum is reached, no further customer activity is recorded. See Page events, goals, outcomes, and custom analytics data.

Experience Profile reports do not include analytics for anonymous contacts.

By default, anonymous contacts are not indexed. To enable the index for anonymous users ,  go to /App_Data\jobs\continuous\IndexWorker\App_Data\config\sitecore\SearchIndexer and, in the in the  sc.Xdb.Collection.IndexerSettings.xml configuration file, set IndexAnonymousContactData to true. For more information, see Enable indexing of anonymous contacts in the xDB index.

Analytics do not include all orders.

For all orders to be included in analytics, you must deploy marketing definitions.

Visited product and category page events are not recorded in xDB.

In order for product or category visits to be recorded in xDB with detailed information on the category and product respectively, you must add the Visited Product Page rendering or the Visited Category Page rendering to the page. These renderings are not visible on the live storefront but are visible in the Experience Editor.

To add the Visited Category Page Events rendering to a category page for example, in the Content Editor, select the category page (sitecore/Content/<tenant>/<site>/Presentation/Partial Designs/Category Page Content and, on the ribbon, on the Presentation tab, click Details. In the Layout Details dialog box, click MVC Layout and then in the list to the left of the dialog box, click Controls. In the list of controls, click Visited Category Page, and click OK. In the Layout Details dialog box, click OK again.

Important

Do not enable the events from the Optimization tab because custom values on the event will not be included in xDB.

Issue

Solution

ECM.Pages.Message. ImagesAreNotAvailable

The Commerce marketing automation campaigns use a pre-configured email template that includes a company logo. To resolve this error, upload the logo you want to use to the Media Library.

When performing searches in the Content Editor, SOLR error is recorded in the Search.log.

In the Content Editor, go to /sitecore/System/Settings/Buckets/Facets/CommerceConnect/Inventory. For each of the items listed (In-Stock Locations, Orderable Locations, Out-of-Stock Locations, and Pre-Orderable), on the Content tab, in the Facet section, clear the Enabled check box. On the ribbon menu, save your changes.

AJAX call to site virtual directory causes an error.

This occurs when the AJAX call appends the virtual directory folder name to the URL and the folder name contains upper case letters. To resolve this issue, change the folder name to lowercase.

Export of Storefront themes is only partially complete. Index.html files contain "Object moved" message.

Verify that the sxa.storefront.com certificate or a valid certificate for the hostname in use with the storefront is being used.

"GUID should contain 32 digits with 4 dashes" error when navigating or searching products.

Rebuild the master and web indexes.

Commerce marketing automation campaigns do not work.

To set up a Commerce marketing automation campaign, you must have xDB installed and enabled.

Scriban errors in logs.

When using Scriban templates under heavy load, a race condition may occur resulting in pages being rendered incorrectly. See the Sitecore Knowledge Base for more information.

"The hostname could not be parsed" error when accessing the Checkout page.

In the Content Editor, go to sitecore/Content/<tenant>/<site>/Settings/Site Grouping/<site> . On the Content tab, in the Host Name field, ensure only one hostname is defined. Do not include multiple values separated by | (pipe), for example habitat.dev.local|storefront.dev.local. Instead, create multiple site definition items under Site Groupings.

"The layout for the requested document was not found" error occurs when trying to view page in the Experience Editor.

See Configure direct navigation on existing sites.

Unable to register accounts on newly created SXA Storefront sites.

Edit the JSON configuration file for the environment in use and set the value of the Domain property for the policy Sitecore.Commerce.Plugin.Customers.CustomerPropertiesPolicy to include newly created domain names, which match the names of the Storefronts by default.