Menú


Url amigables

Las url amiglables han supuesto un antes y un después en lo que al SEO se refiere. Muchos de vosotros ya no recordaréis ni como eran las estructuras y el aspecto de los enlaces de las páginas de no hace tanto.

Su aparición no solo ha colaborado en la mejora de los SERP, sino también en la mejor estructuración de los sitios.

No nos gusta hablar de historia, pero en este caso, si echaremos la vista atrás para hacer una pequeña comparativa del antes y el después. En primer lugar, os presentamos un ejemplo del modelo antiguo.

www.seopractico.com/categorias/index.php?categoria=seo&ciudad=barcelona

Esta sería una página de las sección categorías. Y más concretamente le indicamos que la categoría es seo y la ciudad Barcelona. Como podemos ver la url debe ajustarse a la estructura de carpetas física del sitio y debemos especificar los parametros por GET o por POST para indicar que queremos cargar en la página.

www.seopractico.com/seo/barcelona/
www.seopractico.com/seo-barcelona/
www.seopractico.com/barcelona/seo/

Con las nuevas direcciones amigables, puedo hacer que mi página siga cualquiera de estas estructuras independientemente de la estructura real de carpetas del sitio. Haciendo que los directorios virtuales que creamos, sean los parámetros de la página. Estos parámetros se pasan siempre por GET.

  • En el primer caso, utilizamos el primer directorio (seo) como parámetro 1 y el segundo (barcelona) como parámetro 2. En ambós casos estos parametros se pasan por GET como ya indicamos.
  • El segundo caso, solo pasamos un parámetro. Depués podemos tratarlo para separarlos por programación con un "split" y obtener 2.
  • El tercer caso es similar al primero, solo que invertimos el orden de los directorios, porque consideramos que es más importante la ciudad. Este punto es muy importante y os lo explicamos en el siguiente apartado.

Estructuración de las url friendly (amigables)

La creación de las urls, no es un tema banal. Debéis tener en cuenta que como más a la izquierda más importante.

Las palabras que definen una url, tiene más importancia cuanto más a la izquierda están.

Es decir, en el caso de www.seopractico.com/seo/barcelona/ y de www.seopractico.com/seo-barcelona/, le estamos dando más relevancia a la palabra seo que a la de barcelona. Mientras que la tercera opción sucede lo contrario. Este dato es muy relevante a la hora de construir vuestra página.

Ejemplo práctico: Una tienda online de mascotas

Supongamos la tienda online de mascotas con la que ya hemos trabajado algunos ejemplos. Supongamos que el nombre de dominio es www.tumascota.com. Como debería ser las direcciones de sus páginas.

Supongamos que la empresa trabaja en tres ciudades como Madrid, Barcelona y Valencia, y su especialidad es la venta de perros y gatos, y la venta de comida para ellos.

En primer lugar y tras analizar los puntos fuertes de la empresa y las palabras clave, nuestars opciones son las siguientes:

//Opción 1

//Venta perros Madrid
www.tumascota.com/venta-perros/madrid/
www.tumascota.com/venta-gatos/madrid/

//Venta perros Barcelona

www.tumascota.com/venta-perros/barcelona/
www.tumascota.com/venta-gatos/barcelona/

//Comida perros Madrid
www.tumascota.com/comida-perros/madrid/
www.tumascota.com/comida-gatos/madrid/

//Comida perros Barcelona

www.tumascota.com/comida-perros/barcelona/
www.tumascota.com/comida-gatos/barcelona/

En esta primera opción hemos considerado que las palabras más importantes son: venta perros,venta gatos,comida perros,comida perros, por encima de la ciudad.

Nuestra consideración no es porque sí. En primer lugar hemos hecho un estudio sobre las búsquedas de los usuarios sobre este sector. Y en segundo lugar consideramos que la ciduad es una acotación geográfica de nuestro principal objetivo. Además todas las direcciones, sigen una estructura lógica de búsqueda, pues una persona cuando escriba en el buscador lo hará seguramente de la siguiente forma: venta de perros en Barcelona y de forma menos probable, Barcelona, venta de perros.

//Opción 2

//Venta perros Madrid
www.tumascota.com/venta/perros/madrid/
www.tumascota.com/venta/gatos/madrid/

//Venta perros Barcelona

www.tumascota.com/venta/perros/barcelona/
www.tumascota.com/venta/gatos/barcelona/

//Comida perros Madrid
www.tumascota.com/comida/perros/madrid/
www.tumascota.com/comida/gatos/madrid/

//Comida perros Barcelona

www.tumascota.com/comida/perros/barcelona/
www.tumascota.com/comida/gatos/barcelona/

Es otra variante de la primera opcion. En este caso en lugar de dos parametros, tenemos 3. Tantos como directorios. Para nosotros son válidas las dos opciones.

//Opción 3

//Venta perros Madrid
www.tumascota.com/perros/venta/madrid/
www.tumascota.com/gatos/venta/madrid/

//Venta perros Barcelona

www.tumascota.com/perros/venta/barcelona/
www.tumascota.com/gatos/venta/barcelona/

//Comida perros Madrid
www.tumascota.com/perros/comida/madrid/
www.tumascota.com/gatos/comida/madrid/

//Comida perros Barcelona

www.tumascota.com/perros/comida/barcelona/
www.tumascota.com/gatos/comida/barcelona/

Otra opción es potenciar, las keywords más especificas de nuestro sitio, por delante de otras más genéricas como venta y comida. Quizás la estructura lógica no sea la más utilizada, pero puede funcionar. Más teniendo en cuenta que en las páginas trabajaremos sobretodo las palabras, venta perros y venta comida perros de forma conjunta.

Activar las Friendly Url

Para activarlas por ejemplo en apache, tan solo tenemos que ir al archivo .htaccess y colocar el siguiente código:

//Activamos las friendly urls
RewriteEngine On

Una vez activadas, ahora debemos recoger los directorios como parametros. Para ello tenemos que poner, por ejemplo, el siguiente código

#Recogemos las urls, con un solo parámetro (1 directorio)
RewriteRule ^([a-z0-9_-]+)/?$ dispatcher.php?q1=$1 [QSA]
RewriteRule ^([a-z0-9_-]+)/$ dispatcher.php?q1=$1 [QSA]
RewriteRule ^([a-z0-9_-]+)$ dispatcher.php?q1=$1 [QSA]
RewriteRule ^([a-z0-9_-]+).html$ dispatcher.php?q1=$1 [QSA]

#Recogemos las urls, con dos parámetros (2 directorios)
RewriteRule ^([a-z0-9_-]+)/([a-z0-9_-]+)/?$ dispatcher.php?q1=$1&q2=$2 [QSA]
RewriteRule ^([a-z0-9_-]+)/([a-z0-9_-]+)/$ dispatcher.php?q1=$1&q2=$2 [QSA]
RewriteRule ^([a-z0-9_-]+)/([a-z0-9_-]+)$ dispatcher.php?q1=$1&q2=$2 [QSA]
RewriteRule ^([a-z0-9_-]+)/([a-z0-9_-]+).html$ dispatcher.php?q1=$1&q2=$2 [QSA]

#Recogemos las urls, con tres parámetros (3 directorios)
RewriteRule ^([a-z0-9_-]+)/([a-z0-9_-]+)/([a-z0-9_-]+)/?$ dispatcher.php?q1=$1&q2=$2&q3=$3 [QSA]
RewriteRule ^([a-z0-9_-]+)/([a-z0-9_-]+)/([a-z0-9_-]+)/$ dispatcher.php?q1=$1&q2=$2&q3=$3 [QSA]
RewriteRule ^([a-z0-9_-]+)/([a-z0-9_-]+)/([a-z0-9_-]+)$ dispatcher.php?q1=$1&q2=$2&q3=$3 [QSA]
RewriteRule ^([a-z0-9_-]+)/([a-z0-9_-]+)/([a-z0-9_-]+).html$ dispatcher.php?q1=$1&q2=$2&q3=$3 [QSA]

¿Que significa este código?¿Ahora hay que aprender chino? No os preocupéis, es muy fácil y siempre lo mismo.

Las tres primeras lineas significan que cualquier texto que forme parte del primer directorio se posa como valor del parametro GET q1 a la página dispacher.php. Es decir, en el caso del sitio de mascotas:

  • www.tumascota.com/contacto/ o www.tumascota.com/contacto o o www.tumascota.com/contacto.html, se pasaría la palabra "contacto como" valor del parametro GET q1 a dispacher.php. Seria lo mismo que poner en el navegador: dispacher.php?q1=contacto
  • www.tumascota.com/comida-integral-perro-grande/ o www.tumascota.com/comida-integral-perro-grande o www.tumascota.com/comida-integral-perro-grande.html, se pasaría la palabra "comida-integral-perro-grande" como valor del parametro GET q1 a dispacher.php. Seria lo mismo que poner en el navegador: dispacher.php?q1=comida-integral-perro-grande

Las tres primeras lineas, solo se ejecutan para urls con un solo directorio.

Para dos directorios ejecutamos las 4 siguientes lineas y para 3 directorios las 4 últimas. Y asi sucesivamente.

Por lo tanto tenemos que colocar la cadena ([a-z0-9_-]+), tantas veces como directorios queremos tratar y el mismo numero de parametros.

Artículos relacionados