Endeca provides out of the box configuration for generating SEO specific URL. Below configuration needs to be set properly to enable ATG/Endeca SEO integration.
Steps to Configure SEO URL with encoded format
1. Set urlFormatter=/atg/spring/FromSpring/seoUrlFormatter in /atg/endeca/assembler/cartridge/manager/NavigationStateBuilder/ component to enable SEO URL.
2. Configure "seoUrlFormatter" bean object with different properties in endeca-seo-url-config.xml as per need.
3. Enable URL canonicalization. Click here for more details
4. Enable N-value Encoding as per below screenshot. This setting would convert long format N-value to Encoded Format.
Example
Before Encoding
URL - /_/N-4294865570+104910
After Encoding
URL - /_/N-861Z8q7
5. Set dimension formatter under dimLocationFormatters. This is a list of dimensions value that can be part of URL. dimLocationFormatters get sets under navStateFormatter.
Note : User aggrERecFormatter for Aggregate/Rollup Query and erecFormatter for Record Details page.
Example - Suppose BrandFormatters added here and User selects any brand from guided navigation, Brand name would start coming on SEO URL.
/women-clothing/adidas/_/N-8bfZ8m7
From Author
Was this post resolve the solution you are looking for? Provide your comments
Steps to Configure SEO URL with encoded format
1. Set urlFormatter=/atg/spring/FromSpring/seoUrlFormatter in /atg/endeca/assembler/cartridge/manager/NavigationStateBuilder/ component to enable SEO URL.
2. Configure "seoUrlFormatter" bean object with different properties in endeca-seo-url-config.xml as per need.
| <!-- BEAN: seoUrlFormatter This is the top-level URL formatter. It is responsible for transforming UrlState objects into URL strings. --> <bean id="seoUrlFormatter" class="com.endeca.soleng.urlformatter.seo.SeoUrlFormatter"> <property name="useNavStateCanonicalizer"> <value>false</value> </property> <property name="defaultEncoding"> <value>UTF-8</value> </property> <property name="pathSeparatorToken"> <value>_</value> </property> <property name="pathKeyValueSeparator"> <value>-</value> </property> <property name="pathParamKeys"> <list> <value>R</value> <value>A</value> <value>N</value> </list> </property> <property name="navStateFormatter"> <ref bean="navStateFormatter" /> </property> <property name="ERecFormatter"> <ref bean="erecFormatter" /> </property> <property name="aggrERecFormatter"> <ref bean="aggrERecFormatter" /> </property> <property name="urlParamEncoders"> <list> <ref bean="N-paramEncoder" /> <ref bean="Ne-paramEncoder" /> <ref bean="An-paramEncoder" /> </list> </property> </bean> |
3. Enable URL canonicalization. Click here for more details
4. Enable N-value Encoding as per below screenshot. This setting would convert long format N-value to Encoded Format.
Example
Before Encoding
URL - /_/N-4294865570+104910
After Encoding
URL - /_/N-861Z8q7
5. Set dimension formatter under dimLocationFormatters. This is a list of dimensions value that can be part of URL. dimLocationFormatters get sets under navStateFormatter.
Note : User aggrERecFormatter for Aggregate/Rollup Query and erecFormatter for Record Details page.
Example - Suppose BrandFormatters added here and User selects any brand from guided navigation, Brand name would start coming on SEO URL.
/women-clothing/adidas/_/N-8bfZ8m7
From Author
Was this post resolve the solution you are looking for? Provide your comments


