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 atributoviewName
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ámetrolangId
. La palabra clave Aurora está asociada aStoreToken:CatalogToken
y su valor (por ejemplo:10001:10002
) se asigna astoreID
ycatalogId
(storeId = 10001
ycatalgoId = 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 ytokenValue
, 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:crs_eardir/crs-web/WEB-INF/xml/seo/stores/storedirectory
workspace_dir\crs-web\WebContent\WEB-INF\xml\seo\stores
- 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.
En 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.
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.- 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.