Deconstruir una URL compatible con SEO

Cuando un comprador pulsa en un enlace para una página en la tienda, verá una URL compatible con SEO. HCL Commerce puede procesar la categoría intercalada, el nombre de la tienda, el idioma y la información del producto solo si esta URL compatible con SEO se convierte en el formato URL estándar. Para convertir la URL compatible con SEO al URL estándar, utilice SEOURL, SEOURLKEYWORD y SEOTOKENUSGTYPE) y un archivo de definición de patrón de URL.

Conversión de una URL compatible con SEO en una URL tradicional:

En este ejemplo se describe cómo el sistema construye el sistema para la URL optimizada para SEO para la categoría de cafeteras, http://myhost.com/shop/en/aurora/coffee-makers. Describe cómo HCL Commerce convierte la URL a su formato URL original para que se pueda procesar.

Los siguientes pasos explican el proceso implicado en la conversión de la URL compatible con SEO en una URL tradicional.
  1. El servidor web recibe el enlace http://myhost/shop/en/aurora/coffee-makers, sustituye shop por la raíz de contexto: http://myhost/wcs/shop/en/aurora/coffee-makers. El servidor web envía una solicitud a HCL Commerce Server para su proceso adicional.
  2. Cuando HCL Commerce Server recibe la URL, elimina la raíz de contexto y, posteriormente, procesa la información restante. El resto de la información se divide en palabras clave (en/aurora/coffee-makers) utilizando la barra diagonal inversa (/) como separador para recuperar en, aurora y coffee-makers.
  3. Las palabras clave se utilizan para dos fines en la conversión de un URL. para determinar el patrón de URL, que indica el tipo de creación de la URL y para obtener los valores necesarios para compilar la URL original.
    Tipos de URL de ejemplo:
    Tipo de URL Modelo URL no SEO de ejemplo
    Catálogo LanguageToken/StoreToken:CatalogToken ...TopCategoriesDisplay?langId=-1&storeId=10001&catalogId=10002
    Categoría LanguageToken/StoreToken:CatalogToken/CategoryToken ...CategoryDisplay?langId=-1&storeId=10001&catalogId=10002&categoryId=10003
    Producto LanguageToken/StoreToken:CatalogToken/CategoryToken/ProductToken ...ProductDisplay?langId=-1&storeId=10001&catalogId=10002&categoryId=10003&productId=10004
    Contacte con nosotros LanguageToken/StoreToken:CatalogToken/ContactToken ...HelpContactUsView?langId=-1&storeId=10001&catalogId=10002
  4. Determinación del patrón y de los valores de la URL:
    1. Las palabras clave se convierten en señales. Las señales se almacenan en varios lugares, en función del tipo de palabra clave. Las palabras clave de idioma se almacenan en el registro de idiomas que extrae contenido de la tabla LANGUAGE, mientras que las demás palabras clave se almacenan en la tabla SEOURLKEYWORD:
      • en se encuentra en el registro de idiomas. Dado que se aquí se almacenan otros idiomas, esto determina que su señal es LanguageToken. El valor para en es -1.
      • auron se encuentra en la tabla SEOURLKEYWORD, donde está listado como una combinación de StoreToken y CatalogToken; p.ej. StoreToken:CatalogToken con los valores de 10001 y 10002 respectivamente y se representa como 10001:10002.
      • coffee-makers (cafeteras) se encuentra en la misma tabla, donde se lista como CategoryToken con un valor de 10003.
    2. Con estas señales, el patrón es LanguageToken/StoreToken:CatalogToken/CategoryTok. Para determinar el tipo de URL que se está desconstruyendo, el sistema encuentra el patrón correcto en los archivos de patrones. Los archivos de patrones contienen patrones para cada tipo de página web de la tienda, como categoría, departamento, producto, ayuda u otra página.
      Ejemplo de un patrón coincidente
      
      <seourl:seoUrlPatternDef name="CategoryURL">
      		<seourl:seoUrlPattern viewName="CategoryDisplay">/LanguageToken/StoreToken:CatalogToken/CategoryToken</seourl:seoUrlPattern>
      	  <seourl:urlToParamMapping>
      			<seourl:mapping name="langId" value="?LanguageToken?" />
      			<seourl:mapping name="storeId" value="?StoreToken?" />
      			<seourl:mapping name="catalogId" value="?CatalogToken?" />
      			<seourl:mapping name="categoryId" value="?CategoryToken?" />
      	</seourl:urlToParamMapping>
        <seourl:paramToUrlMapping>
      			<seourl:mapping name="LanguageToken" value="?langId?" />
      			<seourl:mapping name="StoreToken" value="?storeId?" />
      			<seourl:mapping name="CatalogToken" value="?catalogId?" />
      			<seourl:mapping name="CategoryToken" value="?categoryId?" />
      	</seourl:paramToUrlMapping>
        <seourl:usageDef>
        <seourl:usage device="browser">
      			<seourl:target>Category</seourl:target>
      </seourl:usage>
      </seourl:usageDef>
      </seourl:seoUrlPatternDef>
  5. El atributo viewName de este patrón indica que la URL compatible con SEO es en realidad una acción struts CategoryDisplay. Utilizando la información que se encuentra en la sección denominada urlToParamMapping, los parámetros se extraen de la tabla SEOURLKEYWORD:
    <seourl:urlToParamMapping>
    			<seourl:mapping name="langId" value="?LanguageToken?" />
    			<seourl:mapping name="storeId" value="?StoreToken?" />
    			<seourl:mapping name="catalogId" value="?CatalogToken?" />
    			<seourl:mapping name="categoryId" value="?CategoryToken?" />
    </seourl:urlToParamMapping> 
    Los valores para cada parámetro se extraen de examinar en las tablas SEOURL y SEOURLKEYWORD y el contenido del registro de idiomas:
    1. Para el idioma, langId = LanguageToken que es -1
    2. Para la tienda, storeId = StoreToken que es 10001
    3. Para el catálogo, catalogId = CatalogToken que es 10002
    4. Para la categoría, categoryId = CategoryToken que es 10003
    Una combinación de ejemplo de las tablas SEOURL y SEOURLKEYWORD y del contenido del registro de idiomas. Esta tabla sólo sirve para fines de ilustración:
    Keyword Nombre de señal Valor de señal
    aurora StoreToken:CatalogToken 10001 (storeId value):10002 (catalogId value)
    coffee-makers CategoryToken 10003 (valor categoryId)
    en LanguageToken -1 (valor langId)
  6. Con la información encontrada en la tabla SEOURLKEYWORD, la URL no compatible con SEO se crea en el formato encontrado en el archivo de patrón (LanguageToken/StoreToken:CatalogToken/CategoryToken):

    http://myhost.com/shop/CategoryDisplay?langId=-1&storeId=10001&catalogId=10002&catagoryId=10003

    WebSphere Commerce Server ejecuta la vista con los parámetros especificados y envía el resultado al navegador.