Presentamos una variante para la funcion dirify y dirifyplus que resuelve el problema de los acentos de dirifyplus pero aprovecha la potencia de esa función.
In English, please read DirifyES: the power of dirifyplus with unicode support.
Descargar código fuente de dirifyES y notas de instalación.
El operador dirify se utiliza en Movable Type para transformar cadenas de texto en partes de una URL válida, de forma que, por ejemplo, puedas construir las direcciones a cada nota con la categoría y el título. Así, por ejemplo, la siguiente dirección URL
http://www.simbiontes.com/archives/literatura/ la-respuesta-a-la-pregunta-ultima-de-la-vida-del-universo-
y-de-todo.php
resulta más legible a simple vista que
http://www.simbiontes.com/archives/000065.php
Mediante dirify se sustituyen los carácteres inválidos en otros válidos para una dirección URL. Espacios, signos de puntuación, tildes, paréntesis y otras minucias son convenientemente sustituidos por otros. Especialmente importante en el caso del castellano: los caracteres con tilde, que no son válidos en una dirección, se cambian por los equivalentes sin tilde.
Además de facilitar la lectura directa de las URL, se mejora la posición en los buscadores, ya que estos dan bastante peso a la dirección URL. En otras palabras, un buscador premia aquellas páginas cuya dirección contiene información sobre el contenido de la página.
Sin embargo, la función dirify que viene de serie con MT no funciona correctamente en las sustituciones. Además, modifica los espacios con guiones bajos (_)
. Esto tiene el defecto de que Google considera que un guión bajo NO separa palabras, mientras que un guión corriente sí.
Esta limitación se subsana con dirifyplus, que ofrece múltiples parámetros de sustitución (un total de 60 combinaciones, incluyendo guiones). Desafortunadamente, sustituye cualquier carácter ascii mayor de 127 por una a. Por ejemplo, la entrada
http://www.simbiontes.com/archives/ tecnologia/que-aspecto-tiene-sap.php
se convierte en
http://www.simbiontes.com/archives/ tecnologaa/qua-aspecto-tiene-sap.php
El autor de dirifyplus publicó "unicode", una versión adaptada para caracteres unicode, pero muy limitada en otras sustituciones. Entre otras cosas, se echa a faltar el cambio de guiones bajos por guiones corrientes.
Llegados a este punto encontramos dos escuelas de pensamiento. La que aboga por tocar la función dirify (en el blog sueco 456 Berea street, Fixing the dirify function in Movable Type), haciendo otros cambios en las sustituciones además de los caracteres ascii altos. Desde nuestro punto de vista (aquí nos constituimos en escuela de pensamiento), no es conveniente alterar el comportamiento de una función que el desarrollador de otro módulo puede estar usando dando por hecho que no ha cambiado. En su lugar, nos ha parecido más conveniente generar nuestro propio operador dirify, al que hemos llamado dirifyES. Ciertamente, la cosa no tiene mucho mérito. Se trata de adaptar dirifyplus, eliminando la llamada a convert_high_ascii e incluyendo convert_high_unicode del plugin unicode. La llamada a convert_high_unicode se realiza cambiando la siguiente línea
$s = convert_high_ascii($s); ## convert high-ASCII chars to 7bit
por esta otra:
$s = convert_high_unicode($s); ## convert high-ASCII chars to 7bit.
De esta forma, podemos hacer la siguiente llamada:
<$MTCategoryLabel dirifyes="sld" $>/<$MTEntryTitle dirifyes="sld"$>.php
DirifyES acepta exactamente los mismos parámetros que dirifyplus. Llevamos un año con ella y no nos ha dado problema alguno.
Digresión:
Hemos hablado hace unas semanas de la utilización de dirifyES para generar URLs semánticas y la generación de perma-permalinks que tuvimos que hacer al migrar de MT 2.6 a 3.2. Muchas personas prefieren utilizar un sistema de archivado por fechas en las URL. Es probable que se trate de una herencia de los tiempos en que un blog era un diario, donde la fecha tiene su trascendencia. En el caso de Simbiontes, que tiende a convertirse en un CMS, creemos preferible obviar un archivado por fechas en beneficio de uno basado en asuntos. Ello no obsta para que existan archivos mensuales: es útil para los buscadores y siempre puede ocurrir que alguien quiera leerse todo Simbiontes de corrido, mes a mes.
Recursos:
Una página colectiva y ecléctica para comentar y apuntar cosas.
Estás viendo los archivos de Noviembre de 2005. Visita la portada para ver las últimas notas.
Si quieres curiosear, puedes consultar:
http://tira.escomposlinux.org
La tira ecol ha vuelto.