JMiur [E]

Aunque ZonaFirefox hace rato que dejó Blogger para instalarse en un servidor propio que corre con WordPress, Nico no deja de experimentar ... ya sabemos que Blogger puede transformarse en una enfermedad incurable.

En este caso, lo que se le ha ocurrido es avanzar un poco más en la optimización de los títulos, algo que es fundamental a la hora de tener una buena indexación de nuestro sitio.

Hace un tiempo, se había incorporado a los datos que podíamos acceder en el HEAD de nuestra plantilla, uno que nos permitía hacer esto de manera sencilla: <data:blog.pageName/> contiene el título del post y al poder leerlo en el encabezado de nuestro sitio, nos da la posibilidad de utilizarlo para crear una etiqueta TITLE diferenciada cuando accedemos a una página individual:
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<title><data:blog.pageName/> : nombreBlog</title>
<b:else/>
<title><data:blog.pageTitle/></title>
</b:if>
De esta maner, en lugar de ver siempre esta estructura por defecto:

Nombre del blog : Título del post - Navegador

en las páginas individuales, podríamos tener esta otra:

Título del post : Nombre del blog - Navegador

o cualquier otro modelo que ponga primero el título para que los resultados en los buscadores sean más claros.

Lo que estamos haciendo es utilizar un condicional con dos posibilidades, si estamos en una pagina individual hacemos tal cosa y si no, hacemos tal otra. Sin embargo, esta no es la única condición que soporta Blogger, hay varias más que nos permiten identificar si estamos en la página de inicio, si estamos en una página de archivos, si estamos en una página de etiquetas o navegando a través de la barra inferior (Anteriores / Siguientes).

<b:if cond='data:blog.homepageUrl == data:blog.url'> es verdadero si estamos en la página inicial
<b:if cond='data:blog.pageType == &quot;item&quot;'> es verdadero si estamos en una página de posts
<b:if cond='data:blog.pageType == &quot;archive&quot;'> es verdadero si estamos en una página de archivos
<b:if cond='data:blog.pageType == &quot;index&quot;'> es verdadero si estamos en una página de etiquetas o navegación

Utilizando esto, podríamos generar títulos diferenciados para cada alternativa. Un ejemplo:
<b:if cond='data:blog.homepageUrl == data:blog.url'>
<!-- la página principal -->
<title><data:blog.title/></title>
<b:else/>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<!-- las páginas individuales -->
<title><data:blog.pageName/> : <data:blog.title/></title>
<b:else/>
<b:if cond='data:blog.pageType == &quot;index&quot;'>
<!-- las páginas de etiquetas y navegación -->
<title><data:blog.pageTitle/> : Un texto indicativo </title>
<b:else/>
<b:if cond='data:blog.pageType == &quot;archive&quot;'>
<!-- las páginas de archivos por fecha -->
<title><data:blog.pageTitle/> : Un texto indicativo</title>
</b:if>
</b:if>
</b:if>
</b:if>
¿Qué cosas pueden ponerse? Dependerá de cada uno; estos son algunos de los datos disponibles:

data:blog.title
nombre del blog - Navegador
data:blog.pageTitle
nombre del blog - Navegador en la pagina principal
nombre del blog: Titulo post - Navegador en las páginas individuales
nombre del blog - Navegador en las páginas de navegación
nombre del blog: Fecha - Navegador en las páginas de archivos
nombre del blog: Etiqueta - Navegador en las páginas de etiquetas
data:blog.pageName
es el título del post en las páginas individuales
es la fecha las páginas de archivos
es la etiqueta en las páginas de etiquetas

Con este mismo criterio, tal vez podríamos resolver ese error que nos muestran las Herramientas para desarrolladores de Google cuando accedemos al panel de Diagnósticos | Análisis del contenido y nos dice que hay Metadescripciones duplicadas:

"Mientras rastreábamos su sitio, hemos detectado algunos problemas con el contenido de las páginas. Estos problemas no impedirán que su sitio aparezca en los resultados de búsqueda de Google pero, si intenta evitarlos, aportará más información a Google y permitirá dirigir más tráfico a su sitio. Por ejemplo, el texto del título y la metadescripción pueden aparecer en los resultados y es conveniente que sean útiles y descriptivos para atraer a los usuarios."

Usemos entonces los condicionales para crear etiquetas META diferentes. Un ejemplo:
<b:if cond='data:blog.homepageUrl == data:blog.url'>
<title><data:blog.title/></title>
<meta name='description' content='descripcion para la página principal' />
<b:else/>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<title><data:blog.pageName/> : <data:blog.title/></title>
<meta name='description' content='descripcion para las páginas individuales' />
<b:else/>
<b:if cond='data:blog.pageType == &quot;index&quot;'>
<title><data:blog.pageTitle/> : CUALQUIER TEXTO</title>
<meta name='description' content='descripcion para las páginas de etiquetas' />
<b:else/>
<b:if cond='data:blog.pageType == &quot;archive&quot;'>
<title><data:blog.pageTitle/> : CUALQUIER TEXTO</title>
<meta name='description' content='descripcion para las páginas de archivos' />
</b:if>
</b:if>
</b:if>
</b:if>
¿Servirá de algo que la descripción incluya el nombre del post en las páginas individuales? Es posible agregarlo así:
<meta expr:content='data:blog.pageName + &quot;, descripción páginas individuales&quot;' name='description'/>
Incluso, sería bueno seleccionar algunas de la etiquetas principales de nuestro sitio y crear etiquetas META específicas para cada una de ellas.

<b:if cond='data:blog.homepageUrl == data:blog.url'>
<title><data:blog.title/></title>
<meta content='descripción para la página principal' name='description'/>
<b:else/>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<title><data:blog.pageName/> : <data:blog.title/></title>
<meta expr:content='data:blog.pageName + &quot;, descripción páginas individuales&quot;' name='description'/>
<b:else/>
<b:if cond='data:blog.pageType == &quot;index&quot;'>
<b:if cond='data:blog.pageName == &quot;&quot;'>
<title><data:blog.pageTitle/></title>
<meta content='descripción genérica' name='description'/>
<b:else/>
<title><data:blog.title/> : Entradas Categoría <data:blog.pageName/></title>
<b:if cond='data:blog.pageName == &quot;UNA_ETIQUETA&quot;'>
<meta content='descripción para entradas una_etiqueta' name='description'/>
<b:else/>
<b:if cond='data:blog.pageName == &quot;OTRA_ETIQUETA&quot;'>
<meta content='descripción para entradas otra_etiqueta' name='description'/>
<b:else/>
<b:if cond='data:blog.pageName == &quot;ULTIMA_ETIQUETA&quot;'>
<meta content='descripción para entradas ultima_etiqueta' name='description'/>
<b:else/>
<meta expr:content='data:blog.pageName + &quot;, descripción para cualquier otra&quot;' name='description'/>
</b:if>
</b:if>
</b:if>
</b:if>
<b:else/>
<b:if cond='data:blog.pageType == &quot;archive&quot;'>
<title><data:blog.title/> : Entradas Fecha <data:blog.pageName/></title>
<meta content='descripción página archivos' name='description'/>
<b:else/>
<title><data:blog.pageTitle/></title>
<meta content='descripción genérica' name='description'/>
</b:if>
</b:if>
</b:if>
</b:if>

 
CERRAR