Delirios de un Informático

The Definitive URL Sanitizer

Los usuarios de WordPress que escribimos en español nos hemos topado más de una vez con el problema de que las URL que genera el sistema contienen caracteres extraños. Una simple interrogación ¿ ya genera una URL con %. Esto se debe a que el saneador apesta es una mierda no tiene en cuenta muchos caracteres utilizados en otros idiomas distintos al inglés.

Por todo esto me decidí a programar un pequeño plugin para WordPress que haga bien el trabajo: The Definitive URL Sanitizer. Lo mejor es un ejemplo práctico. Una típica URL como:

¿Por qué “carajo” WordPress no sanea bien las urls’?

WordPress la sanearía así:

¿por-que-“carajo”-wordpress-no-sanea-bien-las-urls’

Este plugin la sanearía así:

por-que-carajo-wordpress-no-sanea-bien-las-urls

Ha sido probado con codificación UTF-8 únicamente, aunque debería funcionar con ISO-8859-1 y es compatible con WordPress 2.7+ y por supuesto, cualquiera que tenga una duda o sugerencia puede plantearla en los comentarios…

31 thoughts on “The Definitive URL Sanitizer”

gafeman dice:

que grande ! muchas gracias por compartirlo 😀

Jam dice:

Si tuviese WordPress lo instalaría ya. 🙂

Alguna opción similar para sistemas en blogger? la verdad esque es una …… cuando te cambia la url y te la deja “sin sentido”

Saludos y gracias igualmente por el aporte 😉 algún día cambiaré a wordpress…

Diavolo dice:

Descargado e instalado.

Estaba buscando algo así, gracias por el aporte 😉

admin dice:

Gafeman, Diavolo gracias, espero que os sea tan útil como a mi 🙂
Música creativa, para Blogger no conozco nada, lo siento 🙁
Jam, cuando quieras te migramos tu viejo MT a WordPres 😉

Angelfire dice:

El plugin es realmente poco útil, personalmente no tengo ni 5 de problemas con las URL que me genera wordpress, a modo de SPAM pueden visitar mi blog y ver que los posts con ? o cualquier otro símbolo simplemente no son tomados, por otro lado wordpress incluye la opción para modificar la URL y así ahorrarse esos dolores de cabeza.

admin dice:

Angelfire, en tu caso tendrás 5, yo tendré 50 y o tros 200. Un plugin para resaltar código fuente no te resultará útil si no pones código, lo mismo que este si no sueles usar caracteres extraños en las URL…

admin dice:

Por cierto, WordPress se cargalos ?, pero no los ?, “, ”, ^ o cosas así, y te sorprendería la cantidad de gente que usa caracteres de ese tipo. Un simple entrecomillado te jode la URL. Mira un ejemplo: http://kurioso.wordpress.com/2008/11/17/“i-don’t-like-mondays”/

Angelfire dice:

Si david, pero mira la imagen, wordpress trae la opción para cambiar el nombre del post, así le quitas esos caracteres y extraños y listo, sin problemas, así hago yo siempre:
http://img27.imageshack.us/img27/9324/posti.jpg

Solamente la cambias, le das save y listo.

admin dice:

Si, lo se, pero es un campo más a editar, y yo soy de los que le gustan las cosas sencillas (como muchos otros). No quiero tener que editar ese campo en cada post, precisamente tengo un software con plugins y supuestamente el mejor CMS para blogs para que haga eso por mi 😀

alex dice:

David, sere seguramente uno de los primeros en reportarte un bug 🙂 (que por cierto es el mismo que cometi cuando hice lo mismo). El problema es que si ya existen entradas que contienen los permalinks con los caracteres “problematicos” (esos que reemplazas), no sera posible acceder a esas paginas.

Talvez te interese utilizar el mismo metodo que yo 🙂

Jose Alberto dice:

Precisamente iba a preguntar algo parecido a lo que dice alex: ¿Que ocurre con los enlaces ya existentes? Pienso que lo suyo sería dejarlos tal cual y que el plugin actuara sólo para los nuevos posts.

admin dice:

Por supuesto, esto se aplica sólo a los posts nuevos, los viejos no los toca…

Sabéis si los chicos de Automattic llevan intención de agregar algo parecido al Core?

admin dice:

Javier, pos ni idea, pero no creo si no se han molestado en años…

Jam dice:

Le tengo cariño al MT, pero por mí cambiamos a WordPress ¡ya! 🙂

Tutayuda dice:

Excelente aporte! acabo de usarlo y realmente ayuda de manera importante! Gracias nuevamente!

axelitus dice:

Lo intenté instalar en la versión 2.8 de WordPress y me marca error de que el plugin no tiene un header valido…

The plugin does not have a valid header.

axelitus dice:

Ya vi cual es el problema… el instalador desde wordpress genera una carpeta adicional, por lo tanto no encuentra la definición del plugin. Saludos! Buen plugin

Ponchito147 dice:

Gracias por el plugin. Descubrí este problema revisando Google webmaster tools (marcaba todas las urls con “¿” con el error 404) y después busque para ver si había un solución (automática) y llegue aquí. Lamentablemente tendré editar las URLs, de los post ya publicados, manualmente, aunque me evitare futuros dolores de cabeza. Gracias.

admin dice:

El problema ya ha sido solucionado en la versión 0.4. Podéis actualizarlo desde el panel de administración de plugins…

Excelente plugin. ¿Alguien podría decirme qué expresión regular habría que usar para que una url del tipo “¿lo-que-sea” pasaran a ser “lo-que-sea” ? El plugin Redirection usa automáticamente “%C2%BF” en lugar de “¿” y eso hace que a veces falle. Habría que comprobar que la url a redirigir tenga o “%C2%BF” o “¿” pero no sé cómo hacerlo. Si alguien puede echarme una mano…
Gracias por adelantado

David,

Mis respetos por solucionar este problema de manera practica.
Se te agradece y por favor no lo dejes morir.

Saludos

Lorenzo dice:

Gracias David por este pluguin, me parece super útil.
Yo he añadido: , ‘ª’ => ”
El carácter ª también me daba problemas al generar la url.
¡Un saludo!

admin dice:

Gracias Lorenzo, lo tendré en cuenta para la próxima actualización 😉

admin dice:

Hola Lorenzo, he realizado pruebas y no me ocurre en ningún caso con el carácter que comentas. ¿El carácter estaba codificado al introducirlo? (%AA)

Pablo dice:

Muy buen plugin! Gracias!