Tuesday, March 15, 2016

Oracle Endeca SEO - Avoid repository calls for category pages.

Category pages require data like page title, keywords description for search engine optimization(SEO) from the category repository. There... thumbnail 1 summary
Category pages require data like page title, keywords description for search engine optimization(SEO) from the category repository.

There are ways to get SEO specific information. ATG-Endeca Integration creates a product.category hierarchical dimension. OOTB integration does not add SEO related attributes/properties to the product.category dimension. As per best practices, get all SEO data using Endeca product.category dimension instead of making repository calls to ATG.

Endeca provides a  feature to add properties to dimension and it can be added during data export from ATG process. Oracle Endeca commerce out of box provide below attributes:

product.category > Women--;{DGraph.Spec=cat50001, category.ancestorCatalogIds=masterCatalog, category.catalogs.repositoryId=masterCatalog, category.repositoryId=cat50001, category.rootCatalogId=masterCatalog, category.siteId=storeSiteUS, record.id=atgrep:/ProductCatalog/category/cat50001?catalog=masterCatalog&categoryPath=/cat50001&locale=en_US}

Add more Attributes to Product.category dimension

Find out following steps :-

1. /atg/commerce/endeca/index/CategoryToDimensionOutputConfig use category-dim-output-config.xml to add attributes. Create this file in another layer configuration and add required attributes and properties.

2. Build Project.

3. Run baseline from /atg/commerce/endeca/index/ProductCatalogSimpleIndexingAdmin. No coding required from handler perspective.

4. Go to JSP and use code
    ${category.properties['category.title']}

Find out the sample XML below :-

<?xml version="1.0" encoding="UTF-8"?>

<item item-descriptor-name="category" is-document="true">
  <text-properties>
     <property name="keywords" output-name="dimval.prop.category.keywords" type="string" is-multi="true" xml-combine="replace"/>
     <property name="longDescription" output-name="dimval.prop.category.longDescription" type="string"/>
     <property name="title" output-name="dimval.prop.category.title" type="string"/>
     <property name="noindex" output-name="dimval.prop.category.noIndex" type="boolean"/>
     <property name="noFollow" output-name="dimval.prop.category.noFollow" type="boolean"/>
  </text-properties>
</item>


Click here to get more information related to ATG-Endeca Integration.

1 comment

Post a Comment

Note: Only a member of this blog may post a comment.

Text Widget