Knowledge BaseSearch Engine Optimization

Search Engine Optimization

Search Engine Friendly URLs

The URLs of the web store are rewritten to become search engine friendly, this can potentially increase the presence of your web store's URLs in the index of search engine.
The ASP.NET Routing is used in order to create such engine friendly URLs. It basically translates the parameters to a directory like structure.

For example:
/shop/Product.aspx?code=0102023&category=women__tops
becomes
/en-us/product/women__tops/women/tops/0102023/kabora.aspx


The code which contains implementation of the ASP.NET Routing for Sana Commerce, can be found in Sana.Commerce.Web.Business.Utilities.UrlRouting namespace in Sana.Commerce.Web.Business assembly.
The entry point for Routing-related functionality is RouteManager class. This class is used to register virtual URLs to existing web pages of the Starter Site, as it can be found and edited in Global.asax file.
If there is a need to customize the RouteManager class' functionality a new class can be created which implements IRouteManager interface. This new class should be then registered for IRouteManager interface via ObjectManager.

The following fields in databases should NOT contain any of these special characters:

+ \ / * " : . | % # ? & < >

In NAV Connector: 'Item Category Code', 'Navigation Code', 'Product Group Code', 'Sales Document No.';
In SQL Provider: 'ProductCategory.Id', 'Product.Id', 'Order.Id';
In backoffice: 'Content Page' details Group Code, 'News Item' details Group Code, 'Shop home page' details Group Code.

The website will give an exception if any of these symbols appear in the URLs, because the fields mentioned above are used to build the URLs on the Starter Site.

The following fields should NOT be empty in the databases:

In NAV Connector: 'Item Description';
In SQL Provider: 'Product.Title'.

The values of these fields are used to build URLs on the Starter Site. In case one of these fields has empty value, the URL, which contains this value, becomes incorrect and will cause the website to give an exception.

 
Knowledge BaseSearch Engine Optimization