Introducción a .htaccess y a las URLs amigables a buscadores

  • Por
El archivo .htaccess sirve, entre otras cosas, para mejorar la promoción de tu web. Con él se pueden definir redirecciones de URLs amistosas para buscadores hacia URLs con paso de parámetros.
Algunas URL son mejor consideradas por los motores de búsqueda tipo Google que otras. Esto ya lo habíamos comentado en nuestro manual de promoción web. Por ejemplo, URLs como estas no son muy atractivas para la promoción de las páginas:

www.dominio.com/articulos/muestra.php?id=23
www.dominio.com/pueblos/pueblo.php?nombre=torrelodones

Aunque una URL con parámetros tenga contenidos específicos, los buscadores no las puntúan tan bien como si fueran los mismos contenidos con URLs sin paso de parámetros.

www.dominio.com/articulos/23.php
www.dominio.com/pueblos/torrelodones.php

Incluso, la dirección del artículo 23.php, podría ser mejor si incluyese en la propia URL alguna palabra clave, por ejemplo, si el artículo hablase sobre coches antiguos, una dirección mejor sería:

www.dominio.com/articulos/coches_antiguos.php

Referencia: en nuestro manual de posicionamiento en buscadores explicamos con detalle las ventajas de utilizar URLs amistosas a buscadores.

Al ver una URL como esta, parece como si en el servidor web, en el directorio articulos tuviéramos un documento llamado coches_antiguos.php. En principio tendría que ser así para que esta dirección fuese correcta y no arrojase un error 404 de página no encontrada. Ahora imaginemos que tenemos cientos o miles de artículos. Entonces deberíamos que tener dentro del directorio articulos sus correspondientes cientos o miles de archivos. Esto no es muy óptimo de cara al mantenimiento de la página, porque cada vez que se publica un artículo se debería crear el correspondiente archivo en el servidor, en el directorio adecuado.

Puede que ya sepamos acerca de esta idea de las URLs amistosas para buscadores, pero ahora vamos a comentar sobre cómo realizarlas ayudándonos del archivo .htaccess y la instrucción RewriteRule. Con ello podemos crear URLs fácilmente en el servidor sin que se correspondan con documentos que tengamos en la propia estructura de directorios. Es decir, Apache será capaz de servir URLs que realmente no existen en el servidor, haciendo la redirección a otros archivos y procesando mediante PHP, u otro lenguaje de programación compatible, para mostrar unos contenidos u otros dependiendo de la URL que se está intentando acceder.

La inclusión de palabras clave dentro de las URLs y conseguir evitar el paso de parámetros, todo mediante el htaccess, es una técnica cada vez más usada, que debemos conocer y utilizar para que nuestra página sea fácilmente promocionable en buscadores.

El .htaccess es un archivo de texto propio de Apache, que se coloca en cualquiera de los directorios de publicación del servidor web y afecta al directorio donde esté colocado y a todos sus subdirectorios. Con .htaccess se pueden configurar muchos temas variados para esos directorios, sin tener que tocar el archivo httpd.conf de Apache, que es donde se guardan las configuraciones generales del servidor.

Nosotros vamos a explicar el uso de la instrucción RewriteRule, aunque htaccess sirve para configurar otros muchos asuntos.

Se puede obtener más información sobre .htaccess en DesarrolloWeb.com:

El manual continúa con explicaciones prácticas y detalladas sobre el trabajo con htaccess.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

norma

31/12/2009
entendi todo esta claro y bien explicado pero surgieron algunas dudas
Yo he probado tu codigo creando mi archivo .htaccess pero mi duda es:

las variables que paso de una pagina a otra no son estaticas, sino que las consulto en la bd y una vez q obtengo el dato o id, ese id es el que paso por la url, por lo tanto no se como poner en mi .htaccess. por lo pronto lo puse asi y no funciona:

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^subcategorias/(.+).php sitioprueba/subcategorias-prueba.php?ID=$registro['ID_CATEGORIA']

$registro['ID_CATEGORIA'] esto es el id que obtengo de la consulta a mi bd

A demas utilizo un hosting para mi sitio web y bd, uso dreamhost, no se si esto afecte y de que manera, porque segun tienes que configurar el htpd.config o algo asi. Gracias estoy muy preocupada y no busco resolver estas dudas, ayudenme please!!!!!!!!

Joseph

17/8/2010
Problema con la Página de inicio de Mi Sitio
Hola a todos,
Mi problema es el siguiente:
Hace poco instalé una sala de chat en mi Sitio (http://www.librosparadescargargratis.com),para ello cree una nueva página en el escritorio de wordpress llamada sala de chat, donde pegué el codigo que obtuve después de registrarme en "Chatango", después de publicar la página recientemente creada ¡oh sorpresa! se transformó en mi nueva página de incio, cada vez que quiero ingresar con http://www.librosparadescargargratis.com me dirige a http://www.librosparadescargargratis.com/sala-de-chat
Ustedes saben cuál podría ser el problema, yo he configurado en elñ escritorio de wordpress:
Ajustes -> escritura -> Ajustes de lectura -> La página inicial mostrará -> Una página estática ->Página inicial: PRESENTACIÓN (esta es la página que debe salir cuando escribo http://www.librosparadescargargratis.com y no la de la sala de chat)

GRACIAS POR SU AYUDA...

lucio

26/7/2015
sin resolver
hola a todos, he estado investigando esto del archivo .htaccess y sigo sin hacerlo funcionar en mi página. La página está diseñana en html y el index es en html y no php, pero sigo sin resolver el tema de las url amigables, quisiera que cada foto saliera con su ruta, así como cada sección de la página como contacto, biografía, etc.

alguna sugerencia? muchas gracias!

el link de la página es: http://luciovega.com/