Cómo Agregar la Etiqueta rel=»canonical» en BlogEngine.NET

By | abril 24, 2016

BlogEngine.NET es una excelente plataforma de blog de código abierto, desarrollada con tecnología .NET de Microsoft.  Esta plataforma es la preferida por la mayoría de desarrolladores de aplicaciones web, experimentados en el manejo y codificación con la tecnología ASP.NET. Sin embargo, como plataforma de blog a pesar de ser bastante sencilla y minimalista, aún cuenta con varias carencias con respecto a WordPress, la más popular y completa de las plataformas de blogging.

Una de estas carencias es la falta de plugins para complementar el manejo de la plataforma y la optimización del código HTML generado por el gestor de contenido. La buena noticia es que como se trata de un software de código abierto desarrollado en .NET, cualquier programador con los conocimientos necesarios puede modificar su código fuente de acuerdo a cada necesidad particular.

Una de las carencias en términos de SEO que la plataforma BlogEngine tiene, es la falta del uso de la etiqueta canonical, que ayuda a evitar la duplicidad de contenido en el sitio web. Lo único que necesitas para aplicar esta medida en tu blog alojado en BlogEngine es crear la etiqueta «canonical» en la sección <head> del post y enlazarla a la URL absoluta de donde se encuentre en contenido original.

Para hacerlo sólo hacen falta agregar 4 líneas de código, que deberás de agregar al archivo «post.aspx.cs» dentro de la función «OnInit» luego de que se verifique que se esté cargando la data para un post. En resumen, busca dentro de la función «OnInit» cuando se cumpla la condición que el post está visible:

 

//Busca la condición !post.IsVisible e inserta las 4 líneas de código en la sección «else» así

else if (!post.IsVisible)
{
Response.Redirect(Utils.RelativeWebRoot + «default.aspx», true);
//shouldThrow404 = true;
}
else{

//Código canonical para BlogEngine
HtmlLink etiquetaCanonical = new HtmlLink();
etiquetaCanonical.Attributes[«rel»] = «canonical»;
etiquetaCanonical.Href = Post.AbsoluteLink.ToString();
Page.Header.Controls.Add(etiquetaCanonical);

Este código se ejecutará en el evento «OnInit» del componente «post.aspx.cs» pero sólo cuando se esté generando el código para un post. Es allí en donde se crea el link HTML con la etiqueta «canonical» y el enlace hacia la URL absoluta del post generado.

Espero que esta información te sea de utilidad.

 

Foto crédito: My melting brain | Flickr