Blog actualizado v1.3 [30/12/2014]

Informativo

Les cuento de los cambios más recientes en mi blog para quienes les pueda interesar.

Framework update

  • Actualización a la versión 0.5.7 de Ghost Con algunos breaking changes en Azure que espero contarles en un próximo artículo.

Gracias a esto el blog ahora cuenta con.

New Features

  1. robots.txt auto generado por el motor, antes era necesario tenerlo en cada tema.

  2. sitemap auto generado por el motor. Solia ser muy complicado mantener el sitemap por cuenta propia, por lo cual incluso yo ya habia desarrollado una herramienta para hacer web crawling y generar sitemaps automáticamente: Cómo obtener todos los link de una web con LinkSpider | C#.

    Ahora Ghost trae su propia funcionalidad con un sitemap automático bastante profesional.

  3. Ahora hay soporte 'nativo' SEO, twitter cards y para open Graph por lo que cada post genera automáticamente esta información y ademas nos permite extender la metadata para optimizar el contenido.

  4. Ghost ahora requiere SSL para acceder a la página de administración muy importante en un mundo donde los que quieren hacer el mal también son muy inteligentes, su configuración por defecto en nodeJS puede causar loops infinitos en el iisnode por lo que hay que hacer algunos ajustes de configuración en IIS y en la configuración de la aplicación nodeJS ello aproveche y mejor de una vez puse todo el sitio sobre HTTPS/SSL.

    Ahora el blog esta publicado sobre https con un certificado de nivel 2.

Bug fixes

  • Cuando se abria el home aparecia el "proficiency level" al inicio del texto de resumen de cada post, esto se debia a que este atributo no hace parte de Ghost sino que yo lo incluyo como parte de cada uno de mis articulos técnicos, por ende para la funcionalidad de resumen (excerpt) de Ghost/core era parte del texto del post.
    He modificado la funcionalidad de excerpt.js del núcleo de Ghost para que filtre el "proficiency level" . adicionando esta línea en el conjunto de filtros.
 // # core/server/excerpt.js Helper fragment
// Strip proficiencyLevel from html
excerpt = excerpt.replace(/<p><label .*?itemprop="proficiencyLevel".*?>.*?<\/label><\/p>/, '');  

Antes y después
Antes y despues de modificar el generador de resumenes de Ghost

  • He removido la funcionalidad de compartir en Google ✝ ya que N A D I E compartia mis articulos en esa red social y si estaba sacrificando tiempo de carga. Para mi si era un bug :P
  • Algunos bug relacionados con Facebook Graph API han sido solucionados con ayuda del Facebook Open Graph Object Debugger

Optimizaciones

  • He optimizado los colores en algunos de los estilos, que no eran precisamente muy convenientes para la lectura del texto
  • Se adicionaron o aumentaron márgenes a varios estilos de título, imágenes y código fuente para facilitar la lectura del blog
  • Cambio al script de carga asíncrona de facebook
  • Actualización del script de Google Analitycs y se reubico para hacer trace real de las visitas, ya que donde lo tenia al parecer estaba perdiendo conteos
  • Optimización de tags open graph y facebook OG para evitar redundancia con las nuevas funcionalidades de Ghost
  • Todos los vínculos que apunten a este blog dentro y fuera de el son ahora redireccionados automáticamente a https
  • Los vinculos a recursos inyectados en el sitio -como hojas de estilo o web fonts- han sido direccionados por https o protocolo heredado para evitar problemas de contenido mixto en los browser
  • Los comentarios de Disqus estaban enlazados a la dirección http tradicional del blog por lo cual se perderían pero los he migrado todos a https con ayuda del Disqus Redirect Crawler