×

Advertencia

JUser: :_load: No se ha podido cargar al usuario con 'ID': 2381

Meta etiquetas en tags de K2

Escrito por | 03 Junio 2014 | Publicado en Junio 2014
Actualmente me encuentro embarcado en dos aventuras, profundizar en Joomla y un curso SEO. En el curso se habla de la importancia de la etiqueta meta descrition y cómo cada página del sitio debe tener una descripción única.Por ello me puse manos a la obra añadiendo las meta description en los lugares que Joomla me permitía. Empecé con los elementos de menú y todo perfecto, cada uno tenía su propia descripción y todo el resto de etiquetas meta tan necesarias. Continué por los artículos y categorías sin problemas pero por desgracia llegué a un punto problemático, las etiquetas de K2.

En este artículo tal y como se comenta en la entrada os voy a hablar de mi aventura poniendo las etiquetas meta en las tags de K2, os lo contaré tal y como pasó y con intención de que os sirva para poder saber una cosa mas sobre lo que Joomla permite hacer.

Lo primero que comprobé es que sorpredentemente no existe opción para añadir las etiquetas meta en las etiquetas de K2, o yo no la veo. Por tanto tenía que encontrar una solución ya que no podía quedarme sin poder administrarlas. Empecé mi búsqueda en Google y la continué preguntando en varias comunidades de Google+. Un buen compañero, +JOSÉ ARROYO me comentó la existencia de la extensión Tag meta.
Mediante Tag Meta es posible establecer una serie de reglas para las direcciones URL en cuanto a su indexación y etiquetas meta. Por tanto yo sabía que las etiquetas tenían todas una de estas dos "estructuras:

  • Forma 1: mi-dominio/component/k2/tag/nombre-etiqueta
  • Forma 2: mi-dominio/blog/tag/nombre-etiqueta

El motivo de tener dos URLs tipo distintas es que cuando se muestran en un artículo K2 pone una de las rutas mientras que en el módulo de K2 que muestra las etiquetas en nube las pone de otra. ¡Nada que con un overrite no podamos solucionar! Es importante solucionarlo pero en este artículo me voy a centrar en el problema principal y dejaré para otro momento el "unificar" esas URLs.
Por tanto, una opción sería para cada URL crear una regla pero teniendo en cuenta que las etiquetas son algo que va creciendo puede resultar tedioso.
En ese momento me dí cuenta que era posible usar expresiones regulares para definir las URLs. Se abrió ante mí un mundo lleno de posibilidades. Busqué una expresión regular que haga que la regla sea aplicada a todas las URLs de etiquetas. Para obtener la expresión regular se debe usar la misma sintaxis que utiliza MySQL, Henry Spencer's implementation.

La expresión regular resultante viene fue la siguiente:
/tag/([a-z]|[A-Z]|-)*  Aplica para todas las URLs que tengan la secuencia de caracteres /tag/ seguido de una o más letras o guiones.

En ese momento me vino una duda, identifico todas las tags de K2, ¡bien! pero, ¿cómo les voy a aplicar una descripción diferente a cada una con una sola regla?
Necesitamos algo que diferencie la descripción de una etiqueta u otra, ya que lo más habitual es poner una descripción del estilo “Listado de artículos relacionados con la etiqueta nombre-etiqueta”. Pues bien, existe una manera mediante la versión de pago de la extensión y que viene en la ayuda de la extensión. Por un lado tenemos un apartado donde se pueden construir “variables” que luego podrán ser usadas en nuestras etiquetas metas, su nombre es placeholders:

tag-meta-placeholders

Por tanto podríamos poner algo como mivariable=1 y en la meta descripción podríamos poner lo siguiente:

tag-meta-description

El resultado sería que en la meta descripción saldría: “Usando la variable 1”
Pero nosotros no queremos añadir un simple 1, queremos añadir el nombre de la etiqueta. Esto se realiza con una instrucción de la versión de pago de la extensión, la instrucción preg_match:

tag-meta-preg-match

Lo que realiza esta instrucción es guardar en la variable que queramos el resultado de aplicar una expresión regular sobre la URL. Así en la sección de “Placeholders” pondríamos una expresión regular que obtenga la última parte de la URL (que es el nombre de nuestra etiqueta). ¡Esto os lo dejo de deberes para los comentarios!
Pero no todo el mundo va querer comprar la extensión y puede que incluso no lo vea necesario. En este puedes tener alguno de estos dos razonamientos:

  • Mira, me da igual tener que hacer una regla por etiqueta, no tengo tantas o tampoco me cuesta tanto: Adelante, crea una regla por cada URL sin usar expresiones regulares y pon directamente una descripción a cada una, sin pagar, sin complicarte con expresiones regulares. (Ya te aburriras jeje)
  • Pues yo creo que realmente para las etiquetas no aportan nada más que fomentar la navegación de los usuarios pero no me interesa o no me importa que no sean indexadas. (Perfecto, haz la regla con expresión regular y luego usa la opción que tiene la extensión para especificar que los que cumplan la regla no sean indexados)

Os dejo un enlace a un sitio web muy interesante con sintaxis y con la posibilidad de probar online vuestras expresiones regulares:

Regexr

 

Por último comentar que existe una opción mas sencilla si no queremos que nos indexe las etiqueta tag. Aún así creo que merece la pena entender la posibilidad de hacerlo vía Joomla para aplicar otro tipo de acciones a todas las URLs que concuerden con una expresión regular.

La opción es simplemente añadir a nuestro fichero robots.txt la siguiente línea para los robots que queramos (probablemente para todos)

Disallow: */tag/*

Visto 4673 veces Etiquetado como Spanish, Desarrollador