Abogado Garza

Abogado Garza

Lawyer Web Page

Prentice Cleanning

Prentice Cleanning

Specializes in exceptional

MayaSpace

MayaSpace

Baby Patron | Web Personal

MuniManantay

MuniManantay

Municipalidad de Manantay

Ago
31

Urls Amigables basado en WP_Rewrite API

Escrito por Carlos Montalvo hace 4 meses y 9 horas, archivado en Desarrollo Web

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://web2developement.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.

Tags: , , , , , ,