URL amigables para mejorar el SEO

En este artículo veremos que son y como utilizar las URL amigables.

El modo en que los sitios dinámicos pasan información de una página a otra suele ser añadiendo parámetros en la URL. Se generan así direcciones dinámicas dentro de un sitio que pueden parecerse algo a esto:

http://www.misitio.com/index.php?lang=es&cat=87&id=3755

El problema de las URL dinámicas

Url Amigables

Aunque muy prácticas (imprescindibles en algunos casos) estas direcciones plantean algunos problemas que deberemos tener en cuenta:

Desde el punto de vista del usuario resultan poco intuitivas, con lo que perdemos la oportunidad de conseguir que el visitante recuerde la página o que esta le de una idea del punto en el que se encuentra dentro de la arquitectura de la página.

Por otra parte, esto puede generar serios problemas en la indexación de la página. Muchos buscadores no son capaces de indexar estas URLs con variables, por lo que la saturación de páginas indexadas caerá drásticamente cuando utilicemos este tipo de URLs.

En otras ocasiones, el problema no es la indexación, sino la duplicidad que generan estas páginas. Lo veremos más claro con un ejemplo:

Supongamos una página multilengüaje: en inglés y castellano. Supongamos que ponemos una variable dinámica $lang, y dependiendo de su valor se cargará el texto de la página en castellano (si $lang=”es”) o en inglés (si $lang=”eng”).

Ahora bien, el diseñador web ha decidido que, cuando un visitante entre por primera vez (sin haber escogido un idioma (es decir, $lang no tiene valor aún), el idioma mostrado será el castellano.

Para los buscadores existen dos páginas idénticas. Esto incurre en una duplicidad de contenidos que, seguramente, acabará con la caida libre del sitio en el ranking de Google.

http://www.misitio.com/index.php

será identica a

http://www.misitio.com/index.php?lang=es

La solución: URL amigables

Una URL amigable es una URL que sustituye a aquella con un montón de parámetros y la convierte en algo inteligible, tanto para usuarios como para buscadores.

Así, una página como http://www.misitio.com/index.php?cat=muebles&art=sillaverde

sería sustituida por http://www.misitio.com/muebles/sillaverde

¿Cómo se generan URLs amigables?

De lo que se trata es de que cuando alguien solicite la página http://www.misitio.com/muebles/sillaverde, el servidor interprete que lo que tiene que mostrar es http://www.misitio.com/index.php?cat=muebles&art=sillaverde y se lo muestre a el usuario (visitante o robot de búqueda) de forma invisible.

El método que voy a explicar para conseguir generar estas URLs amigables supone que tengamos un servidor Apache y usemos PHP (lo cual es, por otra parte, la configuración más común) . Para ello vamos a editar el archivo .htaccess (que se encuentra en el directorio raíz de nuestro sitio)

Existen otrás maneras de conseguir URLs amigables, pero esta es, sin duda, la más extendida.

Lo primero que tenemos que hacer será asegurarnos de que en nuestro servidor tengamos habilitado el mod_rewrite en la configuración del PHP del servidor. Para comprobar si está habilitada puedes ejecutar un fichero php con el código:

<?php phpinfo(); ?>

Una vez que nos aseguramos de que nuestro servidor cumple los requisitos para utilizar URLs amigables, abriremos el fichero .htaccess para editarlo.

Lo primero que tenemos que hacer será añadir las siguientes lineas para habilitar el modo de reescritura de las urls:

Options +FollowSymLinks
RewriteEngine on

A continuación empezaremos a editar las reglas que ‘traducirán’ nuestras URLs.

No voy a extenderme demasiado en posibles sintaxis o variantes de direcciones que podremos resolver puesto que eso sería material para varios capítulos de un manual más extenso.

Sin embargo voy a explicar la ‘arquitectura’ básica de una regla de reescritura. Siguiendo el supuesto anterior:

Rewriterule ^(.*)/(.*)/(.*)$ $1.php/cat=$2&art=$3

Rewriterule indica al servidor que le va a definir una regla de reescritura al servidor

Los dos siguientes grupos representan la sitaxis de la dirección entrada (^(.*)/(.*)/(.*) $ ) y la estructura de la dirección dinámica ($1.php/cat=$2&art=$3)

Como podemos ver se han sustituido algunas partes de la URL dinámica por números precedidos del símbolo $. Esto es para indicarle que esas partes de la URL que hemos sustituido se utilizarán para la construcción de la URL amigable.

La url amigable se forma con expresiones regulares, que recomiendo encarecidamente que se revisen, puesto que son vitales para generar URLs amigables por este método.

Así, en este caso, se sustituirá el primer (.*) por el valor correspondiente a $1, el segúndo con el valor de $2,… y así sucesivamente.

Nuestra URL amigable quedaría de la siguiente forma:

http://www.misitio.com/muebles/sillaverde en vez de http://www.misitio.com/index.php?cat=muebles&art=sillaverde

Este no es más que un ejemplo sencillo, pero servirá de base para realizar otros muchos en distintos sitios dinámicos.

Para ampliar conocimientos sobre expresiones regulares os recomiendo:

 

Artículos Relaccionados:

About The Author

Related Posts

5 Comments

  1. Andrea Agosto 14, 2012
    • Jesús Pernas Alonso Jesús Pernas Alonso Agosto 14, 2012
    • Jesús Pernas Alonso Jesús Pernas Alonso Agosto 14, 2012
  2. Marcos Agosto 29, 2012
    • Jesús Pernas Alonso Jesús Pernas Alonso Agosto 30, 2012