When a spider visits a 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 Web search engine, but they are not actually valid URLs on Commerce sites. 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 store.war/WEB-INF/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