Por JCM Team on Martes, 03 Junio 2014
Categoría: Junio

Meta etiquetas en tags de K2

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:

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:

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

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:

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:

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/*

Dejar comentarios