Crear URL compatibles con SEO mediante el uso de archivos de patrones

Los archivos de patrones se utilizan en la creación y deconstrucción de URL compatibles con SEO. Dado que cada tipo de página requiere la creación de diferentes datos, un archivo de patrones contiene una plantilla de URL. Por ejemplo, hay archivos de patrones para la página Categoría, Contacto y Producto.

Definiciones de patrón

El fragmento de código siguiente es un ejemplo de definición de patrón de una URL de página de política de privacidad:

<!-- Privacy URL like this: http://localhost/shop/en/aurora/privacy-policy-registration (canonical)
This Pattern is replacement for PrivacyPolicy mapping present in SEOURLMapper.xml in previous SEO implementations 
(Before FEP3)
 -->
	a<seourl:seoUrlPatternDef name="PrivacyRegistrationURL">
		b<seourl:seoUrlPattern viewName="PrivacyView">
               /LanguageToken/StoreToken:CatalogToken/PrivacyRegistrationToken</seourl:seoUrlPattern>  
		c<seourl:urlToParamMapping>
			<seourl:mapping name="langId" value="?LanguageToken?"/>
			<seourl:mapping name="storeId" value="?StoreToken?"/>
			<seourl:mapping name="catalogId" value="?CatalogToken?"/>
			<seourl:mapping name="fromPage" value="registration"/>
		</seourl:urlToParamMapping>
		d<seourl:paramToUrlMapping>
			<seourl:mapping name="LanguageToken" value="?langId?" defaultValue="-1"/>
			<seourl:mapping name="StoreToken" value="?storeId?"/>
			<seourl:mapping name="CatalogToken" value="?catalogId?"/>
			<seourl:mapping name="PrivacyRegistrationToken" value="Privacy-Policy-Registration"/>
		</seourl:paramToUrlMapping>
		e<seourl:usageDef>
			<seourl:usage device="browser">
				<seourl:target>Privacy</seourl:target>
			</seourl:usage>
		</seourl:usageDef>
	</seourl:seoUrlPatternDef>
a. Nombre de definición de patrón de URL de SEO
El nombre del patrón. Establezca el valor en el nombre que se utiliza al crear las URL de SEO en páginas JSP utilizando la biblioteca de códigos wcf:url.
b. Correlación de Struts con patrón
Define el patrón de la URL. El atributo viewName define la correlación de acciones struts que se utiliza cuando se desconstruye la URL de SEO. Después de que la URL de SEO se desconstruya y se compare con el patrón, la solicitud se reenvía al atributo viewName correspondiente.
c. Correlación de URL de SEO con parámetro
Se utiliza durante la deconstrucción de la URL de SEO. Después de que la URL se compare con el patrón, los valores que están asociados con las palabras clave en la URL se conectan a los nombres de parámetro correspondientes. Los nombres de parámetro se definen en esta correlación, que se basa en la correlación entre el tokenName y la palabra clave.

Por ejemplo, si en/aurora/Privacy-Policy-Registration se compara con el patrón anterior /LanguageToken/StoreToken:CatalogToken/PrivacyRegistrationToken, el valor de la palabra clave "en" se asocia con el parámetro langId. La palabra clave Aurora está asociada a StoreToken:CatalogToken y su valor (por ejemplo: 10001:10002) se asigna a storeID y catalogId ( storeId = 10001 y catalgoId = 10002 ) después de la división.

d. Correlación de parámetro de URL SEO con URL
Se utiliza durante la creación de la URL de SEO en páginas JSP utilizando la biblioteca de códigos wcf:url. Basándose en el nombre de la señal y tokenValue, las palabras clave se buscan en la base de datos y se sustituyen por los nombres de señal en el patrón de URL.
e. Uso de patrón
En este ejemplo, el uso es para una página estática de privacidad, que se visualiza bajo la herramienta Gestión de tiendas en el Centro de gestión.

Estructuras de archivos de patrones

Los archivos de patrones se encuentran en este directorio:
  • LinuxAIXWindowscrs_eardir/crs-web/WEB-INF/xml/seo/stores/storedirectory
  • HCL Commerce Developerworkspace_dir\crs-web\WebContent\WEB-INF\xml\seo\stores
Puede tener más de un archivo de patrones para una tienda, y cada archivo se lee en orden alfanumérico. Si cualquier personalización es necesaria para los patrones predeterminados, cree un archivo aparte y asegúrese de que aparece listado alfabéticamente para sobrescribir las definiciones predeterminadas.
Si no se encuentra ningún archivo de patrones, una búsqueda busca en los directorios de la tienda un archivo de patrones. La búsqueda de archivos de patrones continúa hasta que se cumple una de las condiciones siguientes:
  • Se encuentran archivos de patrones en algún nivel. El número máximo de niveles que se puede definir en la URL de SEO es 5.
  • Se ha encontrado un archivo .disable.
  • Se buscan todos los directorios de la tienda relacionados.

HCL Commerce EnterpriseEn una tienda de sitios ampliados, la búsqueda de archivos de patrones busca primero en los directorios de la tienda la tienda de sitios ampliados. Si no se encuentra ningún archivo de patrones, la búsqueda busca en los directorios de la tienda con elementos.

Señales fijas

Un archivo de patrones SEO puede contener dos secciones: Una señal es un símbolo elemental en un patrón URL. Cada señal tiene un uso específico y está asociada a una palabra clave y un valor. Durante la creación de la URL compatible con SEO, las señales en un patrón de URL se sustituyen por sus respectivas palabras clave. Durante la creación de la URL, se buscan en las palabras clave los nombres de señal respectivos para hacerlos coincidir con un patrón URL específico. También se realizan búsquedas de palabras clave para buscar los valores que se van a asociar con los parámetros de la URL dinámica desconstruido. Hay dos tipos de señales: dinámicas y fijas. Las señales dinámicas están definidas en la tabla SEOTOKENUSGTYPE y las señales fijas están definidas en el archivo de patrones.
<seourl:tokenDef>
		1<seourl:token name="PageViewToken">
			<seourl:tokenValue value="image"/>
			<seourl:tokenValue value="detailed"/>
		</seourl:token>

		2<seourl:token name="PrivacyRegistrationToken">
			<seourl:tokenValue value="Privacy-Policy-Registration"/>
		</seourl:token>
		
		3<seourl:token name="TopCategoryBooleanToken">
			<seourl:tokenValue value="Y"/>
			<seourl:tokenValue value="N"/>
		</seourl:token>

		4<seourl:token name="BeginIndexToken">
			<seourl:tokenValue value="[[0-9]*]"/>
		</seourl:token>
		
		5<seourl:token name="CatEntryIDToken">
			<seourl:tokenValue value="[[0-9]*]"/>
		</seourl:token>
		
		6<seourl:token name="ContentOnlyToken">
			<seourl:tokenValue value="1"/>
			<seourl:tokenValue value="0"/>
		</seourl:token>
	</seourl:tokenDef>
1. PageViewToken
Puede tener sólo dos valores, image o detailed.
2. PrivacyRegistrationToken
Sólo puede tener un valor de Privacy-Policy-Registration.
3. TopCategoryBooleanToken
Puede tener un valor de Y o N.
4. BeginIndexToken
Puede tener valores numéricos. Incluya la expresión entre corchetes []. La expresión [[0-9]*] indica que el valor válido de BeginIndexToken puede ser cualquier valor numérico. Para utilizar un entero, no utilice *.
5. CatEntryIDToken
Puede tener valores numéricos. Incluya la expresión entre corchetes []. La expresión [[0-9]*] indica que el valor válido de CatEntryIDToken puede ser cualquier valor numérico. Para utilizar un entero, no utilice *.
6. ContentOnlyToken
Puede tener un valor de 1 o 0.
Un valor de 1 indica que se debe incluir una cabecera, un pie de página, una barra de navegación a izquierda y derecha, junto con el contenido.
El valor 0 indica que no se debe incluir la cabecera, el pie de página y la barra de navegación izquierda. Mostrar el contenido presente en medio de la página

Señales dinámicas

La tabla SEOTOKENUSGTYPE salva las diferencias que existen entre la interfaz de usuario del Centro de gestión, que guarda las palabra clave de URL y los archivos de definición de patrón que se definen en el escaparate. La diferencia principal entre el Centro de gestión y el escaparate es los nombres de señal que se utilizan en los archivos de definición de patrón. La interfaz de usuario del Centro de gestión utiliza los nombres de señal para guardar las palabras clave de URL para entradas de catálogo, categorías y páginas de tienda estáticas. Para distinguir entre las diferentes señales que se utilizan en la definición de patrón, se introduce el concepto de uso. La tabla de Tipo de uso de señal proporciona a la interfaz de usuario del Centro de gestión los nombres de señal utilizados en los archivos de definición de patrón. El uso correlaciona un nombre de señal con las entidades para las que se definen las palabras clave en relación al nombre de señal establecido. Algunos de los usos están predefinidos en esta tabla y se correlacionan con las entidades predeterminadas para las que se pueden definir las palabras clave de URL.
Estos usos predefinidos se encuentran en la correlación de tabla:
  • Store
  • Idioma
  • Producto
  • Artículo
  • Categoría
  • Privacidad
  • Mapa del sitio

El uso se define para entidades tales como entradas de catálogo y categorías y para contenido estático de la tienda, como páginas de privacidad o páginas de mapa del sitio.

Los usos de señal se definen a nivel de tienda. Al igual que en la relación de tienda de vista, puede definir usos de señal a nivel de sitio y son aplicables a todas las tiendas. Puede añadir más usos a la lista de usos predeterminados. También puede sustituir los nombres de señal para estos usos para una tienda específica o para el sitio.

Las señales de la tienda se almacenan en memoria caché en SEOConfigurationRegistry en vez de hacerlo en la memoria caché dinámica porque las señales se actualizan con poca frecuencia. Defina siempre las señales de tienda a nivel de sitio (nivel de tienda cero), ya que las señales de tienda siempre se utilizan para resolver el storeId.

El uso de tienda predefinido utiliza StoreToken como nombre de señal. Si se definen señales complejas para el uso de la tienda para una tienda específica, deben contener StoreToken. Por ejemplo, una tienda podría considerar fusionar la tienda, el idioma y los valores de ID de catálogo con la señal para el uso de la tienda y adopta la siguiente forma: StoreToken:LanguageToken:CatalogToken. Cuando el registro de configuración almacena en memoria caché la señal, busca la serie StoreToken en el nombre de señal. El valor en la posición correspondiente del valor de señal se trata como storeId. Este comportamiento es la razón principal para grabar en el código fuente el nombre de señal para el token de tienda predefinida.

Idiomas

El token predeterminado para el uso del idioma es LanguageToken. Dado que las palabras clave para la señal de idioma se toman del registro de idioma, no es necesario que las defina.

De forma predeterminada, los LanguageTokens se toman del registro de idioma. El código lang es la palabra clave. Por ejemplo, en inglés, el urlKeyword es en y languageId es -1.

Pero este comportamiento predeterminado se puede alterar definiendo urlKeywords separados (distintos del código de idioma predeterminado) para cualquier idioma, en los archivos de patrones URL de SEO.

Para obtener más información, consulte Usar nuevos idiomas con URL compatibles con SEO.

Prácticas recomendadas para trabajar con archivos de patrones

Los archivos de patrones proporcionan diversas opciones. Estas opciones pueden resultar confusas para los usuarios que deben decidir cómo crear las URL.
  • Los archivos de patrones se leen cuando se realiza una solicitud por primera vez. Si los archivos de patrones se modifican después de esta solicitud, los cambios no se reflejan en una tienda hasta que el servidor se inicie o reinicie.

    Si está trabajando en un entorno de desarrollo, puede incluir un archivo de texto que se denomine .reload para que el entorno cargue los cambios en los archivos de patrones periódicamente.

    El archivo .reload debe estar ubicado en el mismo directorio que el archivo de patrones.

    Dentro del archivo .reload, especifique el rango de recarga de propiedad con el formato siguiente:
    reloadinterval = reload interval in seconds
    Donde reload interval in seconds es el tiempo (en segundos) que transcurre antes de que el archivo de patrones se vuelva a cargar. Por ejemplo,
    reloadinterval = 900
    El archivo .reload es para emplearlo en la carga de cambios dentro de los archivos de patrones de SEO. Este archivo no carga cambios dentro del archivo SEOURLMapper.xml.
    Nota: Utilice el archivo .reload solo durante el desarrollo, no utilice el archivo en un entorno de producción. Volver a cargar constantemente los archivos de patrones puede afectar gravemente el rendimiento y puede producir resultados inesperados.
  • La adición de un archivo .disable vacío en la misma vía de acceso inhabilita la nueva característica SEO para esa tienda determinada. Esta acción requiere un reinicio del servidor o un archivo .reload.
  • Asegúrese de que el valor del patternName no es el mismo que el de ningún nombre de correlación de acción en los archivos de configuración de Struts.
  • Los caracteres de barra inclinada ' / ' y subrayado ' _ ' son palabras clave especiales que se utilizan para separar las señales en los archivos de patrones de SEO. Por ejemplo,
    <seourl:seoUrlPattern viewName="ProductDisplay" >/LanguageToken/StoreToken:CatalogToken/CatEntryIDToken</seourl:seoUrlPatter>
    Nota: No utilice estos caracteres, o el carácter de punto '.' cuando esté creando el valor de urlKeyword