De Jekyll a Octopress


Los que me seguís sabéis que este blog estaba construido con Jekyll. Sin embargo, he descubierto que Octopress tiene un pequeño ecosistema bastante interesante, y quería comentar mis impresiones.

Contaré también algunos trucos a los que he recurrido, así como los mayores problemas.

¿Por qué Octopress?

Octopress tiene una serie de cosas que me han gustado mucho:

  • Organización: Algo a lo que yo tendía, pero mis desconocimientos de Ruby me dificultaban bastante. Para todo lo que yo especifiqué estáticamente, Octopress ofrece variables en el archivo de configuración (Analytics, Disqus, ...).
  • Temas: Soy desarrollador y, admitámoslo: el estilo no es lo mío. Así que he descubierto que hay numerosos temas para Octopress (que seguro que podría haber usado desde Jekyll), así que era una buena opción.
  • Código: Octopress permite separar el código de los posts, lo que me permitiría añadir tests para las cosas que os cuento. Seguramente también hubiera podido incorporarlo a mi blog anterior, ...
  • Plantillas: Bueno, yo ya tenía mi propia plantilla, pero así puedo utilizar cierto estándar.

En fin... No hay nada que realmente justifique el cambio. Pero creo que es bueno conocer cosas nuevas.

Problemas

El mayor problema ha sido, sin lugar a dudas, los comentarios. Aún no he sido capaz de que sigan mostrándose donde deben (pero lo lograré). Esto se ha debido al cambio del formato de las URLs.

Como os podéis suponer, esto no era un requisito, pero hacer que comenzaran por "blog/" me parecía una buena idea. De hecho era algo que yo quería hacer hace ya tiempo. Sin embargo, este cambio de URLs ha generado otro problema adicional: que los buscadores no me encuentren. Pero eso ha sido muy sencillo de parchear.

Por un lado, en el archivo .htaccess del servidor he añadido esta línea (utiliza nginx):

ErrorDocument 404 /404page.php

De esta manera, redireccionará todos los errores 404 (página no encontrada) a un archivo PHP. Éste es el código de dicho archivo:

<?php

   function redirect($url, $permanent = false)
   {
       header('Location: ' . $url, true, $permanent ? 301 : 302);
       die();
   }

   if ( preg_match("@^(/20.+)\.html$@", $_SERVER["REQUEST_URI"], $matches) ) {
       redirect('/blog' . $matches[1], true);
   }
   redirect('/404page.html');
?>

Lo que hace es muy sencillo: Si la URL es de las antiguas, le añade el "/blog" y le quita el ".html", redirigiéndolo de forma permanente. Si no es así, redirijo a la página de error real (de forma temporal, por si mañana existiese ésa página).

Consecuencias

Bueno... como he tardado un poquito en hacer este cambio, la consecuencia ha sido la pérdida de tráfico a aproximadamente la mitad. Si lo hubiera hecho antes, asumo que no habría perdido nada.

Sin embargo, no me importa. Otra de las decisiones tomadas ha sido eliminar toda la publicidad. Ahora disponéis de todo el #MagMaxBlog limpito.

Disfrutad...

En fin... Esto es lo que quería contar al respecto. Espero arreglar pronto el problema con los comentarios perdidos, y mientras lo hago, aceptaré sugerencias XD


Comentarios

Comments powered by Disqus