Simbiontes
Cada loco con su tema   

Blog |  Acerca de...  |  Asuntos recurrentes  | 

Archivos de entradas individuales en Movable Type. Cómo mantener los permalinks

Escrito por El Malvado Acidonitrix , Miércoles 26 de Octubre de 2005
   6 Comentarios
Archivado en: Codeblog , Movable Type

Recientemente hemos migrado Simbiontes a la versión de Movable Type (MT) 3.2. MT es el software que utilizamos para gestionar nuestra web. Esta nota puede ser de interés para los que lo usen: proponemos un sistema que mantiene la nomenclatura antigua aprovechando las ventajas de la nueva.

Al modificar el sistema de nombrado de ficheros, pasando de una nomenclatura basada en identificadores numéricos a una en palabras, los enlaces permanentes (permalinks) cambian. Al abandonarse el viejo sistema de enlaces permanentes, aquellas personas que hayan guardado direcciones antiguas se quedan con un enlace anticuado. Lo mismo ocurre con direcciones que un buscador haya podido indexar. Si bien se puede dejar los archivos viejos sin borrar, estos no reflejan ulteriores cambios de diseño u otras actualizaciones, ya que esos ficheros no se reconstruyen. Es posible realizar redirecciones en Apache/IIS, pero son complicadas para la mayoria de los webmasters, o simplemente inaccesibles, puesto que el alojamiento contratado no siempre permite tocar la configuración del servidor HTTP. El sistema que estamos probando evita duplicidades, ahorrando espacio, y mantiene los enlaces antiguos mediante redirecciones HTML, ASP o PHP, a conveniencia del alojamiento escogido.

In English, please read DirifyES: the power of dirifyplus with unicode support.

Recientemente hemos migrado Simbiontes a la versión de Movable Type (MT) 3.2. MT es el software que utilizamos para gestionar nuestra web. Esta nota puede ser de interés para los que lo usen: proponemos un sistema que mantiene la nomenclatura antigua aprovechando las ventajas de la nueva.

Al modificar el sistema de nombrado de ficheros, pasando de una nomenclatura basada en identificadores numéricos a una en palabras, los enlaces permanentes (permalinks) cambian. Al abandonarse el viejo sistema de enlaces permanentes, aquellas personas que hayan guardado direcciones antiguas se quedan con un enlace anticuado. Lo mismo ocurre con direcciones que un buscador haya podido indexar. Si bien se puede dejar los archivos viejos sin borrar, estos no reflejan ulteriores cambios de diseño u otras actualizaciones, ya que esos ficheros no se reconstruyen. Es posible realizar redirecciones en Apache/IIS, pero son complicadas para la mayoria de los webmasters, o simplemente inaccesibles, puesto que el alojamiento contratado no siempre permite tocar la configuración del servidor HTTP. El sistema que estamos probando evita duplicidades, ahorrando espacio, y mantiene los enlaces antiguos mediante redirecciones HTML, ASP o PHP, a conveniencia del alojamiento escogido.

 

Una de las interesantes novedades de MT 3.2 es el sistema de archivo, que viene potenciado respecto a versiones anteriores. Por ejemplo, facilita el uso de URLs (direcciones web) comprensibles, basadas en combinaciones como categoria + titulo de la entrada. Sin embargo, anteriormente en Simbiontes usábamos un sistema de archivo individual numérico. la entrada http://www.simbiontes.com/archives/000173.php, que ahora viene nombrada de una forma más legible y semánticamente correcta:

"http://www.simbiontes.com/archives/ historia-militar/ la-unica-grabacion-de-hitler-en-tono-de-voz-normal.php"

Es obvio que esta forma de nombrar las direcciones URL es más intuitiva para el lector. También tiene su trascendencia de cara a los buscadores, pero ahora mismo este no es el asunto. Ocurre que al cambiar la nomenclatura de archivos, dejamos sin funcionar un montón de enlaces que antes funcionaban. Ahora bien, MT permite generar diferentes páginas para el mismo tipo de archivo, de forma que podemos generar redirecciones con el formato antiguo hacia el formato nuevo.

Desde hace unos dias, en Simbiontes estamos utilizando las opciones avanzadas de archivo para generar dos ficheros HTML por cada entrada. El primer fichero es el principal, y contiene la nota completa. El segundo es sólo una redirección, que viene a ocupar menos de 200 bytes. Ese tamaño final del fichero secundario depende del lenguaje escogido, pero siempre será pequeño.

Los pasos:

  1. Manteniendo nuestra antigua plantilla de archivo individual, generamos una nueva que llamaremos redireccion_individual. El contenido es el siguiente:
    <?php
    // redirección
    header ("Location: http://www.simbiontes.com/archives/<$MTCategoryLabel dirifyes="sld"$>/<$MTEntryTitle dirifyes="sld"$>.php");
    exit;
    ?>
    Nos hemos tomado la libertad de adelantarnos un poco: los lectores observadores habrán notado que utilizamos una versión diferente del operador dirify. Hablamos más abajo de ella. El resultado final es que Movable Type generará un fichero con este aspecto:
    <?php
    // redirección
    header ("Location: http://www.simbiontes.com/archives/historia-militar/ la-unica-grabacion-de-hitler-en-tono-de-voz-normal.php");
    exit;
    ?>
    Puede verse que, al realizar las sustituciones de las cadenas <$MT...>, Movable Type construye una URL basada en la combinación categoria principal / titulo de la entrada. En nuestro caso, hemos escogido redirecciones mediante PHP. Puede usarse redirecciones meta refresh en HTML (especialmente si los archivos antiguos llevaban la extensión .htm o .html) o ASP, (si hasta entonces el hosting fuera bajo IIS). En la modalidad que hemos escogido, la instrucción header en PHP genera una cabecera HTTP que redirige la petición d el navegador a otra URL, sin necesidad de cargar una página.

    Creación de plantillas
    Edición de plantillas en MT

  2. El segundo paso consiste en dar de alta una plantilla secundaria que convive con la principal. Si se utilizan varias plantillas con un mismo propósito, MT requiere que se indique cuál es la principal para construir los enlaces internos del blog a esa plantilla.

    Desplegable de opciones de guardado
    Lista desplegable de opciones de guardado. Escogemos "Custom".

    La generación de los nombres de fichero se realiza escogiendo la opción custom (personalizada). Para el fichero principal, escogemos esta cadena:

    <$MTCategoryLabel dirifyes="sld"$>/<$MTEntryTitle dirifyes="sld"$>.php

    Es decir: Nombre de la categoria principal / titulo de la entrada.

    Podriamos usar la opción genérica %-C para codificar la categoria, pero ocurre que esa opción utiliza el operador dirify, que no convierte correctamente acentos y otros caracteres. Más sobre este problema.

    La plantilla secundaria se nombra mediante el método tradicional: %e.php, que genera una ruta con el id de la entrada y un relleno de ceros hasta el sexto digito, como, por ejemplo, http://www.simbiontes.com/archives/000173.php.

Opciones de archivado
Opciones de generación de archivo individual.

El resultado final es que obtenemos:

  1. un sistema de archivado a la antigua manera
  2. y una forma más semántica y potente.

Aspecto del listado de directorios
El resultado final mostrado en directorio.
Archivos pequeños de redirección en la raíz y
carpetas por categoría que contienen los archivos completos.

Los archivos con nombre numérico generados sirven tanto para mantener la integridad de los viejos enlaces como sistema de perma-permalinks. Durante una eventual migración a una nueva versión de Movable Type u otro sistema de gestión, bastaria con respetar los identificadores de cada entrada para mantener los enlaces antiguos.

Sobre dirify, dirifyplus y dirifyes

El operador dirify de Movable Type convierte una cadena de texto en un fragmento aceptable para una URL, sustituyendo los caracteres conflictivos por otros estándares. Los espacios pueden sustituirse por guiones o guiones bajos, las entidades html se eliminan, los caracteres con tildes se quedan sin tilde, etcétera. El operador original fue mejorado con dirifyplus, que ofrece más opciones, pero, sin embargo, cambia todas las vocales acentuadas por aes. En el ejemplo de URL que hemos venido usando, el original era:

La única grabación de Hitler en tono de voz normal

Con dirifyplus queda así: la-anica-grabacian-de-hitler-en-tono-de-voz-normal. Inteligible, pero sutilmente molesto.

Con dirifyes, la sustitución es correcta: la-unica-grabacion-de-hitler-en-tono-de-voz-normal.

En esta otra nota, hablamos sobre dirifyES y la sustitución de caracteres unicode.

 


6 comentarios

Bla Bla
Dice: Adrian Lopez, Sábado 24 de Febrero de 2007

Nada mas quiero que me manden informacion de ventajas del archivo numerico


Bla Bla
Dice: Acidonitrix, Domingo 25 de Febrero de 2007

Hola Adrián:

Tiene las ventajas de los números: corto, secuenciado, fácilmente procesable, correlativo. Aporta información sobre la relación del elemento con otros elementos de su conjunto (orden, distancia relativa, etc), pero ninguna información sobre el contenido del documento, cosa que últimamente tiene su peso.


Bla Bla
Dice: Dennis, Viernes 4 de Mayo de 2007

Hi There..

Can anyone help me get Ø,ø in to the DirifyES

I need to translate them from Ø,ø to OE, oe


Bla Bla
Dice: Acidonitrix, Domingo 6 de Mayo de 2007

Hi Dennis. Just give us a couple of days. We'll send it by email.


Bla Bla
Dice: andres, Jueves 25 de Octubre de 2007

mejoren esta pajina


Bla Bla
Dice: andres, Jueves 25 de Octubre de 2007

mejoren esta pajina



Enviar un comentario










Introduce el código que aparece aquí...
Recordar información personal en este PC...







Mostrar búsqueda avanzadaActivar búsqueda avanzada

Bienvenido al repositorio de los simbiontes

Una página colectiva y ecléctica para comentar y apuntar cosas.

Estás viendo los archivos de Octubre de 2005. Visita la portada para ver las últimas notas.

Sugerencias de lectura

Los simbiontes hablan de...

Sugerencias de lectura

Si quieres curiosear, puedes consultar:

  • todas las entradas archivadas por categoría (abstract).
  • Las entradas ordenadas mensualmente.
  • Suscribirte a los feeds (más abajo).
  • Lo que vienen buscando otras personas.
  • Si lo prefieres, puedes ver la portada en el formato anterior.
  • ...o leer la presentación para saber qué es esto y si puedes fiarte o no de lo que aquí se dice, y por qué pensamos que esto no es un blog aunque lo llamemos así para entendernos entre nosotros.

Sindicación RSS

  • ¿Qué es un feed?
  • Agregadores recomentados

Lecturas edificantes y tráfico de influencias

La tira Ecol

Tira Ecol

http://tira.escomposlinux.org
La tira ecol ha vuelto.