El tema de las Urls Amigables (friendly urls) esta relacionado con el SEO y el posicionamiento Web en los diversos buscadores algo que se a hablado hasta el cansancio, los métodos de poder construirlas son como los colores ( para todos los gustos ).
En la actualidad las Urls Amigables (friendly urls) no es una simple moda Web 2, si no que en sistemas de gestión de contenidos y servicios prestigiosos como Blogger, Drupal, Wordpress y muchos más lo tienen implementado. ¿Pero cual es el mejor? ya de por si se sabe que implementando Urls Amigables en tus paginas o proyectos Web estas a 2 o 3 pasos arriba que otras paginas que usan las Urls tradicionales muy aparte de la publicidad o herramientas de posicionamiento que usen.
Al principio no todos podían usar Urls Amigables en sus sitios, mucho dependía de tener activado el mod_rewrite , aun que WordPress fue un paso mas allá y nos dio una solución como nos comentaba Andres Nieto a principios de año desconozco si WordPress fue el pionero en esto.
En el posicionamiento Web 2 de los mejores son Blogger y Wordpress por el método que usan aunque este ultimo con la opción de personalizar la estructura de la url a nuestro gusto por ser una herramienta de construcción de blogs de codigo abierto que a permitido que crezca gracias a la comunidad que lo rodea.
Las hasta 3 formas mas conocidas de construir las Urls Amigables es mediante PATH_INFO, mediante directivas en el archivo .htaccess como nos explica manu en TuFunción o mediante peticiones $_GET como nos enseña William Wong Garay en MaestrosDelWeb.
Todos estos métodos construyen Urls Amigables pero tienen sus limitaciones.
- PATH_INFO no se puede expandir la estructura de Urls Amigables
- mod_rewrite y .htaccess mientras mas directivas se ralentiza el servidor
- Metodo $_GET limite del numero de variables a enviar como explica Willy
¿Cual método usa Wordpress? si observamos su archivo .htaccess solo utiliza unas directivas simples.
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
El archivo clave es wp-includes/rewrite.php (WP_Rewrite API) el encargado de identificar las peticiones que se hacen en el sistema.
¿Pero como trabaja? muy simple con reglas muy similares a las que se usan en el .htaccess con diferencia que estas se procesan en un archivo php y acelerando el proceso.
¿Pero como implementarlo en una pagina que no sea WordPress? … destripando el codigo he logrado desarrollar una clase muy básica basada en WP_Rewrite API que nos permitirá personalizar la estructura de las Urls amigables al estilo Wordpress.
Pueden verlo en funcionamiento en http://web2dev.calinsoft.com/urls-amigables .
El funcionamiento es básico la regla esta compuesta de una Expresion Regular y la marca que vendría hacer los parámetros a usar.
/// para poder obtener una estructura /2008/08/28/urls-amigables-facilmente
$this->rules["([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/(.+?)/?$"]="y=\$matches[1]&m=\$matches[2]&d=\$matches[3]&nslug=\$matches[4]";
//la cual mediante una identificación y parseo previo obtendríamos los valores listo para usarlos segun lo deseemos
Array
(
[y] => 2008
[m] => 08
[d] => 28
[nslug] => urls-amigables-facilmente
)
Los interesados pueden comentar si creen que es un buen método, tratare de afinar el script y lo publicare en estos días para mis lectores de Feed tendrán una sorpresa.
Descarga
Demo
Categorizado: Desarrollo Web |
Web2Dev Etiquetado: htaccess |
mod_rewrite |
Programación Web |
Proyectos |
Scripts |
SEO |
Wordpress