When a spider visits an ATG Commerce site that uses URL recoding, the site typically renders static URLs for pages accessed by the spider. These static URLs are used as links in results returned by the search engine, but they are not actually valid URLs on the ATG Commerce site. So when a user clicks one of these links, the site must examine the request and translate it into a dynamic URL that can be interpreted by the ATG request-handling components. This translation is done by the SEO jump servlet, which is declared in the ATG Store web.xml file as a URI-mapped servlet:

<servlet>
  <servlet-name>MappedJumpServlet</servlet-name>
  <servlet-class>
    atg.repository.seo.MappedJumpServlet
  </servlet-class>
  <init-param>
    <param-name>loggingDebug</param-name>
    <param-value>true</param-value>
  </init-param>
  <init-param>
    <param-name>jumpServlet</param-name>
    <param-value>
      ctx:dynamo:/atg/dynamo/servlet/dafpipeline/JumpServlet
    </param-value>
  </init-param>
</servlet>

...

<servlet-mapping>
  <servlet-name>MappedJumpServlet</servlet-name>
  <url-pattern>/jump/*</url-pattern>
</servlet-mapping>

The servlet’s templates property, which lists the indirect URL templates to examine to determine how to translate the URL, is set to:

templates=\
  /atg/repository/seo/CategoryIndirectTemplate,\
  /atg/repository/seo/ProductIndirectTemplate
 
loading table of contents...